How to Reap the Full Benefits of the Cloud

How to Reap the Full Benefits of the Cloud

State of Cloud Transformation

Cloud computing supports several business and technical benefits like faster time to market, increased productivity, scalability, and agility. Therefore, many organizations give cloud computing a fundamental role in transforming their business, IT departments, application landscapes, and architectures for more than a decade. However, more and more organizations got stuck after taking their first steps into the cloud and many cloud-related projects encounter implementation challenges. Some organizations even think that the adoption of cloud computing is an activity that yields one-off benefits. In addition, the domain of cloud computing continuously evolves. The major providers of public cloud services regularly introduce new and innovative cloud services. Existing cloud services are continuously evolved and equipped with new functions and features. Yet, a lot of organizations struggle to catch up with the latest developments, which all bear the potential for further business and technical benefits as well as cost savings. As a result, an increasing number of organizations struggle to reap the full benefits of the cloud. Moreover, some organizations even face a decrease in benefits that they had achieved before. A few cloud providers recently increased the prices of their cloud services which led to major cost increases for their customers (see e.g. [1]). Other adopters of cloud computing are struggling with the quality of applications that they migrated to the cloud. Some applications are not performing well or have reliability problems. Others are too complex to operate, too costly, or the security team continuously identifies new issues. Consequently, business goals are not met, and the business and technical benefits of cloud computing are limited.

Perspectives of Cloud Transformation & Their Relationship to the Discipline of Architecture

Cloud transformation is an idea that involves the adoption of concepts, technologies, and services that are related to the domain of cloud computing. There are several perspectives on cloud transformation which can be seen as separate ways to reap the business and technical benefits associated with cloud computing (see figure 1).

Figure 1: Perspectives of Cloud Transformation

The different perspectives are interconnected, and cloud-related activities, projects, or programs (see endnote 1) typically stretch across several perspectives. Therefore, to reap the benefits of cloud computing, several perspectives of cloud transformation must be considered.

In the following sections, the perspectives of cloud transformation are described. In addition, a list of architectural concepts, practices (see endnote 2), and methods (see endnote 3), which can be leveraged within each perspective to identify, evaluate, and plan for the benefits of cloud computing, is provided. These concepts and practices should be considered as examples. Most of the referenced architectural practices and practices are taken from my Inventory of Architectural Concepts, Practices, and Methods (see endnote 4).

Building Cloud-related Knowledge & Skills

This perspective involves understanding the fundamental concepts of cloud computing. These include essential characteristics like on-demand self-service, resource pooling, rapid elasticity, and measured service (see [4]). The fundamental service models are Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and related variants. Moreover, different implementation models of the cloud are private, community, public, and hybrid, and include related concepts like multi-tenancy and virtualization. This perspective also includes the knowledge of cloud-related reference architectures, architectural styles and patterns, and tactics. These are specializations or implementations of general design concepts which can be used in the construction of cloud-based architectures and solutions.

The knowledge and skills related to cloud computing are fundamental for all other perspectives. Therefore, cloud-related initiatives should always consider this perspective. Moreover, as the domain of cloud computing continuously evolves and cloud providers are further developing their portfolios of cloud services, keeping up to date is an ongoing journey.

Transforming the IT Organization & Services

Many organizations give cloud computing a fundamental role in transforming their business and IT departments. To support this transformation, internal IT organizations are evolving from a mere deliverer of technology to become a broker to the business for all cloud services. In this new role the internal IT organization should enable the business to choose the best solutions, provide governance through policies and cloud management tools, and gather and disseminate cloud good practices. Thus, this perspective focuses on transforming an internal IT organization into an efficient and effective broker for cloud services. This requires significant and coordinated changes to the organization, governance models, processes, architectures, and technical tools.

An enterprise architecture framework (see endnote 5) can be used to shape the transformation of the business and IT organization. My Cloud Adoption Assessment Workshop Offering aims at conducting a structured fit/gap analysis for an individual organization, identifying areas for improvement, and deriving an individual cloud transformation roadmap. Both can be used separately or as a complement to an enterprise architecture framework. Moreover, concepts and practices related to change management are in scope of this perspective.

