@@ -32,65 +32,6 @@ Kubernetes project in 2014. Kubernetes combines
32
32
[ over 15 years of Google's experience] ( /blog/2015/04/borg-predecessor-to-kubernetes/ ) running
33
33
production workloads at scale with best-of-breed ideas and practices from the community.
34
34
35
- ## Going back in time
36
-
37
- Let's take a look at why Kubernetes is so useful by going back in time.
38
-
39
- ![ Deployment evolution] ( /images/docs/Container_Evolution.svg )
40
-
41
- ** Traditional deployment era:**
42
- Early on, organizations ran applications on physical servers. There was no way to define
43
- resource boundaries for applications in a physical server, and this caused resource
44
- allocation issues. For example, if multiple applications run on a physical server, there
45
- can be instances where one application would take up most of the resources, and as a result,
46
- the other applications would underperform. A solution for this would be to run each application
47
- on a different physical server. But this did not scale as resources were underutilized, and it
48
- was expensive for organizations to maintain many physical servers.
49
-
50
- ** Virtualized deployment era:** As a solution, virtualization was introduced. It allows you
51
- to run multiple Virtual Machines (VMs) on a single physical server's CPU. Virtualization
52
- allows applications to be isolated between VMs and provides a level of security as the
53
- information of one application cannot be freely accessed by another application.
54
-
55
- Virtualization allows better utilization of resources in a physical server and allows
56
- better scalability because an application can be added or updated easily, reduces
57
- hardware costs, and much more. With virtualization you can present a set of physical
58
- resources as a cluster of disposable virtual machines.
59
-
60
- Each VM is a full machine running all the components, including its own operating
61
- system, on top of the virtualized hardware.
62
-
63
- ** Container deployment era:** Containers are similar to VMs, but they have relaxed
64
- isolation properties to share the Operating System (OS) among the applications.
65
- Therefore, containers are considered lightweight. Similar to a VM, a container
66
- has its own filesystem, share of CPU, memory, process space, and more. As they
67
- are decoupled from the underlying infrastructure, they are portable across clouds
68
- and OS distributions.
69
-
70
- Containers have become popular because they provide extra benefits, such as:
71
-
72
- * Agile application creation and deployment: increased ease and efficiency of
73
- container image creation compared to VM image use.
74
- * Continuous development, integration, and deployment: provides for reliable
75
- and frequent container image build and deployment with quick and efficient
76
- rollbacks (due to image immutability).
77
- * Dev and Ops separation of concerns: create application container images at
78
- build/release time rather than deployment time, thereby decoupling
79
- applications from infrastructure.
80
- * Observability: not only surfaces OS-level information and metrics, but also
81
- application health and other signals.
82
- * Environmental consistency across development, testing, and production: runs
83
- the same on a laptop as it does in the cloud.
84
- * Cloud and OS distribution portability: runs on Ubuntu, RHEL, CoreOS, on-premises,
85
- on major public clouds, and anywhere else.
86
- * Application-centric management: raises the level of abstraction from running an
87
- OS on virtual hardware to running an application on an OS using logical resources.
88
- * Loosely coupled, distributed, elastic, liberated micro-services: applications are
89
- broken into smaller, independent pieces and can be deployed and managed dynamically –
90
- not a monolithic stack running on one big single-purpose machine.
91
- * Resource isolation: predictable application performance.
92
- * Resource utilization: high efficiency and density.
93
-
94
35
## Why you need Kubernetes and what it can do {#why-you-need-kubernetes-and-what-can-it-do}
95
36
96
37
Containers are a good way to bundle and run your applications. In a production
@@ -174,6 +115,71 @@ Kubernetes:
174
115
It shouldn't matter how you get from A to C. Centralized control is also not required. This
175
116
results in a system that is easier to use and more powerful, robust, resilient, and extensible.
176
117
118
+ ## Historical context for Kubernetes {#going-back-in-time}
119
+
120
+ Let's take a look at why Kubernetes is so useful by going back in time.
121
+
122
+ ![ Deployment evolution] ( /images/docs/Container_Evolution.svg )
123
+
124
+ ** Traditional deployment era:**
125
+
126
+ Early on, organizations ran applications on physical servers. There was no way to define
127
+ resource boundaries for applications in a physical server, and this caused resource
128
+ allocation issues. For example, if multiple applications run on a physical server, there
129
+ can be instances where one application would take up most of the resources, and as a result,
130
+ the other applications would underperform. A solution for this would be to run each application
131
+ on a different physical server. But this did not scale as resources were underutilized, and it
132
+ was expensive for organizations to maintain many physical servers.
133
+
134
+ ** Virtualized deployment era:**
135
+
136
+ As a solution, virtualization was introduced. It allows you
137
+ to run multiple Virtual Machines (VMs) on a single physical server's CPU. Virtualization
138
+ allows applications to be isolated between VMs and provides a level of security as the
139
+ information of one application cannot be freely accessed by another application.
140
+
141
+ Virtualization allows better utilization of resources in a physical server and allows
142
+ better scalability because an application can be added or updated easily, reduces
143
+ hardware costs, and much more. With virtualization you can present a set of physical
144
+ resources as a cluster of disposable virtual machines.
145
+
146
+ Each VM is a full machine running all the components, including its own operating
147
+ system, on top of the virtualized hardware.
148
+
149
+ ** Container deployment era:**
150
+
151
+ Containers are similar to VMs, but they have relaxed
152
+ isolation properties to share the Operating System (OS) among the applications.
153
+ Therefore, containers are considered lightweight. Similar to a VM, a container
154
+ has its own filesystem, share of CPU, memory, process space, and more. As they
155
+ are decoupled from the underlying infrastructure, they are portable across clouds
156
+ and OS distributions.
157
+
158
+ Containers have become popular because they provide extra benefits, such as:
159
+
160
+ * Agile application creation and deployment: increased ease and efficiency of
161
+ container image creation compared to VM image use.
162
+ * Continuous development, integration, and deployment: provides for reliable
163
+ and frequent container image build and deployment with quick and efficient
164
+ rollbacks (due to image immutability).
165
+ * Dev and Ops separation of concerns: create application container images at
166
+ build/release time rather than deployment time, thereby decoupling
167
+ applications from infrastructure.
168
+ * Observability: not only surfaces OS-level information and metrics, but also
169
+ application health and other signals.
170
+ * Environmental consistency across development, testing, and production: runs
171
+ the same on a laptop as it does in the cloud.
172
+ * Cloud and OS distribution portability: runs on Ubuntu, RHEL, CoreOS, on-premises,
173
+ on major public clouds, and anywhere else.
174
+ * Application-centric management: raises the level of abstraction from running an
175
+ OS on virtual hardware to running an application on an OS using logical resources.
176
+ * Loosely coupled, distributed, elastic, liberated micro-services: applications are
177
+ broken into smaller, independent pieces and can be deployed and managed dynamically –
178
+ not a monolithic stack running on one big single-purpose machine.
179
+ * Resource isolation: predictable application performance.
180
+ * Resource utilization: high efficiency and density.
181
+
182
+
177
183
## {{% heading "whatsnext" %}}
178
184
179
185
* Take a look at the [ Kubernetes Components] ( /docs/concepts/overview/components/ )
0 commit comments