Skip to content

The Mystery of Amazon Web Services

 April 2016

Hi, Jiawei is back again.

I have now been in Product DevOps team for two weeks. After spending the first week immersing myself in huge amounts of documentation and the second in real operations on Amazon Web Services, I now have a better understanding of cloud computing. At Accedo, we are using AWS to build and host our services like Accedo AppGrid. As a developer, it is nice to have some knowledge on the deployment process of the application. Then you can have a better understanding of the whole stack of the application. To share my understanding of AWS, the post this week is dedicated to it.

Amazon Web Services (AWS) is a cloud computing service which offers compute power, database storage, content delivery and other features to help businesses scale and grow. By now, there are more than 50 services available in AWS. Some of them are very popular and widely used by many companies (including Accedo). I will give a brief introduction to the services that you might be interested in.

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable computing capacity. It is used for creating servers in Amazon’s data centers, which can be used for building and hosting your software applications. It is the basement of many other services provided by AWS. The virtual servers in EC2 are called instances. EC2 provides many handy tools to manage the instances for you. For example, with Auto Scaling, you can launch your instances into a group. AWS will monitor the usage of the resources within the group. When your instances are overloaded (e.g. Large Crowd Events), AWS will add more instances to the group automatically. That is really an easy way to make your web application scalable.

Amazon Simple Storage Service (Amazon S3) provides secure, durable, highly-scalable could storage. Developers can store their static resources such as images, Javascript files, CSS files in S3. AWS also has a CDN service which is called CloudFront. It is a good partner of S3. Developers may use CloudFront to cache the static resources to the edge of the network. CDN brings the resources closer to the end user, thus, the end user will not suffer from the large latency of the network. It is a good way to improve the performance of web applications which is widely used in most of the mature systems on the Internet.

AWS CloudFormation enables systems administrators and developers to manage a collection of related resources provided by AWS easily. In simple word, you can create a template just like you create a class in Java. Then the template will be used as a blueprint to create the full stack of the services you need by AWS. With CloudFormation, you can create an autoscaling cluster with the Load Balancer and databases inside with only a JSON file (the template). It is really an awesome tool in AWS. If you want to master AWS, it is the most advanced tool you should check it out.

Amazon does a really good job in cloud computing. There are more awesome services in AWS than the ones I introduced in this post. Here are two more interesting services you may like to know:

1. EC2 Container Service
To run and manage your Docker Containers

2. Lambda
Run a function in cloud without worrying about the server

Personally, I am very interested in learning AWS since I am a technical guy with a background in distributed systems. I am really happy to be in the DevOps team given I have been curious about AWS for a long time. I believe that a good software developer, should not only know how to implement the business logic but also have the whole architecture of the system in mind.

Enjoy your weekend!

Stay in the Know

Sign up for Accedo's latest blogs straight to you inbox.

Pardot form (Text field + button)

By signing up I agree to Accedo’s Privacy Policy and Terms of Service