A comprehensive look at cloud native architecture must first begin with its definition. This chapter also details why cloud native plays a significant role in modern-day architecture.

It is important to understand the industries, stakeholders, compliances, and software producers who are affected by cloud native software architecture. This chapter will cover the benefits of cloud native architecture for an enterprise, the pivotal roles software architects need to play to embrace the cloud, and whether the cloud is right for all industries.

Specifically, in this chapter, we will cover the following topics:

  • What is cloud native?

  • What are the steps for a cloud native journey?

  • How is cloud native architecture embraced across industries?

  • Why is cloud native important?

  • What is the software architect’s role in cloud native?

Introduction to Cloud Native

Today, enterprises of all sizes across industries and geographic regions are using software as a key disruptor and source of competitive advantage in their businesses. CxOs are looking at cloud computing as an enabler, especially during the COVID-19 pandemic, to create highly innovative products and services. During the pandemic, technology has proven to be the most important enabler of business continuity in a socially distanced market. The cloud sits right at the center of technology, powering significant industry transformation. To derive maximum value from the cloud, organizations must be planned much more than just virtualized infrastructure.

Many organizations are realizing that just simply lifting and shifting their existing monolithic enterprise legacy systems into the cloud does not sufficiently support modern-day business disruptions. Deploying an enterprise software application to the cloud does not make it cloud native; cloud native is about how the software is designed and implemented, not just where it is executed.

To address disruption in business, the cloud native approach and architecture need to be adopted as part of technology decisions. Cloud native is a lot more than just signing with various cloud providers and using them to run the existing enterprise applications. Cloud technologies and services can offer greater availability, elasticity, and security. Cloud native fundamentally changes the design, implementation, deployment, nonfunctional requirements, and operations of applications, and the cloud creates a new culture of technology services within industries, enabling them to become more agile and to operate faster.

Enterprises will benefit from infrastructure as a service (IaaS) as it is readily available, used on-demand, and scalable from 0 percent to 100 percent, and vice versa, depending on the load. The various industry practitioners such as Netflix, Amazon, telcos, Google, etc., have demonstrated the proven benefits of the cloud native approach to application development.

The adoption of cloud native architectures is helping many enterprise organizations to transform their IT landscape into a force of agility in the marketplace to support business disruption. This revolution in infrastructure services led to a new way of designing applications.

Cloud Adoption Across Industries

Despite the clear advantages that the cloud can offer and the potential for innovation, cost transformation, and greater agility, organizations across industries and geographies have yet to truly embrace the potential that the cloud offers. Recent research suggests that while public cloud consumption is increasing rapidly, there’s also a level of disillusionment in the results being obtained. While 90 percent of enterprises have adopted the cloud in some form or another, only 37 percent of enterprises say they have fully achieved the benefits they expected from their cloud initiatives. Research organizations envision that tomorrow’s industry leaders will be approximately 80 percent fully achieves the benefits from the cloud initiatives. The 37 percent of organizations, who have adopted the cloud-first approach are already seeing the benefit and return on investment (ROI).

Reducing Costs

A cloud-based deployment reduces the capital expenditure by eliminating the need to spend money on fixed assets such as servers, networks, real estate, software, etc. It also reduces operational expenditures by lowering costs such as IT support staff, electricity, security, etc.

Adopting the Cloud Native Mindset

Organizations within an enterprise chain together the various technologies, processes, and services of cloud native to produce an outcome that has actual business value. The cloud native approach is much more than just a programming model or a new way of writing code. Cloud native applications have been designed and developed from the bottom up to be deployed in the cloud. In other words, it changes the entire lifecycle of how requirements are collaboratively started, coded, tested, deployed, and maintained.

What Is Cloud Native?

According to the definition developed by the Cloud Native Computing Foundation, cloud native can “empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.”

Cloud native refers to the architecture, design, delivery, and management of applications that truly exploit the unique characteristics of a native of the cloud, rather than just porting legacy monolithic applications to the cloud.

The objective of cloud native is to improve the speed and efficiency of service assembly, enabling the business to react faster to market change.

Cloud native is an approach to building and running an application that exploits the services of cloud computing. Cloud native is about around how your application is architected, developed, and deployed. The applications can be easily modifiable, is disposable without affecting the whole business use cases, and can react quickly to business changes. See Figure 1-1 and Figure 1-2.

