AWS Well-Architected Framework and Best Practices-
When you implement your infrastructure on AWS and follow the principles defined in AWS Five Pillars or the Well Architected Framework, you get the following benefits:
Build and deploy faster by reducing heavy lifting, implementing capacity planning and management, and using automation, you can test and R&D, and increase value of resources running into cloud more often.
Lower or mitigate risks Identify the week spots and realise places where you have risks in your architecture and fix the bugs in design or infrastructure before they impact your enterprise and baffle your team.
Make informed decisions Ensure you have standard and active architectural plans, designs and decisions that enlightens how they might impact your business success outcomes.
Implement AWS best practices Since you would play the pivot role and will be leveraging the AWS Well Architected Framework, the enterprise infrastructure you will come up with will have all the best design principles inherited in it.
In this blog, I will help you learn about the AWS Well-Architected Framework (WAF). (Note that WAF also refers to the AWS product Web Application Firewall, but in this Blog it means the documentation and architecture called the AWS Well-Architected Framework.) You’ll also learn about AWS best practices, designs, principles and how to use them on your architecture on day to day basis. Whenever you create a resource or build an architecture in AWS or release an application in AWS cloud, it is important that your design follows all the best practices of AWS Well Architected Framework. You desire that the architecture you designed be reliable, agile, secure, efficient, scalable, and cost-effective. Designing an architecture using AWS best practices and the five pillars can help one achieve their business goals and make their organization successful. When you are constructing a building or a bridge, if the said foundation is not built properly, then there a chance, is that the building may collapse or end up damaged in some way over time. Similarly, whenever you are defining an architecture in AWS, you must design properly or simply construct the foundation carefully, which means adopting the principles of the AWS Well Architected Framework into the design principles of the enterprise cloud infrastructure. By using the AWS Well-Architected Framework, one can be confident and sure that the architecture defined has all the best practices built in. This Blog focuses on AWS Well Architected Framework and the various principles behind the Well Architected Framework. The AWS Well Architected Framework has the following five pillars:
- Operational excellence
- Cost optimization
All the above mentioned pillars follow a systematic design principle, followed by best practices for each pillar in AWS.
Operational excellence is described in terms of how one is able to deploy an infrastructure to support the business. If you have trained and prepared your operations team to support the business SLAs, you are on the right path. It is necessary for your operations team to understands the business’s needs, priorities, goals and metrics so that it delivers according to the demand and changing needs of the business.
Businesses may run several kinds of applications on AWS cloud. Some of those applications might be extremely critical, while the others won’t be. The support team should have a vision to differentiate in-between critical applications over lesser critical or noncritical applications and use appropriate tools and strategies at right timing and should be able to support accordingly.
Following are some of the design principles for achieving operational excellence with success in the cloud:
Perform operations as code With IaaC or Infrastructure as a Code one can document the deployment or change and updates to the infrastructure in the form of code. With services on AWS Cloud such as Cloud Formation one can play and research and possibly develop code for almost all the tasks. With such options, one can, not just achieve agility in their daily routine operations, but can do them with extreme precision in the first attempt avoiding human errors in manual deployment.
Document everything All events and procedures and best practices should be documented. If you make changes to the infrastructure, even if the change is a minor correction, the details should be documented in the relevant system in a timely manner.
Push small changes Avoid larger changes to system, rather make frequent and small reversible changes, as something crashes due to changes is easily reversible. Failure caused due to large changes can be disastrous, while any failure due to a small change is easily recoverable. Small changes are also easily performed and also system rollback can be simple.
Refine operating procedures often Operations team should keep track on the changing trends of the business and adopt accordingly. Infrastructures needs to evolve and get updated with this changing trends. For example, today you need only one web server to host your web application. During maintenance activity, one needs to apply the updates or the bug fixes only on one server. But let’s imagine in future, if you expand to multiple web servers, let’s say ten servers, you need to refine your respective procedures to ensure that you will apply the updates or the said bug fixes on ten different servers and not the one server as in early case.
Anticipate failure one should never wait for an actual disaster to occur. Operations teams should be prepared with an action plan for the failure event. There should be mock drills and the teams should stimulate failure events rehearsing the preparedness of an actual failure. For example, in an infrastructure with a multi-node cluster, a perpetual failure of one or two servers will demonstrate the response of the cluster and this should also evaluate the preparedness of the team and the design of the architecture.
Learn from the operational failures In a well architected enterprise, any new failure should be thoroughly investigated for the cause and potential future chances of repeating its self again. Proper measures should be in place for avoiding such failures again in future. One should always share their experience from a failure event with the team members and other teams and should also learn from failures experienced by others.
In my following blogs, I will be describing the remaining pillars from the AWS Well Architected Framework. Please share your valuable feedback and suggest me a topic if you want me to write on any similar subject.
| SevenMentor Pvt Ltd.
© Copyright 2021 | Sevenmentor Pvt Ltd.