Features such as EC2, S3, EBS, Auto Scaling, Elastic Load Balancing, VPC (Virtual Private Cloud), RDS (Relational Data Service), Cloud Front, Cloud Formation, Elastic Bean Stack, etc., have been useful for the following reasons:
- EC2: Supports various operating systems, CPU configurations, helps to produce flexible computing power at affordable, customizable rates. You pay for only what you use. No need to pay for unused extra capacity. Build only what you need and pay for only what you use. It can help save tons of dollars in infrastructure cost.
- S3: Low cost, affordable, yet modern storage solution from Amazon.
- EBS: Low cost, yet fast storage solution. It helps to store the needed data in the quickly accessible storage. Also, it helps defending against DDOS attacks.
- Auto Scaling: Helps to quickly scale up, or scale down the capacity as needed. This would help in adding and/or removing computing capacity as per the need and helps reduce cost, yet provide a quick response as needed.
- Elastic Load Balancing: Helps to build redundant, waiting systems for which the demand can be routed as needed.
- VPC: Helps to define our own private cloud with marked input and output ports. Also helps in reducing the electronic footprint and defend against DDOS attacks. Helps to define the private cloud which will provide the needed security and privacy.
- RDS: Helps to dynamically manage the database services. Helps to independently select and/or switch among various database providers such as Oracle, SQL Server, MySQL, etc. RDS helps to free up administrators' time by automating tasks such as backup, maintenance, applying patches, scaling, and replication.
- CloudFront: Helps to define cache of data across various locations and helps to improve the latency of applications.
- Cloud Formation: This is the much needed tool for technical architects. Here one can define the technical architecture they need and play around with it until they get a working architecture. Then the working architecture can be copied, reutilized among different regions, business units, clients, etc. This saves cost and time, reduces errors, and improves efficiency. A much needed tool for administrators and architects.
- Elastic BeanStalk: Helps to rapidly deploy applications across various platforms such as Java, .NET, PHP, Ruby, Python, Docker, etc. It also handles load balancing, auto-scaling, and application health monitoring.
Improvements to My Organization
For one of the clients I worked with, it has provided excellent storage solutions and infrastructure for deploying Java and PHP based applications.
It has helped reduce the cost by rationing the computing power and paying only on a per usage basis, instead of provisioning unneeded, idle, or unutilized computing power that is used only at 20% of its capacity or time.
Additional funds saved can be used to develop applications that add value to the business. Also, its features, such as auto-scaling help to manage capacity automatically.
Another feature that we are fond of is the Cloud Formation tool. It helps to test and develop a working technical environment and replicate and modify it as necessary across various regions, clients, and business units.
Room for Improvement
Many of our clients prefer in-house cloud rather than the application data sitting in the infrastructure owned and managed by Amazon. They prefer in-house/hybrid cloud environments.
Use of Solution
We have been using the solution for two years.
We did not encounter any issues with stability.
We did not encounter any issues with scalability.
Customer Service and Technical Support
We have not used the technical support much. For the initial solution designing and PoC preparation, we contacted the sales and marketing team from Amazon. They were available and provided the necessary support.
We have used Azure and some other applications. We will continue to use them. We like keeping 2-3 vendors to have a healthy competition and see improvements in the products.
The initial setup was complex, as we needed to build the infrastructure from scratch. It would also require expertise in networking and security.
It is very important to safely manage the keys, as otherwise this would lead to costly security breaches. Some amount of playing around with the setup and replicating it via cloud formation will be needed until your architect becomes perfect with the tool.
Pricing, Setup Cost and Licensing
It is decently priced. The competition is also bringing its own cloud offerings, such as from Oracle.
Other Solutions Considered
We evaluated Azure, Apprenda, and Pivotal Cloud Foundry.
Some of our established clients are going with Azure, especially the ones who had established .NET VB environments. Those who need private in-house cloud are going with Apprenda or Pivotal Cloud Foundry. For small to medium customers, AWS offers a good choice and savings.
It depends upon the requirements and the regulatory compliance issues of the customer. For small to medium customers, AWS is a good choice. For Java, PHP based applications, AWS is a good choice. If you need to have your own private, in-house cloud, there are other options.
Disclosure: I am a real user, and this review is based on my own experience and opinions.