Figure 1-1
figure 1

Monolithic legacy application

Figure 1-2
figure 2

Polylithic and polyglot cloud native application

The enterprises that are embracing the cloud are already seeing the benefits from adopting microservices, containers, event-driven, serverless, and DevSecOps along with an agile development approach.

Cloud native architecture and design principles and patterns help to design, develop, and manage applications for their intended resilience and scale requirements and accelerate the software engineering process.

Cloud native provides enterprises with the capability to rapidly develop and deploy software applications that adapt to changing the business and operational condition automatically. Cloud native brings the greatest benefits when developing new applications or services that drive business disruption and enables the continuous deployment of software applications until moving to production in real time with the automation of infrastructure, which increases resiliency and business continuity for enterprise applications.

Cloud Native Maturity Model

Every book and blog mentions the maturity model of cloud native architecture; in reality, the model is entirely based on your organization’s maturity. To gauge where your organization is, you need to conduct a maturity assessment. We will explain maturity assessment in Chapter 11.

The three waves of cloud native architecture are cloud enablement, cloud native transformation, and cloud native culture and innovation. Your maturity level is not an end; cloud native architecture will continue to mature as your organization progresses on these waves and through industry innovation.

Based on research by research institutes like Gartner, Forester, and consulting firms, and also my experience, I believe every organization must go through this cycle of maturity, as shown in Figure 1-3. I call this model the cloud and cloud native maturity model (CCNMM) .

Figure 1-3
figure 3

Cloud and cloud native maturity model

Cloud Enablement Wave

To understand where your enterprise and its landscape will fall on the CCNMM, it is important to assess which systems are ready for the cloud journey. In the cloud journey, being cloud native requires the adoption of cloud services. If your organization just started with the cloud, then you need to start the migration from your own data center to the cloud, such as migrating the VMs. During this period you need to prioritize the system for cloud migration and also create a cloud strategy across portfolios. Each cloud vendor will have its own set of services and cost models, with the most mature having an advanced set of features. In this wave, you need to recognize what cloud services you need to adopt, and in parallel, you need to embrace a cloud culture in your organization.

Regardless of which cloud provider you choose, the provider will have the basic building blocks of infrastructure, storage, networking, etc. To start on your cloud journey, you need to choose these services for your VM migration or lift-and-shift model. This model will move the on-premises systems to the cloud with no changes to the design, technology, etc. Therefore, these migrations only use the basic building blocks of the cloud.

The outcome of this wave that your organization will gain from this maturity stage is the basic premises of the cloud. For example, your organization will move its cost model from CAPEX to OPEX and be able to manage nonfunctional requirements such as scaling, high availability, etc. Besides learning how to analyze your landscape and cloud vendor, it’s important to embrace a cloud culture across the organization. Even though the adoption of cloud in this wave is a relatively low level of maturity, it is critical for the organization to start the cloud journey.

Cloud Native Transformation Wave

Before the adoption of cloud native, the suggestion is to adopt a middle path between cloud enablement and cloud native; this is called cloud optimization. In cloud optimization, you need to optimize your migrated application that you already completed in the cloud enablement wave by using cloud native features without decoupling or redeveloping your cloud-enabled applications. Today, some organizations, especially after the pandemic, are moving to the cloud optimization world and experiencing the benefits of continuous delivery, autoscaling, redundancy, resilience, etc.

Once you have adopted the culture of the cloud in your organization after cloud enablement and cloud optimization, the next level of maturity is cloud native transformation. Cloud native maturity will begin with a culture of cloud principles and the team’s understanding of cloud native implementation. In the whole cloud native transformation, the adoption of the cloud is one part of the design principle that is required to make a cloud native architecture. These are used in conjunction with other principles such as the culture of automation and culture of agility that is centered on microservice applications.

