Designing Cloud Solutions Doesn’t Have to be a Daunting Task
Part 1 — Introduction to the Architecture Framework
Carol B. Hernandez, Ph.D., Cloud Solutions Architect, IBM
Doug Eppard, Cloud Integration Architect, IBM
A Daunting Task
Evaluating options and designing a suitable architecture for end-to-end, interoperable enterprise cloud solutions can be a daunting task. All the benefits that cloud computing provides also presents some of its largest challenges when attempting to architect solutions.
We’ve had family, friends, and co-workers who have completed marathons and Ironmans and have asked them, “how does one even begin to prepare for such a daunting task; a marathon (26 miles), much less an Ironman (140 miles)?” Their response is amazingly simple: use a structured approach to your training and preparation. Start small and build iteratively off that anchor through a series of structured training principles, methods, and adaptive training loads. A similar approach can be applied to design cloud solutions. Using this analogy, the small and simple anchor for creating cloud architecture solutions is the Architecture Framework introduced in this blog; the methods and iterative build will be explained in subsequent blogs.
Cloud Solution Architecture can be thought of as a multi-dimensional matrix, as illustrated in figure 1. There are several deployment models, design aspects, application workloads, and service management considerations, all which need to align with your business drivers and requirements. The picture gets even more complicated when you add the plethora of offerings provided by each cloud provider.
…But what if there was a consistent approach to design cloud solutions for enterprises?
To address these challenges, we have created the Architecture Framework for Cloud Solutions or Architecture Framework for short.
The Architecture Framework is a structured, technology agnostic, enterprise architecture approach, inspired by the technology layer of the TOGAF model. It can be used as a guide to provide a consistent approach to architect hybrid, multi-cloud end-to-end solutions based on your requirements.
This is part 1 of a 3-part blog series which will discuss:
1. Introduction to the Architecture Framework
2. How to use the Architecture Framework to create fit-for-purpose Cloud Solutions
3. Creating a Reference Cloud Solution Architecture based on the Architecture Framework
Understanding the Architecture Framework
The Architecture Framework defines a technology-agnostic and cloud-provider-agnostic taxonomy of “aspects” and “domains” that can be used to develop reference solutions or patterns for specific platforms or applications on any target cloud deployment, be it private cloud, public cloud, hybrid cloud, or multi-cloud. Figure 2 illustrates the hierarchy of the Architecture Framework.
Architecture Framework Aspects and Domains
The Architecture Framework aspects and domains are shown in Figure 3. The aspects are shown in column 1 and cover the different layers of the solution stack, from IT infrastructure through the application, as well as non-functional requirements and operational aspects. The domains for each aspect are shown across columns in the row corresponding to the aspect. Enterprise Cloud Solutions need to address requirements across the various aspects and domains contained in the Architecture Framework.
Aspects
Aspects are architectural areas that need to be considered for any enterprise solution. Each aspect can have one or more domains.
Most of the aspects — Compute, Storage, Networking, Security and Resiliency— are self-explanatory since they describe either the IT environment or common non-functional requirements that are table stakes for any enterprise solution. The application aspect includes application workload types and can be extended to include additional workloads. The Data aspect covers common application data requirements. The DevOps and Service Management aspects cover the operational aspects of the solution. The Managed Services aspect captures professional services provided by third-party service integrators or service providers to help enterprise customers design, migrate, deploy, or manage workloads.
Domains
Domains are the capabilities or functions within an aspect. Let’s look at some examples. In the Data aspect, the Application Integration domain covers messaging, stream processing, and API management functions. The Databases domain includes various database types, e.g. SQL and NoSQL. Under the Networking aspect, Enterprise Connectivity refers to connections required between various IT environments in hybrid and multi-cloud deployments. Cloud Native connectivity refers to connections to Platform as a Service (PaaS) provided by Cloud Service Providers. Data Security, Identity and Access Management, and Application Security are functions contained in the Security aspect.
Each domain contains a set of component options available to meet solution requirements which is described later and in subsequent blog posts in this series.
Components
Components are technologies or product offerings that can be used to satisfy the solution requirements. The component options for each domain are determined by the target Cloud Deployment Model and Cloud Service Provider under consideration. Figure 4 shows examples of cloud deployments and cloud service providers.
For example, Direct Link 2.0 and VPC VPN Gateways are Enterprise Connectivity components on the IBM Cloud. Figure 5 illustrates component options for the Containers domain across various Public Cloud Service Providers. Note that this is just a sample and not a comprehensive list of available services on each cloud provider. How to make component architecture decisions for your solution will be covered in part 2 of this blog series.
Why use the Architecture Framework?
The Architecture Framework enables a more consistent approach to solutioning across the breadth of your Cloud portfolio, which in turn decreases the solution process time and delivery risks. It also provides the structure to create reusable, repeatable solution architecture references and guidance. This leads to the standardization of enterprise cloud solution design and the avoidance of one-of-a-kind snowflake solutions that are expensive to deploy, enhance, and maintain.
The Architecture Framework can be used as a guide to ensure you have considered applicable requirements for each aspect and domain. Once you have identified the applicable requirements, you can evaluate and select the best fit-for-purpose components for your enterprise cloud solution.
In the next blog we will continue the discussion on “How to use the Architecture Framework to create fit for purpose Cloud Solutions”.
Learn more
- Distributed Cloud vs. Hybrid Cloud vs. Multicloud vs. Edge Computing (Part 1).
- Designing Cloud Solutions Doesn’t Have to be a Daunting Task: Part 1 — Introduction to the Architecture Framework
- Designing Cloud Solutions Doesn’t Have to be a Daunting Task: Part 3 — Creating a Reference Cloud Solution Architecture based on the Architecture Framework
- IBM Cloud Architecture Center
- TOGAF