You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and [Jorge Castro](https://www.linkedin.com/in/jorge-castro2112/).
@@ -43,10 +43,8 @@ All code contributions are under the Apache 2.0 license. Documentation is distri
43
43
44
44
To improve the Cloud Native Glossary site itself, install a local copy with these instructions. Note you must have [npm](https://www.npmjs.com/) and [Hugo](https://gohugo.io/) installed.
Copy file name to clipboardexpand all lines: content/en/container-orchestration.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,19 @@ status: Completed
4
4
category: Concept
5
5
---
6
6
7
-
[Container](/container/) orchestration refers to managing and automating the lifecycle of [containerized](/containerization/) applications in dynamic environments.
8
-
It's executed through a container orchestrator (in most cases, [Kubernetes](/kubernetes)), which enables deployments, (auto)scaling, auto-healing, and monitoring.
7
+
[Container](/container/) orchestration refers to managing and automating the lifecycle of [containerized](/containerization/) applications in dynamic environments.
8
+
It's executed through a container orchestrator (in most cases, [Kubernetes](/kubernetes/)), which enables deployments, (auto)scaling, auto-healing, and monitoring.
9
9
Orchestration is a metaphor:
10
-
The orchestration tool conducts containers like a music conductor, ensuring every container (or musician) does what it should.
10
+
The orchestration tool conducts containers like a music conductor, ensuring every container (or musician) does what it should.
11
11
12
-
## Problem it addresses
12
+
## Problem it addresses
13
13
14
-
Managing [microservices](/microservices), security, and network communication at scale — and [distributed systems](/distributed-systems) in general — is hard, if not impossible, to manage manually.
15
-
Container orchestration allows users to automate all these management tasks.
14
+
Managing [microservices](/microservices-architecture/), security, and network communication at scale — and [distributed systems](/distributed-systems/) in general — is hard, if not impossible, to manage manually.
15
+
Container orchestration allows users to automate all these management tasks.
16
16
17
17
## How it helps
18
18
19
-
Container orchestration tools allow users to determine a system's state.
19
+
Container orchestration tools allow users to determine a system's state.
20
20
First, they declare how it should look like (e.g., x containers, y pods, etc.).
21
-
The orchestration tool will then automatically monitor the infrastructure and correct it if its state deviates from the declared one (e.g., spin up a new container if one crashes).
21
+
The orchestration tool will then automatically monitor the infrastructure and correct it if its state deviates from the declared one (e.g., spin up a new container if one crashes).
22
22
This automation simplifies many of the engineering teams' otherwise highly manual and complex operational tasks, including provisioning, deployment, scaling (up and down), networking, load balancing, and other activities.
A microservices architecture is an architectural approach that breaks applications into individual independent (micro)[services](/service/), with each service focused on a specific functionality.
8
-
These services work together closely, appearing to the end user as a single entity.
9
-
Take Netflix as an example.
10
-
Its interface allows you to access, search, and preview videos.
8
+
These services work together closely, appearing to the end user as a single entity.
9
+
Take Netflix as an example.
10
+
Its interface allows you to access, search, and preview videos.
11
11
These capabilities are likely powered by smaller services that each handle one functionality, e.g., authentication, search, and running previews in your browser.
12
12
13
13
This architectural approach allows developers to push out new features or update functionality much faster than if they were all tightly coupled, such as in a [monolithic application](/monolithic-apps/) (more to that below).
14
14
15
15
## Problem it addresses
16
16
17
-
Applications are made up of different parts, each responsible for a specific capability.
18
-
Demand for a particular functionality will not necessarily increase or decrease with demand for other app parts.
19
-
Going back to our Netflix example.
20
-
Let's say that after a big marketing campaign, Netflix experiences a big spike in signups, but streaming has remained more or less stable in the early hours of the day.
21
-
The surge in signups demands more signup capacity.
22
-
Traditionally (monolithic approach), the entire app would have to be [scaled](/scalability/) to accommodate the increase — a very inefficient use of resources.
17
+
Applications are made up of different parts, each responsible for a specific capability.
18
+
Demand for a particular functionality will not necessarily increase or decrease with demand for other app parts.
19
+
Going back to our Netflix example.
20
+
Let's say that after a big marketing campaign, Netflix experiences a big spike in signups, but streaming has remained more or less stable in the early hours of the day.
21
+
The surge in signups demands more signup capacity.
22
+
Traditionally (monolithic approach), the entire app would have to be [scaled](/scalability/) to accommodate the increase — a very inefficient use of resources.
23
23
24
-
Monolithic architectures also make it easy for developers to succumb to design pitfalls.
25
-
Because all the code is in one place, it is easier to make that code [tightly coupled](/tightly-coupled-architectures/) and harder to enforce the principle of separation of concerns.
26
-
Monoliths also often require developers to understand the entire codebase before deploying any changes.
27
-
Microservices architecture is a response to these challenges.
24
+
Monolithic architectures also make it easy for developers to succumb to design pitfalls.
25
+
Because all the code is in one place, it is easier to make that code [tightly coupled](/tightly-coupled-architecture/) and harder to enforce the principle of separation of concerns.
26
+
Monoliths also often require developers to understand the entire codebase before deploying any changes.
27
+
Microservices architecture is a response to these challenges.
28
28
29
29
30
30
## How it helps
31
31
32
-
Separating functionality into different microservices makes them easier to deploy, update, and scale independently.
33
-
It also allows different teams to work simultaneously on a small part of a bigger application without inadvertently negatively impacting the rest of the app.
34
-
While a microservices architecture solves many problems, it also creates operational overhead — the things you need to deploy and keep track of increase by order of magnitude.
32
+
Separating functionality into different microservices makes them easier to deploy, update, and scale independently.
33
+
It also allows different teams to work simultaneously on a small part of a bigger application without inadvertently negatively impacting the rest of the app.
34
+
While a microservices architecture solves many problems, it also creates operational overhead — the things you need to deploy and keep track of increase by order of magnitude.
35
35
Many [cloud-native technologies](/cloud-native-tech/) aim to make microservices easier to deploy and manage.
0 commit comments