Public cloud providers like AWS, GCP, Azure offer a wide range of services helping to build a robust infrastructure in the cloud. That's why companies that adopt cloud computing right away have the opportunity to use all perks like HPC, microservices, serverless computing, ci/cd - everything that DevOps best practices require for building a well-architected infrastructure.
You can refer to the AWS guide, where they provide a detailed description of the concept of the well-architected framework. This concept allows developers to create a reliable, secure and highly efficient infrastructure for your software/application. Briefly, this concept includes the optimization strategy of 5 main points to achieve excellence:
It concerns automation, daily operations management, and disaster recovery scenarios. Without having properly business processes established, there is a big chance to stumble over the pitfalls of poorly developed infrastructure even if you have a team of top-notch developers. The reason for this is poor communication and the absence of tactics plan in case if something goes wrong. So the task #1 is to optimize the business processes.
this principle focuses on data security and confidentiality, user's role management, and indication. Security is the most important thing to consider when developing architecture from scratch.
This concept helps prevent failures and, if any, swiftly recover from a disaster. If you follow the advice, you get 99% service availability and happy customers.
this framework provides tips on how to use your IT resources wisely. It concerns mostly the issues of how to choose the right tech stack, calculate workload, monitor the efficiency, and making data-driven decisions.
- cost of the infrastructure maintenance
The most important part for a newly established company. Learn how to analyze your spendings over time and how to plan a budget.
Well architected is not only an approach to development, it's also about business processes optimization. That's why you need a team lead or CTO. It is critically important to have a professional with corresponding experience and knowledge, who will understand the platform and take over the responsibility for decissions on its tech stack and communication with stakeholders (or business executives).