Writing on the occasion of Amazon web services completing 10 years this March, Werner Vogels, CTO of Amazon.com, shared few important lessons Amazon learnt on its way to build a secure, scalable and reliable services. Amazon Web Services, a cloud services platform which today is the foundation of IT infrastructure of majority of business, be it a startup, SME or a government agency, is according to a reputed mainstream magazine “the piece of infrastructure which has enabled the current tech boom”.
Vogels writes that there is no dearth of opportunities to learn new lessons when you are in the process of building a service which is adding million active customers per month, who in turn may serve hundreds of millions of their own customers. Below are the 10 lessons he shortlists for the 10 years completed in the hope that this may be of use to others.
Lesson 1 – Build evolvable systems
Build flexible software which are open to receive new components in its architecture as often you need to scale as AWS understood, it would not be possible to upgrade the system during maintenance, since enterprises are dependent on its service 24×7.
Lesson 2 – Expect the unexpected
Failure is inevitable especially over time and when systems are made to scale where least probability of error will become realistic. One needs to build systems that envelop failure, as AWS developed a skill of managing the “Blast radius “of the failure so the overall health of the system is maintained.
Lesson 3 – Primitives and not Frameworks
AWS quickly realized that they need to be very agile since the way their customers would like to use their services was changing constantly. This made AWS to offer customers a wide collection of templates and tools to choose from instead of forcing them to use a single framework.
Lesson 4 – Automation is key
Operating a software service as AWS does especially at that scale requires a different mindset as it is very important to assure customer of reliability, performance, and scalability. This AWS achieves by automating the management process as much as possible.
Lesson 5 – APIs are forever
As AWS is a API- centric business where customers build their applications and systems using AWS ‘s APIs, AWS has to get the APIs right the first time around as changing that subsequently would have impacted their customer’s businesses.
Lesson 6 – Know your resource usage
Good data about the cost of operations and service especially when at very high volumes is very necessary to settle on a robust charging model, at AWS, the charging model accommodates for all dimensions of resource usage to make it a sustainable business model.
Lesson 7 – Building security from ground-up
Securing your customers business should be of critical priority as it is for AWS, the security is very much integrated at the design of the service model for AWS.
Lesson 8 – Encryption is the key
Empowering customers to have full access to their data is of very critical importance. At AWS they make it easier for customers to use encryption and its mechanism is integrated at a design phase itself.
Lesson 9 – The importance of network
In light of the fact that AWS supports varying workloads, it has developed a unique skill to build data center layout and design so that customers need to meet varying workloads is achieved by providing a flexible network infrastructure
Lesson 10 – No gate keepers
Very Important aspect of AWS is there are no gate keepers to tell what one can do or not do, which keeps it very open to innovation, as a result it has different customers building platforms on AWS themselves to meet very specific needs of a business vertical.
Coming from AWS, this probably becomes A Gospel for companies looking to build a cloud-based service. For more on this, please visit http://www.allthingsdistributed.com/2016/03/10-lessons- from- 10-years- of-aws.html
Keywords – Amazon Web Services, AWS, cloud-services, Werner Vogels