Migrating to Cloud-Native Application Architectures Chinese version "Migrating to Cloud-Native Application Architecture"

The rise of cloud native
 
Software is eating the world.
-Mark Anderson
 
Software companies are devouring those stable and leading traditional large enterprises. Companies like Square, Uber, Netflix, Airbnb, and Tesla continue to have fast-growing private market valuations and become new leaders. What do these innovative companies have in common?
  • Speed ​​of innovation
  • Always available service
  • Web resilience
  • Mobile-centric user experience

Moving to the cloud is to focus on the natural evolution of software, and cloud-native application architecture is the core of these companies' disruptive characteristics. The so-called cloud, we refer to any computing environment, in this environment, computing, network and storage resources can be flexibly allocated and released on demand and in a self-service manner. This definition includes both public cloud infrastructure (such as Amazon Web Services, Google cloud or Microsoft Azure) and private cloud infrastructure (such as VMware vSphere or OpenStack).

In this chapter, we will explain how cloud-native application architecture implements these innovative features. Then we will study several key aspects of cloud native application architecture.
 
Why Cloud-Native Application Architectures?
 
First, we will study the common motivations behind the migration to cloud native application architecture.
 
1. Speed
 
This is easy to understand, speed determines success or failure. Being able to innovate, experiment, and clearly communicate the company's product models and solutions in the form of software will overtake those traditional companies.
 
In an enterprise, the time required to provide a new application environment and deploy a new version of the software is usually in units of days, weeks, or months. This lack of speed severely limits the risks that any version can take, because the cost of making mistakes and fixing them is also measured on the same time scale.
 
Internet companies often mention that they deploy hundreds of times a day. Why is frequent deployment important? If you can deploy hundreds of times a day, you can recover from errors almost immediately. If you can recover from the error almost immediately, you can take more risks. If you can take more risks, you can try the results of wild experiments that may become your next competitive advantage.
 
The elasticity and self-service characteristics of cloud-based infrastructure are naturally suitable for this way of working. Providing a new application environment by calling cloud service APIs is orders of magnitude faster than a manual form-based process. Deploying code to a new environment through another API call can increase speed. Adding self-service and hooks to the team's continuous integration/build server environment can increase speed. In the end, we can measure the answer to the question of lean expert marypoppen-dick, "How long does it take for your organization to deploy a change that only involves one line of code?"? "A few minutes or a few seconds.
 
2.  Safety
 
3. Scale (scalable)
 
4. Diversity of mobile applications and clients
 
 
Defining Cloud-Native Architectures
 
 

Guess you like

Origin blog.csdn.net/nmj2008/article/details/113859049