Cloud Native Is Here, but Not Evenly Distributed

Preface

Going Back to the Source

Pivotal Software

CNCF

Reaching a Consensus

  • Pivotal Software is committed to achieving end-to-end solutions and digital transformation on the Platform as a Service (PaaS) layer and offers a comprehensive set of models for culture, processes, methodologies, blueprint planning, and software development. Its solutions are designed for CIOs from large and medium-sized traditional enterprises who take a top-down approach.
  • Having established itself as the innovator and reformer for the cloud-native ecosystem and technologies, CNCF emphasizes technologies, toolchains, and underlying infrastructure and has a great influence on its target audience made up of developers in the open-source community, Internet companies, and emerging businesses. It adopts a bottom-up approach.

My Personal View of Cloud Native

From the Cloud-native Thinking to the Cloud-native Applications

  • What are the capabilities of the cloud that we need to make full use of?
  • How can we build cloud-native applications in a way that breaks away from the traditional methods?
  • What are the key characteristics of cloud-native applications?
  • What are the key technologies adopted in a cloud-native technology framework?

Capabilities of the Cloud

  • Function-oriented solutions: Developers only provide functions and the corresponding features are realized through events or HTTP requests. Examples of such solutions include Alibaba Cloud Function Compute and AWS Lambda.
  • Application-oriented solutions: Developers only provide business applications without purchasing server resources. Examples of such solutions include Google Cloud Run and Alibaba Cloud EDAS Serverless.
  • Container-oriented solutions: These are an upgraded version of application-oriented solutions that uses container images to shield environment differences and provides great flexibility. Examples of such solutions include Alibaba Cloud Serverless Kubernetes and AWS Fargate.

Construction of Cloud-native Applications

How to Design Cloud-native Architecture

  • Use the microservice architecture to solve the problem of complexity in a monolithic architecture.
  • Use a governance framework and monitoring solutions to solve communication problems between microservices.
  • User container services to solve the problem of deploying many applications in the microservice framework.
  • Use Kubernetes to solve the problem of orchestration and scheduling for container services.
  • Use service mesh to solve the problem of intrusion for the microservice framework.
  • Run service mesh on Kubernetes to provide better underlying support.

How to Deliver Cloud-native Applications

  • Methods: Can developers push the code they write to the test and production environments without O&M support?
  • Tools: Are there mature O&M tool platforms and monitoring systems that allow the development team to easily handle various online issues, faults, and rollback?
  • Culture: Do developers take direct ownership of the online user experience, taking responsibility for problems caused by code defects, O&M failures, or code changes committed by developers?
  • Delivery measurement: Are the KPIs, including deployment frequency, change lead time, service recovery time, and change failure rate, in line with the user requirements in the industry?

Key Characteristics of Cloud-native Applications

  • Elastic scalability: Using elastic billing policies, applications can complete auto scaling within seconds and dynamically allocate or release resources in accordance with business workloads. This helps users significantly reduce expenses. The key technologies are the lightweight containerization of services and the immutable infrastructure achieved through container services.
  • Fault tolerance: The applications support load balancing, automatic traffic shaping, degradation and circuit breaking, automatic scheduling of abnormal traffic, fault isolation, and automatic failover.
  • Observability: The applications provide a wide range of fine-grained monitoring metrics, such as real-time metrics, tracing analysis, and logs, and support monitoring for automatic alert triggers and persistent queries precise to the second.
  • Release stability: To cope with the stability risks caused by frequent changes, the applications have a fully automated change release system that supports automatic gray and blue-green release policies and can be used to establish a monitoring baseline before, during, and after changes. It is also capable of circuit breaking and automatic rollback in the case of abnormal changes.
  • Ease of management: To transition from manual maintenance to automatic maintenance, the applications support automatic exception analysis and diagnosis without the need to log on to servers.
  • Ultimate user experience: The applications provide an all-in-one experience by offering smooth and easy-to-use features, such as application allocation and creation, resource application, environment configuration, development and testing, release, monitoring and alarming, and troubleshooting. These features can be combined like building blocks, avoiding complex operations.
  • Flexible billing: The applications support various pricing strategies such as pay-as-you-go (by traffic, storage, calls, and duration), subscription (by days, months, or years), reservation, and preemptive billing methods. The business system can dynamically switch to the optimal billing method based on actual conditions.

Key Technologies of Cloud-native Architectures

Containers

Kubernetes

ServiceMesh

Infrastructure as Code (IaC)

Cloud IDE

Implementation of Cloud-native Architectures

  • Step 1: Lay the foundation by migrating to the cloud.
  • Step 2: Build a PaaS platform. Alibaba Cloud Container Service for Kubernetes (ACK) shields O&M staff from the underlying resources and the complexity of O&M and provides high-performance and scalable container application management capabilities. It also provides developers with an environment in which they can build applications so as to accelerate application development, realize PaaS, and achieve business agility, elasticity, fault-tolerance, and observability.
  • Step 3: Implement DevOps based on PaaS. The PaaS platform boosts business agility by improving infrastructure agility, while DevOps does the same through process delivery. DevOps (Apsara DevOps in Alibaba Cloud) enables continuous integration and delivery of applications, accelerates the creation of value streams, and achieves fast business iteration.
  • Step 4: Establish microservice governance. The microservice-based transformation divides complex services into small independent units that are loosely coupled with each other and support independent deployment and updates. This truly improves agility at the business layer. Users can implement microservices by using Alibaba Cloud EDAS, which supports services such as SpringCloud and Dubbo. However, as technologies continue to develop, the optimal solution for microservice governance is now service mesh (for the compatibility between ASM and Istio).
  • Step 5: Implement advanced management of microservices. The microservice architecture implements API management, distributed integration of microservices, and the automation of microservice processes. API management empowers enterprises to establish a multi-channel ecosystem (with self-owned channels, WeChat, and Tmall) and ultimately build an API economy. The distributed integration and process automation of microservices allow enterprises to set up a unified business mid-end.
  • Step 1: Build a single data center. Most enterprise customers in industries such as finance, telecommunications, and energy, run their business systems on private clouds within their data centers. Enterprises usually choose to build a single data center first in the early phase of their development.
  • Step 2: Set up multiple data centers. As the business grows and the importance of the data center increases, enterprises will build a disaster recovery centers or an active-active data center architecture to ensure that the services are still available when one of the data centers fails completely.
  • Step 3: Construct a hybrid cloud. As public clouds become increasingly popular, many enterprise customers are migrating their front-end business systems to public clouds or using cloud services from multiple cloud service providers. In this way, the underlying IT infrastructure eventually becomes a hybrid cloud or multi-cloud implementation.

Afterword

Original Source:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com