The transformation of the IT organization is not relevant in every context. However, it is important for organizations that aim at developing and implementing an individual and nontrivial cloud strategy and roadmap. It addresses the fundamentals related to the cloud-related strategy, organization, governance, security, architecture, and processes that define the framework for multiple applications and technology services that are migrated to or developed based on the cloud. Hence, there are many relationships to other perspectives.

Migrating Applications & Technology Services to the Cloud

This perspective deals with the migration of applications and technology services to the cloud, i.e., moving them from a classical on-premises or outsourced data center to a cloud environment. There are different strategies for conducting such a migration, also called the five Rs of rationalization (see e.g. [2]). These strategies can also be considered as cloud-related concepts. They are used to describe the potential or planned end state of a migrated application or technology service in the cloud. The rehost strategy (also known as lift and shift strategy) aims at moving an application from a classical data center to the cloud with only minimal changes to the overall architecture. The refactor strategy (also known as revise or life and optimize strategy) modifies some infrastructure elements and/or considers using some PaaS options to reduce the operational complexity and cost of an application or technology service. When the software architecture of an application is redesigned towards a so-called cloud-native model, a rearchitect strategy is implemented. As far as I know, there is no common definition of the term cloud-native (see endnote 6). However, it typically involves building, deploying, and managing applications using the cloud services, tools, and environments of a cloud provider. The term often includes the idea that applications leverage the dynamic features of the cloud and aim for scalability, flexibility, and resilience. As part of a rearchitect strategy, the software architecture of an application is significantly evolved towards the usage of cloud-related services, tools, and environments. However, the code of the application is reused to the most extent. A rebuild strategy is an approach in which changes stretch into the code too. At least parts of the code are newly developed while the scope and requirements of the application remain unchanged. Starting from stretch, enables to leverage cloud-related services, tools, and environments to a greater extent. Finally, there is a replace strategy in which an existing application is replaced by a SaaS solution. As part of this strategy, the scope, functional requirements, and quality attribute requirements are reconsidered in the context of the overall enterprise architecture.

From an architectural perspective, cloud computing expands the solution space with further design concepts like cloud-related reference architectures and implementations like cloud services, tools, and environments of the cloud providers. The key question is what cloud-related design concepts and implementations are better suited to support the architecturally significant requirements (ASRs) of an application and thus increase the business and technical benefits. A potential increase in benefits must be weighed against the effort to change the architecture. A migration strategy should be evaluated in the context of the overall cloud strategy, application portfolio, and related target architecture on enterprise architecture level.

In this perspective, architectural concepts and practices can be leveraged to select and elaborate on a migration strategy and related target architecture on the solution level. The architectural concepts are e.g., architecturally significant requirements (ASRs), quality attribute analytic models, quality attribute analysis techniques, quality models, and quality attribute scenarios. The selection of a migration strategy and update of architecture can be supported by several architectural practices like Utility Tree, Quality Attribute Workshop (QAW), Attribute-Driven Design (ADD), Architecture-Centric Design Method (ACDM), Prototyping with Quality Attribute Focus, Cost Benefit Analysis Method (CBAM), Architecture Tradeoff Analysis Method (ATAM), and Technical Debt Monitoring with Quality Attribute Focus (please find the references for in the Inventory of Architectural Concepts, Practices, and Methods). These concepts and practices should be used in the overall context of an application, i.e., the architecture on enterprise level. Thus, other practices like application portfolio management can also guide the migration of applications and technology services to the cloud.

Evolving the Application & Technology Architectures

The adoption of cloud-related concepts, technologies, and services is a continuous journey and reaping the benefits of cloud computing is not a one-time event. After migrating first applications and technology services to the cloud, organizations typically reflect on their cloud-related projects, experiences and lessons learned. This also involves assessing and troubleshooting the problems of cloud projects that did not deliver the expected business and technical benefits. They challenge the migration strategies and target architectures that were developed previously. Thus, this is a distinct perspective in which organizations aim for further optimization and increasing the benefits of adopting cloud services, tools, and environments. This can be done by evolving the architectures of applications and technology services, potentially more towards a cloud-native model which means leveraging more cloud services, tools, and environments of a cloud provider.

