Getting Started with Kubernetes | A Brief History of Cloud-native Technologies

A Brief History of Cloud-native Technologies

  • From 2004 through 2007, Google applied container technologies such as control groups (Cgroups) throughout the enterprise.
  • In 2008, Google merged Cgroups into the Linux kernel backbone.
  • In 2013, the Docker project was officially launched.
  • In 2014, the Kubernetes project was officially launched. It is easy to figure out the reason. When containers and Docker are available, people need a way to manage these containers conveniently, quickly, and gracefully. Kubernetes is developed precisely to meet this demand. After Google and Red Hat released Kubernetes, the project grew dramatically.
  • In 2015, the Cloud-native Computing Foundation (CNCF) was jointly founded by some top-tier cloud computing vendors such as Google, Red Hat, and Microsoft, as well as some open-source companies. CNCF started with 22 founding members, and Kubernetes was the first open-source hosted project. Since then, CNCF developed rapidly.
  • In 2017, CNCF grew to 170 members and 14 foundation projects.
  • In 2018, CNCF had 195 members, 19 foundation projects, and 11 incubation projects on its third anniversary. This rapid development is pretty rare in the entire field of cloud computing.

Status Quo of the Cloud-native Ecosystem

Discussing the cloud-native ecosystem brings a huge set of technologies to the table. The CNCF cloud-native landscape includes more than 200 projects and products that fit within CNCF. Based on this landscape, today’s cloud-native actually covers the following aspects:

We are at a Critical Moment for the Cloud-native Era

2019 was the critical year of the cloud-native era. Why? Let’s explain it in a simple way.

What Is Cloud-native? How Is Cloud-native Implemented?

Definition of Cloud-native

Many people are asking, “What exactly is cloud-native?”

  • Second, it is naturally integrated with “cloud” by making the best use of cloud capabilities, to give “cloud” full play.

Technological Scope of Cloud-native

Cloud-native technologies cover the following aspects:

  • Orchestration and Management of Cloud Applications: This is also the focus of Kubernetes. This process includes application orchestration and scheduling, service discovery and governance, remote calls, API gateways, and service mesh.
  • Monitoring and Observability: This part emphasizes how cloud applications are monitored, logged, and traced, and how destructive tests are implemented on the cloud. This is also the concept of chaos engineering.
  • Underlying Technologies of Cloud-native: Technologies such as container runtime, cloud-native storage technology, and cloud-native network technology.
  • Cloud-native Toolkit: In addition to the preceding core technologies, use many supporting ecosystems or peripheral tools. For example, the toolkit includes process automation and configuration management, container image repositories, cloud-native security technologies, and cloud-based password management.
  • Serverless: Serverless is a special form of PaaS. It defines a more “extreme and abstract” application writing method, incorporating concepts like “Functions as a Service (FaaS)” and “Backend as a Service (BaaS)”. The most typical feature of FaaS and BaaS is pay-as-you-go. Therefore, serverless billing is also important.

Two Theories of the Cloud-native Concept

After learning about the technological scope of cloud-native, it is concluded that cloud-native includes a lot of technologies, the essentials of which are similar. In essence, cloud-native technologies are based on two theories:

  • Cloud Application Orchestration. Currently, cloud-native technologies are implemented based on “container design patterns” proposed by Google, which will be discussed in Kubernetes articles.

Infrastructure Evolution to the Cloud

The concept of “immutable infrastructure” reflects that the infrastructure on which applications are running is evolving to the cloud. There is a contrast. Before evolution, the conventional application infrastructure is changeable in most cases. For example, to release or update software, you may often connect the software to the server through SSH, manually upgrade or downgrade the software package, adjust the configuration files on the server in order, or directly deploy the new code to the existing server. Therefore, in such cases, the infrastructure is constantly adjusted and modified.

Benefits of Infrastructure Evolution to the Cloud

The process in which the infrastructure evolves to be “immutable” provides us with two important benefits.

  • 2) An image in cloud-native is self-contained, containing all the dependencies required for running an application. That is also the reason why an image is migrated to any location on the cloud.

2019 — The Popularization Year of Cloud-native Technologies

Why was 2019 a critical year? We believe that 2019 was the year when the popularization of cloud-native technologies started.

Prerequisite Knowledge

You may be wondering what prerequisite knowledge is required to learn the basics of cloud-native. Generally, the required prerequisite knowledge is divided into the following parts:

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