Multi-Cloud Architecture

by Douglas Bernardini

Cloud providers have been innovating at a great speed and continuously releasing new services and features. You have multiple services to do the same thing. Also, you have a number of ways to design and architect your applications and workloads using different services, features and patterns. A growing list of options is increasing the complexity in designing and architecting a cloud application.

Furthermore, different cloud architects can come up with a completely different architecture for the same business requirement. There is no definite and consistent way to confirm if the architecture meets the needs of modern business applications such as security, reliability, performance. As your business grows or change over time, your workloads need to scale and adapt to the new business requirements, which adds considerable overhead and complexity to your technology architecture.

Fortunately, the three hyperscale cloud providers have realized this growing complexity. All three: Amazon Web Services, Microsoft Azure and Google Cloud Platform (GCP), have come up with a cloud architecture framework for their respective clouds.

These cloud architecture frameworks provide architecture guidance, design principles, best practices, and additional tools and resources for designing and operating applications in the cloud. Interestingly, all of them are based on common architectural pillars.

The three major providers are recommending these common pillars for a well-architected application. You should also have measures and processes in your organization to ensure that your cloud architects are designing and reviewing applications based on these pillars.

In this article, you will find details about the cloud architecture framework for the three largest providers: AWS, Azure and GCP. They also provide related tools and frameworks. You will learn about the complete landscape of frameworks and tools, and what features they provide. You can use this information to strategize how you want to leverage these frameworks and tools in your organization.

In the second part of this article (that will be published later), I’ll get deeper into why all the providers chose exactly the same pillars in their frameworks. What is common among them, how to use them in your applications, and what can you do to take full advantage of them for your organization’s specific business needs.

The three hyperscale providers (AWS, Azure and GCP) provide different types resources such as frameworks, tools and add-ons to help you adopt cloud, and design well-architected cloud applications. Most of these resources use common pillars, to categorize their guidance and recommendations.

Common Pillars
Cloud architecture frameworks from all three providers are based on five common pillars:

  • Cost Optimization
  • Operations Excellence
  • Reliability
  • Performance Efficiency
  • Security

Architecture Frameworks

The architecture frameworks are the core foundation of the landscape. They provide a set of guiding tenets to build high-quality, secure, high-performing, resilient, and efficient cloud applications and workloads. You cannot have a single approach for designing an architecture that would fit all kinds of requirements. However, there are some general concepts that will apply regardless of the architecture, technology, or cloud provider. Hence, they help you to formulate a consistent approach to evaluate and implement cloud architectures. They provide guiding principles and best practices, which are categorized across five common pillars, Cloud CORPS.

It is not just the pillars that are common across the frameworks, in fact, the two providers (AWS and Azure) have named their frameworks exactly the same: Well-Architected Framework. Though GCP named it differently: Google Cloud Architecture Framework. GCP also has slightly different names of some pillars. The company engineers call Security pillar as “Security, privacy, and compliance.” And, they have combined “Performance Efficiency” and “Cost Optimization” pillars into one and call it as “Performance and cost optimization.”

It is interesting to know a lot happened on architecture framework in the last year (2020). Google launched their cloud architecture framework in May 2020. AWS released the eighth version of its Well-Architected framework in July 2020. They had released it initially in 2015, which was the fourth version (as the first three versions were internal). Microsoft also launched their Azure Well-Architected framework in July 2020. They kept the framework name as well pillars name exactly as in AWS.

Architecture Framework Tools

AWS and Azure also provide tools to evaluate your workloads and applications against the latest guidance provided by their well-architected frameworks. These tools are assessment questionnaires where you provide answers to many questions under each pillar. The questions have multiple-choice options. Based on your answers, the tool provides you recommendations with a detailed description and a list of resources to implement those recommendations. I expect that Google would also be releasing a similar assessment tool soon.

Architecture Framework Add-ons

Add-Ons extend the guidance offered by the base architecture framework to specific industry and technology domains, such as machine learning, analytics, serverless, high-performance computing (HPC), IoT (Internet of Things), and financial services. You can add the applicable add-ons to evaluate your workloads completely. At this point, only AWS offers such add-ons, called AWS Well-Architected Lenses. Considering that AWS added the lenses to its well-architected family in their sixth version, I expect other providers also to release similar add-ons in their future releases.

Advisor Tools

AWS and Azure also have related tools called AWS Trusted Advisor and Azure Advisor, respectively. The architecture framework tools depend on you to provide answers to generic assessment questions to offer recommendations, which are also generic in nature. On the other hand, the advisor tools do not depend on you. They scan, inspect and analyze your deployed workloads and offer personalized and actionable recommendations, which are specific to your deployments. The recommendations are categorized into different areas, which are either the same or related to pillars. While Google does not provide such a tool at present, I expect it to release one in the future.

Cloud Adoption Frameworks

The architecture frameworks assume that you already have adopted cloud in your organization and hence focuses primarily on designing and operating your workloads successfully. Hence, their key target audience is cloud architects, engineers and developers. However, if you need guidance on how to adopt cloud in your organization to realize the maximum benefits, all three providers also have their ‘Cloud Adoption Framework.’ Google also provides a cloud maturity assessment survey as part of their adoption framework. The cloud adoption frameworks help you identify key cloud adoption activities, gaps and objectives in terms of people, technology and processes. They provide best practices, documentation, and tools to help you create and implement the business as well as technology strategies necessary for your organization to succeed in the cloud. Hence, their key target audience are cloud architects, IT professionals and business decision-makers.

The two types of frameworks, the architecture and adoption frameworks are interconnected. The cloud adoption frameworks help at three high-level strategies: business, platform and workloads. The architecture frameworks can be considered as part of the adoption framework at the workload strategy level.

Leveraging the Cloud Landscape

The three cloud providers released these different types of resources in the Cloud CORPS landscape at different times in a disjoint manner. However, as most of these are based on basic CORPS pillars, I expect them to become more integrated and connected with each other in the coming months. Microsoft has already started doing that. Their Azure Advisor tool provides recommendations categorized exactly as per CORPS pillars. Their adoption framework refers to a well-architected assessment. I expect AWS and GCP may follow similar approaches to provide consistent connections among all these resources.

As a cloud professional or business owner, it is important that you understand the different types of resources in this landscape to ensure the success of your cloud journey and investments. You should also understand the relationship between them, and how and when to leverage them in your cloud journey. Even when you are targeting just one cloud for your organization or application, it is worthwhile to look at frameworks and guidance from the other cloud providers to see if there are additional aspects that you can leverage. For example, GCP does not have an architecture framework assessment tool at this point. If your application is deployed in GCP, you can still use questionnaire from Azure or AWS, as many questions are around processes and general architecture guidance, and are agnostic to the cloud provider. Even if there are recommendations about using a specific cloud service, you should be able to find the equivalent one in GCP. Similarly, Azure and GCP do not provide domain-specific add-ons at this point. If your application is deployed in these clouds, you can still leverage AWS Well-Architected Lenses for general guidance on those domains.