In this perspective the same architectural concepts and practices as in the previous perspective can be leveraged to optimize an architecture and increase the benefits. However, the concepts and practices are used in another context. The organization has taken the first steps into the cloud and built up knowledge and skills. Cloud-related design concepts and implementations that were not in the organization-specific solution space before due to missing knowledge and skills, can be leveraged now and might even increase the business and technical benefits further.

This perspective also involves defining and documenting standards, guidelines, and good practices for the whole organization which shape the further adoption of cloud computing concepts, technologies, and services. Therefore, there is a strong relationship to the perspectives Building Cloud-related Knowledge & Skills, Transforming the IT Organization & Services, and Migrating Applications & Technology Services to the Cloud.

Developing new Business Capabilities enabled by the Cloud

This perspective focuses on the business and enhancing business capabilities. The adoption of cloud computing expands the solution space with further options to design the business architecture. Cloud services can enrich and/or enable new business capabilities. The functions and features of these cloud services were not available to the business before – or were not available at a reasonable price and/or adequate service levels (e.g., cloud services related to the domains of analytics, machine learning, IoT, AI). These cloud services bear the potential to enhance business capabilities and increase the business benefits. The concepts of business architecture are a means to design, evaluate, and implement enhancements of the business and its capabilities. Thus, this perspective involves the design of target architectures and roadmaps on the abstraction level of the enterprise and with a strong focus on the business architecture. The design of a business architecture can be conducted as part of an enterprise architecture framework that defines related architectural concepts, principles, practices, and tools (see endnote 5). If such a framework is already established within an organization, it should be leveraged and tightly integrated with the cloud transformation. Cloud initiatives can tap into the framework and its deliverables to get informed about the business strategy, motivation, objectives, target architectures, and roadmaps. This supports the analysis, selection, and implementation of cloud services to enhance business capabilities. Moreover, it underpins the alignment of the business architecture with the application, data, and technology architecture.

As this perspective is centered around the business architecture, it informs almost every other perspective in relation to the business strategy, objectives, target architectures, and roadmaps. These deliverables must be considered within the cloud transformation and each cloud initiative. Otherwise, there is a risk that the adoption of cloud computing is limited to the IT organization and technical benefits only.

Revising the Data Center Strategy & Roadmap

If the cloud transformation is successfully moving forward and more and more applications and technology services are migrated to the cloud, there is an opportunity to revise the data center strategy and roadmap of an organization. Depending on the number of applications and technology services that are and will be migrated to the cloud, there are several options. The data center capacity can be reduced (rightsizing or downsizing), single locations can be consolidated or decommissioned, or the data center can be completely decommissioned. Reducing the capacity of a physical data center including several sites can be challenging and should not be confused with the rapid elasticity characteristic of the cloud. However, there are options to reduce the cooling, save energy, decommissioning physical nodes, deconstructing racks, consolidating data locations and more. If an organization has outsourced its data center facilities, reducing the capacity could be achieved by renegotiating the related contract.

This perspective involves the design of target architectures and roadmaps with an organization-wide scope and with a strong focus on the technology architecture. Thus, the architectural concepts which can be leveraged within this perspective are centered around the design and implementation of target technology architectures. The ArchiMate modeling language defines a detailed metamodel for the technology layer including physical elements (see [5]). This modeling language can be leveraged in the context of an enterprise architecture framework to design a target technology architecture and roadmap focusing on data centers and physical elements. The architectural design practice should be integrated with an application portfolio management practice and aligned with the overall cloud transformation roadmap.

