AWS Case Study: Chaordic Systems
About Chaordic Systems
Chaordic Systems is a Brazilian company that specializes in personalization. The company focuses on e-commerce, helping users find products that are most valuable to them, and helping retailers increase profits. Chaordic Systems collects data about users’ behavior, processes that data using advanced machine learning algorithms, and then personalizes the user experience through targeted service recommendations. Some of the biggest retailers in Brazil are Chaordic customers such Livraria Saraiva and Nova.com group (including Casas Bahia, Extra, and Ponto Frio e-commerce sites).
João Bosco, co-founder and CTO of Chaordic Systems, explains the challenges the company faced prior to signing on with Amazon Web Services (AWS): “We decided to work mainly with big retailers, with a lot of user traffic and many products. To truly scale the solution, we needed a system to be very fast, so users wouldn’t notice the difference between retailers’ content and ours. We needed a very robust solution that could handle a high workload and respond quickly, especially during peak times like Black Friday.”
Why Amazon Web Services
“The costs involved in building a data center to solve this problem were prohibitive, especially for a startup business with no income at the time”, continues Bosco, “Going to the cloud was the obvious decision to make.”
Chaordic Systems started looking for services that offer cloud solutions. Bosco states, “We were already fans of AWS for its innovative spirit, high quality products, and providing the infrastructure behind Amazon.com. AWS had the most stable and advanced cloud solution, so we decided to give it a try.”
Chaordic Systems currently uses AWS for almost everything including development. There is one server running within the company and everything else is on the AWS cloud. The following diagram illustrates the company’s main platform architecture:
Bosco outlines some of the ways in which Chaordic Systems uses AWS:
- Amazon Elastic Compute Cloud (Amazon EC2) with Elastic Load Balancing to conduct load balancing between instances
- Amazon Elastic Block Store (Amazon EBS) with some RAID volumes to increase I/O throughput in database instances
- Amazon Simple Storage Service (Amazon S3) for backups
- On-Demand and Spot Instance servers
- Different regions and Availability Zones including the US East (Northern Virginia) Region, US West (Northern California) Region, and São Paulo Region to maximize performance
The company’s main platform is written in Java and runs on Jetty, nginx, and HAProxy. It uses a local cache (Ehcache), a Cassandra cluster, some MySQL servers, and a cluster of Memcache.
The team also uses Python for scripting. Their tools for interfacing with AWS are written in Python and use primarily Amazon EC2 API tools. For monitoring, they use New Relic, Nagios, Ganglia, and Pingdom. They use Puppet and Amazon S3 to help launch instances.
Chaordic Systems has seen the following benefits from using AWS:
- The main platform processes more than 1 billion requests per month using about 25 xlarge instances.
- At peak times, Chaordic Systems processes about 70,000 requests per minute.
- Their platform generates 34 million recommendations per day.
Chaordic Systems appreciates the frequency with which AWS launches new products. Bosco says, “We always look forward to the next product release. I don’t think we would even have a business without AWS.”
To learn more about how AWS can help your web application needs, visit our Web Applications details page: http://aws.amazon.com/web-mobile-social.