The cloud native transformation wave is about how the application is decoupled, designed, and architected. You need to adopt various principles and patterns to make your application truly cloud native. Adopting microservice principles in your application architecture is not cloud native, but you need to consider other elements of cloud native elements such as containerization, automation, etc. The 12-factor app is a methodology, as mentioned in Table 1-1, for building software-as-a-service applications (http://12factor.net). This 12-factor app methodology can be adapted to any programming techniques and database models. The objective of the 12-factor methodology is to consider 12 steps when designing an application for cloud native that minimizes cost and time.

Table 1-1 Twelve-Factor App Steps

In the cloud native transformation, you need to adopt microservice architecture principles for new developments and apply the digital decoupling method for the existing monolithic legacy applications. All the cloud native elements as mentioned in the next section will revolve around microservices development. You need to adopt DevSecOps for end-to-end automation, agility for software engineering, containerization, orchestration for deployment and elasticity, and so on.

Scalability and Flexibility Advantage

Taking advantage of cloud native architecture offers enterprises flexibility. The applications can scale up and down based on demand. Almost all cloud providers have a global scale. In addition, you can choose what kind of VM instances are required depending on the type of application such as if your application requires more CPU, your application is data-centric, or your application is an online gaming provider.

Cloud Native Culture and Innovation Wave

The third wave of the maturity model is to adopt a culture across the organization of innovation. Throughout this wave, the remaining maturity principles shown in Figure 1-3 need to be adopted. As your systems evolve and move further on the cloud native maturity model, they will rely more and more on applying intelligence into them. Similar to the cloud native transformation stage, a mature cloud native architecture is constantly evolving by adopting artificial intelligence, machine learning, and deep learning techniques to predict your architecture, failures, operations, event streams, integrated monitoring, etc.

In the cloud native journey, your organization might find a lot of use cases to adopt blockchain technology, digital twin, zero trust architecture, 5G, AI-driven development, cloud native IDEs, and quantum computing.

Blockchain as a Service

“Blockchain is a system of recording information in a way that makes it difficult or impossible to change, hack, or cheat the system. A blockchain is essentially a digital ledger of transactions that is duplicated and distributed across the entire network of computer systems of the blockchain.”—investopedia

The main characteristics of blockchain are decentralization, immutability, and public databases. The concept of blockchain is based on a peer-to-peer network architecture in which a transaction is not controlled by any single centralized entity. Cloud native architecture is best when stored data on the cloud is split into smaller chunks, which are stored on several different machines around the world. There are many options available like blockchain as a service (BaaS), which is a third-party cloud-based infrastructure and management of companies building and operating blockchain apps. These services are hosted on the web and run back-end operations for a blockchain-based platform.

Digital Twin

A digital twin platform is an effective means to reflect the physical status in virtual space. It breaks the barrier between the physical world and the digital world of manufacturing. The digital twin ideas were first evolved at NASA: full-scale mockups of early space capsules. Industry 4.0 is possible only with digital twins according to Dr. Michael Grieves.

A digital twin is a sensor-enabled digital model of a physical object that simulates the object in a live setting. All the major cloud providers have created a service for digital twins; for example, Azure Digital Twins provides services for users to create dynamic virtual replicas. The capabilities include flexible modeling that supports full graph technologies, a live execution environment, and easy integration with other Azure services. These cloud native platforms help to build digital twin capabilities, especially for manufacturing industries.

Zero Trust Architecture

The elements of cloud native and data continue to shift in enterprises, from monolithic to microservices, from centralized data lakes to data meshes, and from manual to automation delivery and deployment with the increasing proliferation of connected devices. The approach to securing enterprises’ assets for the most part remains unchanged, with heavy reliance and trust in the network perimeter. Enterprises continue to innovate and adopt secured network configurations. Zero trust architecture (ZTA) is a paradigm shift in security architecture and an organization’s strategy; it is built upon existing cloud native architecture and does not require you to replace existing architecture. The ZTA environment consists of a protected surface that contains a single Desktop as a Service (DaaS) element protected by a micro perimeter enforced by layer 7 and various tools available in the cloud. ZTA enforcing policies are code based on the least privilege, continuous monitoring, and automated mitigation threats using service meshes to enforce security control and implement binary attestation to verify the origin of binaries.

5G

5G is the fifth-generation technology standard for the broadband cellular network and delivers higher multi-Gbps peak data speeds, ultra-low latency, more reliability, massive network capacity, increased higher availability, and a more uniform user experience. The 5G technology comes with various features such as networking slicing, orthogonal frequency-division multiplexing (OFDM), and multiple input and multiple output (MIMO).

Your cloud native application needs to evolve and adopt a new way of responding to users to meet the speed of 5G; that is a latency of less than 1 millisecond. To support this speed and end-user experience, your existing cloud native application architecture needs to support changes that are nano and micro in nature with 2.0 code and built-in intelligence.

Quantum Computing

Quantum computing uses advanced physics to dramatically increase the computing power needed for complex calculations. Traditional computing relies on information that is translated, stored, represented, and processed in bits that can be only one of two discrete binary states. Quantum computing, in contrast, uses qubits that can exist either in the same discrete states as a traditional bit or in any number of superpositions in between. All cloud providers have come up with solutions for cloud-based quantum computing via quantum as a service (QaaS) . QaaS allows enterprises to use and write algorithms and run them on quantum computers.

This is not the end of maturity; you need to keep innovate to adopt earlier than others, and you need to make sure your people are upskilled frequently to meet the maturity.

Elements of Cloud Native Computing

The traditional approach to architecture is no longer viable in the fast-paced digital economy where business decisions need to be made quickly, the cost of change is required to be low, and the cost of throwing away existing architecture needs to be affordable, if not negligible. These are the types of demands that are behind the drive toward cloud native architectures, a fundamentally new way to build software. This approach helps create a highly agile architecture that facilitates businesses to make changes quickly without impacting the rest of the enterprise systems.

In the cloud native technology era, the cloud is the execution platform; to the left are DevSecOps processes, which are driven by agility, all of which are the result of present-day polylithic and polyglot architecture, which are driven and invoked by business disruptions.

Figure 1-4 illustrates seven key elements of a cloud native architecture, which is used to develop cloud native applications.

Figure 1-4
figure 4

Cloud native architecture elements

Microservices Architecture

A microservice architecture approach allows you to build a system that is composed of many granular subsystems, whereby each system has its specialized architecture to meet specific business and technical needs. The principle features of a microservices architecture are as follows:

  • Exclusive infrastructure: Each granular subsystem is deployed in its virtual or container hardware environment, isolating it from impacting other subsystems.

  • Exclusive ownership of data by each subsystem: Access to subsystems is provided through a well-defined published interface.

  • Flexible system: Each subsystem inherently supports multiple versions and backward compatibility and simplifies change management.

Serverless Architecture

A serverless architecture is an element of cloud native architecture. The challenges of on-premises data center management can be addressed by abstracting the infrastructure to the cloud. Management activities are automated as part of the platform, and near-zero downtime can be achieved through the modular independent images of the services. Operations of your application capability increase as your application can be scale up and down dynamically. With the technical aspects abstracted from the solution, the development team can focus on developing business user stories. The platform design allows for resiliency and service monitoring and logging. Leveraging a serverless architecture allows your enterprise to expand its IT strategy with new capabilities and offerings.

Serverless architectures dramatically simplify the development of microservices and event-driven architecture. The following are the characteristics of a serverless architecture:

  • Asynchronous and concurrent

  • Infrequent and irregular demand

  • Stateless and ephemeral process

  • Changing business requirements

Event-Driven Architecture

Event-driven architecture is a model for cloud native application design. It is a distributed, asynchronous software architecture that integrates applications and components through the production of handling events. In the event-driven architecture, events are triggered and communicate asynchronously between microservices. The event-driven architecture has three key components: event producer, event router, and event consumer. The following are the benefits of an event-driven architecture:

  • Scale and fail independently

  • Develop microservices with agility

  • Audit your application with ease

Cloud Computing

Cloud computing is the use of computing resources that are delivered as a service over the Internet. Cloud computing has the potential to offer substantial opportunities in various IT scenarios. It is a flexible delivery platform. It can support many different architectural and development styles, from big, monolithic systems to large virtual machine deployments to nimble clusters of containers to data meshes and large farms of serverless functions. The cloud can host a variety of different software applications, including batch-style, back-end jobs; interactive, data-driven applications; and more. All the software is deployed and scaled out quickly through the rapid provisioning of VMs, containers, or bare metals.

The following are the main services of cloud offerings:

  • Infrastructure as a service (IaaS)

  • Platform as a service (PaaS)

  • Software as a service (SaaS)

Containers

Cloud native applications are distributed in nature and utilize a cloud infrastructure. Numerous techniques and tools are used to implement cloud native applications, but from a computing perspective, mainly containers are used. Containerization became a de facto standard for cloud native. The container is a technology that allows you to incorporate and configure your binaries and their dependencies in a package called an image. This image can be used to spawn an instance of your services, called a container.

Agile Development

Agile management is about working smarter and generating more value. An iterative mindset that embraces failure and focuses on customer and business value is an essential building block of it. The agile process generally promotes a disciplined project management process that encourages frequent inspection, closer to business, and promotes the early release of use cases in terms of user stories. There are 12 agile principles are available to adapt to make your company truly agile. Agile embraces faster innovation with a focus on business value. These are the few benefits of truly agile:

  • Predictable cost and schedule

  • Focuses on business value

  • Focuses on end users

  • Stakeholder engagement and early feedback

  • Faster time to market and early predictable delivery

  • Reduced risk

DevSecOps

DevSecOps is the set of tools, practices, processes, and culture that enables development, operations, and security teams to work together during the entire lifecycle of a project or product. It focuses on speed and how quickly an artifact can get from the requirements to design stage to development and into production. It’s largely about automation, i.e., eliminating the need for human involvement in the production process. Shift-left is the common usage in DevSecOps; the idea of bringing everything toward your left means starting early and detecting early instead of at the end. The following are a few benefits of automation:

  • End-to-end automation with single touch deployment

  • Cost reduction

  • Speed of recovery

  • Improved overall security

  • Infrastructure as code

How Is Cloud Native Different Than Cloud-Enabled?

Cloud-enabled applications are developed by using a normal traditional software methodology but can deploy in the cloud without using many benefits of the cloud.

Cloud native applications are developed and deployed in the cloud or cloud-related environment by using cloud native software methodologies. This software delivers to a customer by using the benefits of the cloud such as autoscaling, infrastructure as code, etc.

Cloud Native Journey

Cloud migration is imperative, but that doesn’t mean it’s easy to implement. Anyone facing stumbling blocks on the cloud journey must understand that they are not alone. The road to the cloud transformational benefits is complex, involving multiple dimensions, including rethinking strategy, technology, skills development, business processes, as well as organizational design.

Although all enterprises are embracing cloud native, it is not always practical to change all the applications at once. Applications will exist in different stages of maturity, and there are multiple ways to achieve stages of maturity. We’ll cover more details of the assessment to identify the maturity of your application in subsequent chapters.

The cloud native transformation starts by establishing a cloud native platform and then moving on to new application “greenfield” (development of an application from scratch) or the modernization of an existing application “brownfield” incrementally until enterprise-wide adoption.

The timeline shown in Figure 1-5 is dependent on the size of the enterprise. We’ll explain more details about the timeline and risks in subsequent chapters.

Figure 1-5
figure 5

Journey to the cloud

Start with Lift and Shift

The agility and speed offered by cloud native environments can be transformative for an enterprise. To make everything cloud native, you need to adopt a culture, process, and way of working. But your organization cannot become cloud native from day one, so every organization has to start on a cloud journey. How and where to start? For most organizations, start with the lift and shift of existing monolithic applications to an IaaS cloud environment. Lift and shift means lifting monolithic applications from your data center and shifting them to the cloud environment without much modification. This is also called migrating into VMs.

Shifting VMs from your data center to the cloud, that is, using the cloud as a commodity data center, offers a few advantages. Some of the advantages are as follows:

  • Fewer resources are required because the VMs are owned by the cloud, so you have less maintenance.

  • Reduced capital expenditure on facilities.

  • Fewer data centers.

In the new usage model, you provision servers as and when required.

Re-engineer Migration

Enterprises that are truly moving to be cloud native organizations will follow the re-engineering approach for their legacy applications so they can take advantage of scale, agility, and innovation. The applications that are migrating to the cloud get the benefits of being cloud native, but decoupling in the process might take a longer time. These types of applications do not lift and shift; they are designed to follow cloud native principles as much as possible.

Benefits of Cloud Native

For many industries, the cloud represents a part of digital transformation. Some industries might have started their cloud journey for several reasons, including scalability, improved customer experience, greater agility, cost savings, and access to innovation. However, to take full advantage of the value of cloud computing, enterprises must adopt new methodologies and processes. As mentioned, a cloud native development is an approach to building and running applications that uses a service-based architecture, microservices, containers, and APIs. Here are a few benefits when enterprises adopt a cloud native approach as part of their cloud strategy:

  • Agility: By splitting the development process into time windows and providing a continuous feedback loop, agile enables rapid, more effective development—and the creation of nimble organizations that can innovate quickly.

  • Speed: Cloud native applications can gain development speed and improve automation by migrating an application to a container-based platform, decreasing the time it takes to deliver new products and business services to market.

  • DevSecOps culture: To adopt a cloud native approach, portfolios within IT and the business need to collaborate. The development team must align with IT operations and the lines of business to deliver needed business functionality. The applications are the realization of DevSecOps as they automate operational processes such as integrated monitoring, scaling, resilience, etc.

  • Efficient resource consumption: Containers allow applications to be rapidly deployed in servers with greater density than VMs and destroyed easily and recreate with same configuration.

  • On-demand infrastructure: The cloud native development model promotes on-demand provisioning that allows developers throughout the organization to access the infrastructure they need when they need it.

  • Reusability: Cloud native applications take advantage of a ready-to-use infrastructure that allows developers to access and reuse existing components such as caching, APIs, rules, data virtualization, etc.

  • Portability: Cloud native applications are container friendly and abstract away dependencies on their external environment and are more easily deployed across different environments.

  • Scalability: Cloud native applications can automate scaling applications based on various parameters such as CPU, load, etc.

Cloud Native Organization and Culture

The transition to cloud native is not just a technical change; it carries with it changes to large parts of cloud usage. Infrastructure as a service (IaaS) means that IT can reduce its expenditures on data centers, and by taking advantage of business continuity and disaster recovery (BC and DR) capabilities in the cloud, as well as other capabilities, it can further reduce expenses and redirect spending to more profitable users. Moreover, by taking advantage of more modern cloud architectures such as containers, orchestration, serverless technologies, automation, etc., enterprises should find that development and updates can be greatly accelerated, improving time to market and responsiveness to business needs.

In the cloud, you can spin up services quickly, try them, and terminate them when no longer needed. This stands in stark contrast to the traditional old way. Many enterprises use hackathons to determine the value of new technology for a given problem. In such events, the development team comes together and learns new technology quickly. If the experiment fails, little has been lost. If it succeeds, your teams have gotten a real head start.

The IT finance organization has changed the way the model was approached compared to the earlier traditional approach, which was based on capital expanse and deprecation. Facilities, servers, and software were purchased and typically depreciated over time, after which the refresh cycle started. Cloud services are subscription-based. With the cloud, the IT department and finance organization within an enterprise can gain more control and insight into their IT spend.

Consider the following when you start your journey to the cloud:

  • Monitor cloud spend.

  • Verify that computing resources are used efficiently.

  • Look at the CPU utilization.

  • Drive accountability to the business where possible.

You need to involve the information security and risk management teams as soon as you can when planning to move to the cloud. There are many technological and environmental aspects of security in cloud native. You need to make sure to consider the following questions:

  • Do you have a data classification schema?

  • Do you have a common authentication mechanism?

  • What new regulations apply once in the cloud?

  • Do you consider countries’ compliances and regulations?

The development and operations groups will experience a significant change in the way they are working depending on the extent to which they embrace the cloud native paradigm. In the traditional approach, a team usually follows the waterfall process. In today’s world, many projects and teams follow an agile methodology with full implementation of automation, a shift-left approach, etc.

As more and more of your organization’s focus is on cloud enablement, your team requires upskilling into cloud technologies. HR organizations should be prepared to help train or retain individuals to gain the new cloud skills they are expected to need. Many enterprises started upskilling on cloud technologies by enabling cloud certifications, cloud advisory roles, etc.

Finally, organizations should put controls and standards in place to verify that their cloud journey proceeds thoughtfully. Many enterprises have created cloud steering committees (CSCs), central bodies that facilitate departments and the adoption and use of the cloud. The CSC comprises individuals from enterprise architecture, finance, information security, HR, the business team, etc. The objectives of the CSC are to do the following:

  • Determine the order and priority of the enterprise applications to migrate to the cloud.

  • Create a culture of automation.

  • Analyze and contract with cloud vendors.

  • Keep track of emerging technologies, etc.

How Is Cloud Native Architecture Embraced Across Industries?

Many enterprises have made a start on their cloud journey but have yet to fully commit. A few enterprises have advanced a bit further, and now their challenge is how to move deeper to the cloud and take greater advantage of cloud native capabilities.

Amid the pandemic, organizations are responding to this changing landscape with a mix of business strategies. These strategies aim to disrupt the future with more relevant services. They’re seeking to harness digital to drive greater efficiency and become more agile in the face of volatile market conditions and to compete with the new disruptive competition.

Regardless of your approach and priorities, making progress requires leadership that is commitment to targeted business outcomes and the right focus on creating a cloud native culture, not to mention creating an environment in which the team can thrive. It is also essential for industries such as banking and insurance to engage with regulators and county-specific compliances as they plan for their journey.

Industries should pick the right migration path depending on their priorities and the current degree of cloud maturity. You need to categorize these journeys into migrate, accelerate, and scale and innovate in the cloud, and you can choose whichever path you want depending on your strategy.

Migrate

Cloud migration is about much more than lift-and-shift; a successful migration requires a common language, common understanding, and organizational ability to align technology solutions to meet business needs.

For a range of reasons—technology, security, complexity, legacy, data sovereignty—many industries’ systems remain in the data center. Unless you migrate most of your systems to the cloud, you will be unable to realize the full business value from these systems, whether that’s making the business more resilient, efficient, or customer-focused. This stage is essential to get systems to the cloud rapidly, securely, and with confidence by selecting the right infrastructure for your business.

The following are the steps you need to consider for your migration:

  1. 1.

    Conduct an assessment of applications, data repositories, and infrastructure for either retirement, leave-as-is, rehost, refactor, or rewrite.

  2. 2.

    Determine the design, cost, and timeline for migration activities.

  3. 3.

    Perform a software engineering lifecycle for migrated applications.

  4. 4.

    Perform the post-migration retirement of applications, data repositories, and infrastructure in the source data center and cloud.

Accelerate

Just getting to the cloud doesn’t mean your enterprises have become a cloud native enterprise. To do that, you need to modernize. That means building applications and services specifically for a cloud environment and changing the operating model to drive new business agility. The accelerated stage is where banks can ramp up their organizational speed and agility by restructuring architectures, applications, and data for the cloud. The COVID-19 crisis has accelerated an industry need for the cloud:

  • Run an agile business and respond to changing events, for example, regulatory impacts.

  • Focus on new revenue streams enabled through digital and disruptive technologies.

  • Reduce infrastructure costs and transition to proportional technology costs.

  • Improve operating efficiencies for change and run activity.

  • Provide enhanced dynamic risk management and security capabilities.

  • Monetize APIs in open banking.

  • Monetize the data as a service across enterprises.

Scale and Innovate

With the scale and speed provided by the cloud when working with cloud providers, enterprises can free up people and funds to focus on adopting systems to what the business and its customer will need next. The scale and innovate stage is where your enterprises can use the cloud as a digital transformation level, creating a foundation for rapid experimentation, innovation, and new business model.

What Is a Software Architect’s Role in Cloud Native?

A software architect in a cloud native architecture is expected to have skills and knowledge of a variety of topics including cloud and noncloud. This book focuses on many of those topics. They include technical and nontechnical duties such as the following:

  • Understanding cloud environments, microservices, automation, and agility

  • Understanding nonfunctional requirements such as scalability, elasticity, resilience, etc.

  • Providing leadership

  • Understanding architecture principles and patterns for cloud native architecture

  • Knowing how to manage client stakeholders’ concerns

  • Ability to create architecture blueprint

  • Ability to create runtime, development, integration, and operation architecture details

  • Understanding the business domain

  • Participating in gathering and analyzing requirements

  • Communicating with various technical and nontechnical stakeholders

  • Creating as is progress for various stakeholders

  • Helping teams to design and implementation of the design

  • Helping teams to choose tools and platforms

  • Having the vision for future tools and a platform roadmap

  • Effective verbal and written communication skills

  • Able to estimate changes

  • Being able to design software architecture that adapts to change and evolve over time

  • Mentoring team members

Summary

In this chapter, we defined what cloud native architecture is. We also discussed the current adoption of cloud native across industries and what area of focus you require to develop a cloud native architecture. We identified a cloud maturity model that has three waves required for mature cloud native architectures. The three waves are cloud enablement wave, cloud native transformation, and cloud native culture and innovation. These three waves help you to gauge your current organization’s maturity and the steps to consider. Finally, we covered what a cloud native journey for enterprises is and what culture and skills need to be adopted for a cloud native journey. In a nutshell, this chapter introduced cloud native and how to start the journey, as well as what organizational skills are required for cloud native.

The next chapter covers the evolution of services, especially cloud services, and the elements of cloud native architecture.