Before we talk about cloud native, let’s start with container technology.
In recent years, Cloud Native is one of the hottest concepts in the IT field, and with the continuous deepening of the popularization of Cloud computing, there is a trend of more and more intense. Today, cloud native is no longer the exclusive of a few large enterprises, more and more enterprises are embracing it and enjoying the dividends it brings.
When it comes to cloud native, we have to understand container technology first. As an advanced virtualization technology, container technology supports half of the cloud native ecosystem and has become the standard infrastructure for software development and operation and maintenance in the cloud native era. Before we talk about cloud native, let’s start with container technology.
Review cloud native development
The whole cloud-native ecosystem is thriving, and it has grown from the Kubernetes project itself to a vast and rich territory today. There are many container runtime, container storage, container network, and hardware accelerator schemes to choose from. At the user level, K8s northbound can run and connect with various mainstream databases and middleware in the industry. At present, more than 90 vendors have provided certified CLOUD services or distributions of K8s, and provided abundant peripheral software and supporting services.
Kubernetes version 1.0 was released in 2015, marking the production availability of K8s, and many enterprises have begun to try to use Kubernetes in production environments. In the same year, CNCF Cloud Native Computing Foundation, which is responsible for the promotion and management of cloud native open source projects and technologies represented by K8s container, was established. Huawei Cloud is one of the founding members of CNCF.
In just two years, K8s has standardized and unified various container platforms. In 2017, major cloud vendors have launched Kubernetes Service, and K8s has become synonymous with Container Service. At the end of the year, container technology pioneer Docker also announced support for Kubernetes in its enterprise Docker EE product. At this point, container ecology is unified on the Kubernetes platform.
By 2020, K8s will be released version 1.19, 19 major versions have been released since 2015 1.0, various features and interface APIS have tended to be stable, K8s has entered the mature stage. How will the community develop in the future? Will the DEVELOPMENT of the K8s slow down? On the contrary, Huawei Cloud native team believes that K8s will enter a more rapid development stage, and K8s will be more deeply combined with cloud computing applications, platforms and devices.
All kinds of modern applications will run on K8s, not only stateless applications represented by Current Internet App and WebService, but new stateful applications such as big data, AI, distributed data middleware and new edge applications will also run on K8s. Thus K8s will complete the normalization of various existing platforms and become a unified basic platform for application operation. In order to better support modern applications and unified basic technology platform, all kinds of equipment including virtualization computing/network/storage, bare metal server and dedicated chips such as AI, high-performance network, high-performance storage and so on will be more closely with K8s. Through the software and hardware integration solution to provide higher performance, more stable, more reliable, more efficient infrastructure for upper-layer applications. The synergy between K8s and “application, platform and device” means that K8s will truly become “Cloud OS” — Cloud OS.
** From the perspective of the industry, all kinds of enterprises are currently in the era of the explosion of new technologies represented by 5G, AI, edge, VR, Internet of Everything, etc. It is urgent to optimize the business operation efficiency of enterprises and accelerate the business innovation ability. ** In this context, there is an urgent need for standardized and unified management of IT infrastructure technology platforms within enterprises.
The flexible architecture of Kubernetes makes the cloud native technology represented by K8s become the best carrier of this “standardized enterprise IT unified management platform”. Firstly, through K8s southward and various standardized interfaces of the resource layer, enterprises can easily achieve unified management of infrastructure resources. Secondly, through K8s northbound standardized application API and CRD expansion capability, enterprises can easily unified management of all kinds of upper-layer businesses and achieve unified business architecture. Finally, Through various application management standards represented by Operator and Helm in THE K8s community, enterprises can build a unified IT application service catalog, realize application sharing, and build a unified IT application management platform.
Therefore, in the future, various basic software platforms existing in enterprises typically include application and micro-service platforms represented by Continuous DevOps delivery and micro-service development, data platforms represented by AI, big data and batch computing, and edge platforms facing 5G, Internet of Things, video and other scenarios. Will be unified on the K8S-BASED “cloud native architecture technology platform”. Thus, enterprises based on cloud native technology platform will truly achieve unified management of various businesses in the enterprise.
Huawei Cloud adheres to building a standardized, open source and open cloud native technology platform
Huawei Cloud observed this technological trend as early as 2018, and built Vessel cloud native technology platform in container full stack products, which mainly includes cloud native infrastructure components for unified resource layer represented by container engine iSula, container network Yangtse and container Storage Everest. And cloud native application platform components for unified application layer represented by application scheduling Volcano, cloud edge collaborative framework KubeEdge, application grid Terrace, monitoring and governance Glacier. In addition, it is combined with huawei Cloud Sky software and hardware integration architecture to provide enterprise-level cloud native technology platform with high reliability, high performance, open and easy to use for users in various industries.
Huawei Cloud adheres to building a standardized, open source and open cloud native technology platform. It not only deeply participates in core projects in the community including K8s, Istio and Federation, but also opens the core capabilities of its own products to the outside world. Huawei Cloud opened source KubeEdge Edge computing project and Volcano Batch computing project respectively in 2018 and 2019, and donated to CNCF Foundation, which received positive response from the community. These two projects have been applied in many domestic and foreign enterprises’ actual production environment.
KubeEdge is also about to enter the CNCF Incubator incubation phase. In the infrastructure layer, Huawei cloud has widely participated in or opened a number of open source projects in the aspects of runtime, network, storage, heterogeneous facilities, etc., to share the rich accumulation of Huawei cloud in the infrastructure layer with the community, and jointly promote the rapid innovation and development of Kubernetes and CNCF cloud native community.
Core technology advantages of cloud native
The cloud has provided us with a stable and readily available infrastructure, but the cloud has become a challenge for the business, and Kubernetes emerged not as an original container choreography solution but as a solution to the cloud on applications (i.e., cloud native applications). Including microservices and FaaS/Serverless architectures, both can be used as architectures for cloud native applications.
So why is cloud native so popular? Generally speaking, it has the following advantages:
-
Decoupled software development using technologies such as containers and service grids improves the flexibility and maintainability of business development deployments
-
Kubernetes as the core of multi-level, rich open source software stack, supported by major manufacturers, users choose more, avoid binding manufacturers
-
Loosely coupled platform architecture with K8s as its core, easy to expand and avoid intrusive customization – K8s has been recognized as platform for platform
-
Manage and schedule applications/microservices dynamically through the central orchestration process to improve work efficiency and resource utilization
Here are two examples of cloud native technologies to help deepen your understanding.
- Cloud Native technology: Kubernetes’ declarative API – new distributed primitives for developers
**
**
One of Kubernetes’ greatest strengths must be its declarative API design, which tells Kubernetes what you want, rather than how to command it. In the daily business development process, although the conventional resources basically meet the needs, most of these conventional resources are just objects representing relatively low-level and general concepts. In some cases, we always want to customize our resource types according to the business, and use kubernetes declarative API. Monitor the increase, deletion, change and check of resources and make specific business functions.
With a custom resource definition API, developers do not need to step through Deployment, Service, ConfigMap, etc., but instead create and associate objects that represent the entire application or software Service. API objects are complementary and composable to each other. In addition, you can use custom higher-order objects and create low-level objects from those higher-order objects.
- Cloud native technology: Service grid – Stripped of business code and distributed frameworks
**
**
The service grid takes over the application’s service communication in a non-invasive manner. For each business unit/module, they don’t even need to have any awareness of network communication, load balancing, etc.
The service grid provides fine-grained traffic governance, including grayscale publishing, fault injection, observability support and other capabilities, making it easy to maintain business applications. For enterprise developers, the service grid is a great way to separate business code from distributed frameworks, with the platform team focusing on the development and tuning of the framework layer and the business team focusing on the development of the business itself.
Three innovations officially opened the CloudNative 2.0 era
In the current Cloud Native 1.0 era, although Cloud Native accelerates application development and simplifies operation and maintenance to a certain extent, as Cloud Native technology focuses ON the application layer, the current Cloud infrastructure is just a simple superimposed “Cloud Native ON infrastructure” architecture. At this point, enterprises will bring a single application ecology, single data center architecture and application in resource fragmentation have become the current large-scale implementation of cloud native enterprises are still facing challenges.
To this end, Huawei Cloud launched the Cloud Native infrastructure solution and proposed the fusion architecture of “Cloud Native IN infrastructure”, promoting Cloud Native to Cloud Native 2.0 and building an era of application-centered Cloud Native infrastructure.
- ** Redefining infrastructure: ** Huawei Cloud realizes application-centric resource scheduling based on Optimus architecture, and combines soft and hard collaboration technology to provide enterprises with cloud native infrastructure with ultimate performance, ultimate cost and ultimate experience.
- ** New Enabling ubiquitous application: ** Huawei Cloud creates multi-cloud and multi-cloud collaborative management platform based on cloud native cluster federation and edge cloud collaboration technologies, which can help enterprises build an efficient, reliable, cross-cloud unified business platform and provide multi-cloud consistent management experience. For edge scenarios, Huawei Cloud Edge IEF provides edge cloud collaborative computing framework, offline autonomy, network jitter prevention, and fault self-healing technologies to help enterprises extend services to the edge and build a cloud native edge cloud service platform.
- ** Upgrade the application architecture: ** Huawei Cloud adheres to building an open and standardized application ecosystem. Based on the cloud native Operator framework, huawei Cloud realizes standardized life cycle management of various distributed middleware and builds a unified distribution, online, operation and maintenance platform for enterprise applications. The application service grid based on Istio upgrades the service governance mode of enterprises, realizes non-invasive micro-service governance of business, and creates a unified application governance architecture. Volcano batch computing engine provides enterprises with efficient scheduling capabilities for all kinds of AI, big data, offline and real-time computing businesses, and helps enterprises quickly build intelligent data computing businesses and a unified application computing platform.
CNCF Nova Project
Edge computing is a complement and extension to cloud computing, aiming to bring computing and connectivity closer together to build the foundation of the Internet of everything. The construction of edge computing platform based on cloud native technology will bring four core technical values of universality of connection, optimization of data bandwidth, off-line autonomy of edge business, improvement of security and protection of privacy. However, in the application of K8S technology, there are some problems such as limited edge resources, poor network, off-line autonomy, device access and management.
No matter from the distribution of edge applications, the reliability of edge applications or the mechanism of edge cloud collaboration, cloud native edge computing is conducive to making edge have “elasticity” like cloud, so that applications can be “smoothly” deployed to the edge and keep the consistency between the edge and cloud.
Through better architecture and technology implementation, it is perfect to meet the current challenges. Huawei cloud launched the first cloud native edge computing project in the industry, and KubeEdge, which supports Apache 2.0 protocol, based on Kubernetes architecture system, provides support for edge scenes such as offline operation ability, edge cloud collaboration ability and other special capabilities, extending the cloud native ecology and development experience to the edge. Provide developers with a unified view of development, deployment, and management, shielding the differences between edge and cloud.
KubeEdge is built by Kubernetes, 100% compatible with K8s API, cloud side collaboration, edge offline autonomy, extreme lightweight, mass device support and other six capabilities to extend Kubernetes capabilities to the edge. It was declared open source in November, 2018, and became an official project of CNCF in March, 2019. It was promoted to CNCF incubation project in 20th. There are more than 460 community contributors and more than 35 community member units. As CNCF’s first cloud native edge computing project, it has also become the reference architecture of K8s IoT Edge WG and Akraino community edge services.
At the same time, in the process of AI and big data migrating to cloud native, K8S capability gap is faced with resource allocation/job deadlock, resource topology optimization, dependency between tasks, job queuing resource reservation and other capability gaps. Therefore, Huawei cloud design and open source Volcano project.
Volcano is the next generation batch computing platform built on Kubernetes, which provides job management, batch scheduling, dependency management, resource reservation and other capabilities. It supports several mainstream computing frameworks in the industry, including TensorFlow, Spark, MPI, and Slurm. It helps users quickly migrate computation-intensive services such as AI and big data from traditional Batch and HPC systems to cloud native systems.
Volcano announced open source in KubeCon Shanghai in June 2019. Currently, 3 feature versions have been released, which are recognized and supported by many enterprises. More than 70 developers have contributed code to the project.
If you want to further understand and learn about cloud native, welcome to watch huawei cloud 1024 Programmer festival of the technical speech
Live ceremony: invite huawei cloud native open source responsible person, Huawei Cloud DevCloud chief technology evangelist and other 10+ big names to appear, analyze the industry trend of cloud native, inclined to teach cloud native practical secrets. Click to watch live.
Dry goods through train: master level experts hand in hand teaching, experience and technology sharing is indispensable, and online interactive q&A, bring you to reveal the deepest code technology of big factory, click to view each technology conference, dig more dry goods!
** Note: ** This article is compiled from the live broadcast of huawei Yunyun native open source leader at the event of 1024 Programmer Festival.
Click to follow, the first time to learn about Huawei cloud fresh technology ~