The perspective of revising the data center strategy and roadmap has dependencies to all other perspectives. It is informed by the deliverables of the other perspectives and is typically addressed at an advanced stage of a cloud transformation journey. After building up cloud-related knowledge and skills, initial applications and technology services are migrated to the cloud. The experiences and lessons learned from cloud initiatives enable an organization to identify further benefits and optimize the migration process and architectures. This in turn enables an organization to plan, design, and implement changes to a data center, locations, and physical elements. If the cloud transformation is successfully moving forward and more and more applications and technology services are migrated to the cloud, there is an opportunity to revise the data center strategy and roadmap of an organization. Depending on the number of applications and technology services that are and will be migrated to the cloud, there are several options. The data center capacity can be reduced (rightsizing or downsizing), single locations can be consolidated or decommissioned, or the data center can be completely decommissioned. Reducing the capacity of a physical data center including several sites can be challenging and should not be confused with the rapid elasticity characteristic of the cloud. However, there are options to reduce the cooling, save energy, decommissioning physical nodes, deconstructing racks, consolidating data locations and more. If an organization has outsourced its data center facilities, reducing the capacity could be achieved by renegotiating the related contract.

This perspective involves the design of target architectures and roadmaps with an organization-wide scope and with a strong focus on the technology architecture. Thus, the architectural concepts which can be leveraged within this perspective are centered around the design and implementation of target technology architectures. The ArchiMate modeling language defines a detailed metamodel for the technology layer including physical elements (see [5]). This modeling language can be leveraged in the context of an enterprise architecture framework to design a target technology architecture and roadmap focusing on data centers and physical elements. The architectural design practice should be integrated with an application portfolio management practice and aligned with the overall cloud transformation roadmap.

The perspective of revising the data center strategy and roadmap has dependencies to all other perspectives. It is informed by the deliverables of the other perspectives and is typically addressed at an advanced stage of a cloud transformation journey. After building up cloud-related knowledge and skills, initial applications and technology services are migrated to the cloud. The experiences and lessons learned from cloud initiatives enable an organization to identify further benefits and optimize the migration process and architectures. This in turn enables an organization to plan, design, and implement changes to a data center, locations, and physical elements.

Relationship to the Discipline of Architecture

Although the perspectives on cloud transformation are different, there is a common ground: The concepts and practices of the discipline of architecture can be leveraged within each perspective to identify, evaluate, and plan for the benefits of cloud computing. However, as the perspectives are different, varying concepts and practices are relevant for each perspective. As most of these concepts and practices are tried and tested, they can be used to ensure the business and technical benefits in a systematic, predictable, repeatable, and cost-effective way. Therefore, cloud-related initiatives should leverage the existing architectural concepts and practices depending on their scope, context, and content. Nevertheless, there are challenges related to the identification and selection of the right concepts and practices according to the needs and objectives of each initiative. Moreover, some architectural concepts and practices might already be in use within an organization. Others might be new to an organization and thus must be learned. In most cases, an initiative requires more than one concept and one practice. Thus, there is a challenge to integrate multiple concepts and practices.

Towards Reaping the Full Benefits of Cloud Computing

Cloud transformation, i.e., the adoption of concepts, technologies, and services related to cloud computing, is a continuous journey. Thus, reaping the benefits of cloud computing is not a one-time event. Business and technical benefits must be continuously identified, monitored, and checked along the transformation to the cloud. Moreover, there is not a master plan or blueprint for the transformation towards cloud computing. A cloud transformation journey is individual and specific to an organization. However, each journey typically consists of several activities, projects, and programs that address several perspectives of cloud transformation.

An Example Cloud Journey

Figure 2: An Example Cloud Journey

