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.
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:
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!