AWS Case Study: Caelum

Paulo Silveira, Training Director at Caelum, explains how the company has benefitted from using Amazon Web Services (AWS):

Caelum

Hi Paulo, briefly tell us about your business.

Caelum is the largest tech training company in Brazil. Founded in 2004, we currently have more than 60 employees, distributed through São Paulo, Rio de Janeiro, and Brasilia. We focus on Java and Rails training and consulting, through the use of agile methods and practices.

As the Training Director, I head up new training initiatives and our e-learning platform. The platform is meant to bring the high quality training practices that we have developed since 2004 to the web. It’s about bringing real learning and best practices to students that are not able to fly or attend scheduled classes. The platform has users throughout Brazil and internationally already; it is available in English and Portuguese. All of the courses are currently in Portuguese, but can be easily translated into other languages. Students are able to watch, practice, exercise, review, share and get feedback from teachers and other users. Everything is done in one place and asynchronously.

Caelum changes the way people teach online. In its first 5 months the platform achieved 500 paying customers and 2,000 trials with a 10% conversion rate.

How have you incorporated Amazon Web Services as part of your architecture? What services are you using and how?

Our e-learning platform is deployed using AWS. We are using Amazon EC2 for web servers and background scheduled services, Amazon S3 for storing images and movies, Amazon CloudFront for delivering movies, and Amazon SMS for communicating with the clients. Every single product has proved to be a robust solution that has allowed us to cut down our time-to-production.

What programming languages and/or tools did you use to build this solution?

On the server side we use Java, Ruby and Scala. On the client side most of the code is Javascript. The web instances are simple Ubuntu servers with a configured Apache (for caching) + jetty. This easy installation allows us to replicate the machine (using a one-click-customized image) in a few clicks.

There is no distinction between using Java or Scala in production since the Scala code is compiled to Java classes in build time. But AWS is allowing us to run the Ruby code in different machines and communicate through web services and REST. All of those languages could be chosen to fit the part of the software that would help the development team. For example, contributors can provide code in any language they want, but they already have a framework for plugins in Ruby.

Why did you decide to use AWS?

AWS offered us a better and more flexible solution than our previous cloud experience with Google App Engine. When we initially switched to AWS, we expected to experience a few difficulties because we would be responsible for determining how many instances to use and choosing between instance types. However, we were pleasantly surprised to find that AWS proved to be really simple to use. We found that the platform was equipped to do so many more things for us than we originally anticipated.

How has AWS helped your business?

Being able to turn on a machine with a single click is a huge asset for our company. We do advise that others getting started with AWS take the time to learn about all of the options the AWS platform provides first. We were able to run processes in much less time by parallelizing them in even more machines than we did in our previous host solution. While we were required to pay monthly for machines that were not used most of the time, now we pay less for more machines that accomplish the task faster. There are so many things that the platform can do for you.

Can you share any metrics on your usage of AWS to date?

We’ve moved many of our servers to online services and already use a lot of Software as a Service (SaaS) and Platform as a Service (PaaS) solutions. Using AWS allowed us to move from common host services to pay only for what we use. For example, our build system fires several machines for parallel end-to-end test execution. Previously, it required a full subscription for 4 machines, but now it can run 6 machines in two thirds of the running time and we only pay for the time used. Once we had statistics on how much time we needed a machine monthly, we were able to reserve those instances accordingly and pay even less. Although it is not the number of users that boomed, it is the execution time and cost that were minimized. We could run even more machines and faster.

Do you have any future plans to incorporate other AWS solutions?

Yes, we have incorporated Amazon RDS in support of our new company, an online publisher/publisher on demand business. Amazon RDS will also be used as soon as our e-learning platform starts being sold to different entities (such as other e-learning companies). This should happen really soon - all we need to do is duplicate the database and the web servers and everything is up and running for a new customer.

To learn more, visit http://caelum.com.br/ This link will launch in a new browser window or tab..

Added May 3, 2012

Top









Security Whitepaper
Learn about our physical and operational security processes for network infrastructure.

whitepaper View Whitepaper (pdf)



AWS Customer News
Read the latest announcements about AWS customer success and innovation.

View Media Coverage

©2013, Amazon Web Services, Inc. or its affiliates. All rights reserved.