At the beginning of this journey fundamental cloud-related knowledge and skills are built up within the organization (see point 1 in figure 2). Some teams conduct MVPs and PoCs related to a specific set of cloud services (see point 2). Based on their experiences, an initial cloud strategy is defined and a framework for using and integrating the cloud services from selected cloud providers is developed (see point 3). This also involves manifesting the cloud computing topic within the organization, defining the governance, security policies and architecture principles, designing landing zones in the cloud, and defining processes. Based on the cloud strategy and framework, initial applications and technology services are migrated to the cloud (see point 4). Some migrations lead to initial benefits like agility, scalability, and cost reduction. The availability of cloud services, tools, and environments also support enhancements related to business capabilities (see point 5). For example, cloud services related to the analytics domain (e.g., data lakes, machine learning) can be leveraged to optimize an existing business process. However, some cloud-related projects encounter implementation challenges and thus, the overall business and technical benefits are still limited. The organization kicks off an initiative to identify constraints and challenges related to the current cloud-based architectures (see point 6). The experience and insights are used to evolve the application and technology architectures towards a cloud-native model. This involves defining and documenting architectural standards, guidelines, and good practices for the whole organization. In addition, the fundamental framework for using cloud computing within the organization (i.e., the cloud-related strategy, organization, governance, security, architecture, and processes) is revisited and adapted (see point 7). Another initiative is set up to analyze if the data center capacity could be reduced or if locations could be decommissioned (see point 8).

Relationship to the Discipline of Architecture

Architectural concepts and practices can be leveraged to identify, evaluate, and plan for the benefits of cloud computing. Within the different perspectives, varying sets of concepts and practice can be useful. In addition, in the context of an individual cloud journey, the different architectural concepts and practices are relevant at different points in time. Thus, there is not only a challenge to identify and select the right concepts and practices within each perspective, but also a challenge to choose concepts and practices at different points in time and varying contexts.

Navigating the Available Architectural Concepts & Practices

The identification, selection, and adoption of architectural concepts and practices can be supported by various means. In this article, I propose the following approaches which complement each other.

Mapping to the ISO/IEC/IEEE 42020 Standard

The standard ISO/IEC/IEEE 42020 titled Software, systems and enterprise — Architecture processes (see [6]) can be used a process reference model to initially narrow down the set of available architectural concepts and practices (see figure 3).

Figure 3: Mapping to the ISO/IEC/IEEE 42020 Standard

This provides just a high-level mapping but can be useful for identifying a candidate list of concepts and practices within a perspective. It can be used in the context of the Inventory of Architectural Concepts, Practices, and Methods (see endnote 4) too.

Using the Inventory of Architectural Concepts, Practices & Methods

The Inventory of Architectural Concepts, Practices, and Methods (see endnote 4) supports different criteria for identifying and selecting concepts and practices (see figure 4).

Figure 4: Classification Criteria within the Inventory Architectural Concepts, Practices, and Methods

One classification of each entry in the inventory distinguishes between architectural concepts, practices, and methods. Another classification supports further grouping of entries. The values of this classification are identified by analyzing and grouping all current entries in the inventory (i.e., following a bottom-up approach). The current values for this classification are Fundamentals, Standard, Agile Architecting, Enterprise Architecture Framework, Organizational, and Architecture Technical Debt. Each entry of the inventory is also mapped to the architecture processes as defined by the ISO/IEC/IEEE 42020 standard. Thus, the concepts and practices can be filtered according to this classification too. Finally, the inventory contains the dependencies between the concepts and practices based on the following relationship types: Uses, Is used by, Specializes, and Is generalization of.

Using the Architecture Practice Library (APL)

Another approach to navigate the available architectural concepts and practices is the development of the Architecture Practice Library (APL) (see [7]). The APL aims at establishing an open, common, and organized body of knowledge related to architectural practices and related concepts. It should support searching and filtering of concepts and practices as demonstrated as part of the Inventory of Architectural Concepts, Practices, and Methods. The APL leverages the OMG Essence standard (see [3]) to provide supplementary descriptions of existing architectural practices which are based on the Essence language and kernel. Thus, it also supports the composition, adoption, and customization of practices in the context of individual organizations and/or software development endeavors because those features are inherently supported by the OMG Essence standard.

Summary & Conclusions

