Amazon AWS is the leader in Cloud provider marketspace. AWS started out with IaaS but have also become a PaaS player now. Amazon’s services extends Computing, Storage, Database, Analytics and Application services. There are multiple granular services under each of the above categories. The best way to get familiar with the cloud services is by trying them out. AWS has an excellent 1 year free tier program where users can try AWS services. The free subscription is with the smallest performance VM and it cannot be used for business purposes, but its a great tool to experiment and get familiar. I could not find the free option with Google compute engine. With Microsoft Azure, they have 1 month trial option.
The only thing that I did not like about AWS free tier is the fact that a valid credit card information needs to be provided. If you are not careful, it is easily possible to exceed quotas of free limit and the credit card will be automatically charged. 1 approach to avoid this is by using AWS alert service with specific threshold where you will be notified when usage exceeds a threshold. I use a 0$ threshold so that I get notified when I will be charged.
Under compute category in AWS, common services are EC2, Elastic load balancer, VPC, Auto scaling.
- EC2 – Allows for custom VM with specific cpu performance and memory. Also comes pre-loaded with OS of choice. There are some VMs with pre-loaded database, webserver etc.
- Auto scaling – Scale VM horizontally or vertically based on VM usage. For example, we can set a threshold that when cpu usage exceeds 90%, we can spawn additional VM.
- Elastic load balancer – Load balances requests to multiple VMs.
- VPC – Virtual private compute service – Get more control over ACL, Subnet, Security groups using which different access mechanisms are available for different resources.
Under Storage category in AWS, common services are Elastic block storage, S3.
- Elastic block storage – This is equivalent to network attached storage or SAN. In this case, the storage is not attached to VM and it survives even when VM is gone. There is also an instance storage option that ceases to exist when VM is removed.
- S3 – S3 is an object based storage mechanism. Compared to Elastic block storage, access latency is more with S3.
Under database category in AWS, both SQL and NoSQL types of databases are provided.
There is also AWS marketplace where partners sell applications, Operating system, databases, Network infrastructure software.
AWS services can be accessed using:
- AWS console – Web based interface
- AWS cli – downloaded as an application
- AWS sdk – sdk is provided by AWS for different programming languages.
More details on accessing AWS services in the next blog.
I have covered only the major services above. There are many more services that Amazon provides and they keep coming up with new services at a very rapid pace.
I found the following picture that gives a highlevel overview of different AWS services. AWS started with foundation services, seems to be moving more and more into the Application services domain recently.