Cloud transformation is a continuous journey of adopting cloud computing concepts and services and reaping the benefits of using them. However, some organizations got stuck after taking the first steps of their journey. Consequently, they gain only limited business and technical bene?ts from cloud computing. There are several perspectives on cloud transformation which can be seen as separate ways to reap the business and technical benefits of cloud computing concepts and services. A cloud transformation journey is a specific roadmap of an individual organization. Typically, it consists of multiple activities, projects, and programs which address several perspectives of cloud computing and aim for specific business and technical benefits. The benefits of cloud computing can be identified and ensured in a systematic, predictable, repeatable, and cost-effective way by leveraging existing and proven architectural concepts and practices. These concepts and practices can also be used to identify and define a cloud transformation roadmap which aims at achieving specific business and technical benefits for an individual organization. Along this roadmap the right architectural concepts and practices must be identified, selected, and orchestrated.

There are several approaches to navigate the available architectural concepts and practices. Each perspective can be mapped to a set of architecture processes as defined by the ISO/IEC/IEEE 42020 standard which is a starting point to narrow down the set of available architectural concepts and practices. The Inventory of Architectural Concepts, Practices, and Methods supports different criteria for identifying and selecting concepts and practices. One of these criteria is the mapping to the ISO/IEC/IEEE 42020 standard. The Architecture Practice Library (APL) is another approach to navigate the set of existing architectural concepts and practices in the context of a cloud transformation journey. It establishes an open, common, and organized body of knowledge related to architectural concepts and practices which are described based on the OMG Essence standard. The Essence-based descriptions of the existing architectural concepts and practices support the effective identification, selection, adoption, and integration of architectural concepts and practices. Therefore, the Inventory of Architectural Concepts, Practices, and Methods and APL can be used to push a cloud transformation journey forward and reap the full benefits of cloud computing.

I own thanks to the following people for their valuable feedback on this article: Rich Hilliard , Lutz Stolz , Rolf McLaughlin ?? , Stefanie Fromm , and Alexander Sosedko .

Please note that this article was initially publish as a blog post on my website on November 26, 2023.

Endnotes

1. In this article, the term initiative is used as a proxy for the terms activities, projects, or programs.

2. A practice is a repeatable approach to doing something with a specific objective in mind (see [3]).

3. A method is a composition of practices (see [3]). For the sake of brevity, this article just refers to concepts and practices.

4. This inventory is considered as an intermediate work product which is used to plan and manage the various developments of Essence-based descriptions in the context of the Architecture Practice Library (APL). It provides insights related to the overall structure and design of the APL, i.e., the scope, contents, and dependencies of the various practices in the APL. The structure and design of the APL can be implemented e.g., by different practice types like Composite Practices, Practice Extensions, Practice Assets, etc.

5. Examples for enterprise architecture frameworks are The Open Group Architecture Framework (TOGAF), Federal Enterprise Architecture Framework (FEAF), Department of Defense Architecture Framework (DoDAF), NATO Architecture Framework Version 4 (NAFv4), Unified Architecture Method (UAM).

6. This meetup talk elaborates on the cloud-native concept and its impact on software architecture: Stefan Malich: Effective Application Modernization Using Cloud-Native Software Architectures. Developer Meetup Essen Vol. 3, April 10, 2024 (Slide Deck, Recording)

References

[1] Microsoft: Microsoft Reporter: Consistent global pricing for the Microsoft Cloud. January 5th, 2023

[2] Microsoft: Cloud Adoption Framework for Azure / Cloud Rationalization / The Five Rs or Rationalization. July 6th, 2023

[3] Object Management Group: Essence – Kernel and Language for Software Engineering Methods. Standard Document, Version 1.2, October 2018???????

[4] Mell, P.; Grance, T.: The NIST Definition of Cloud Computing. NIST SP 800-145, September 2011

[5] The Open Group: ArchiMate 3.2 Specification. Technical Standard, January 2023

[6] ISO/IEC/IEEE 42020:2019, Software, systems and enterprise — Architecture processes

[7] Malich, S.: Towards Developing an Architecture Practice Library based on Essence. Blog Post, November 20th, 2022





要查看或添加评论,请登录

社区洞察