# Introduction

## What is Kubernetes

* Kubernetes (k8s) - popular container orchestrator
* Container orchestration - make many servers act like one
* Released by Google in 2015, maintained by large community
* Runs on top of Docker (usually) as a set of APIs in containers
* Provides API / CLI to manage containers across servers
* Many clouds provide it for you
* Many vendors make a "distribution" of it

## Why Kubernetes

* Orchestration: Next logical step in journey to a faster DevOps
* First, understand why you *may* need orchestration, as not every solution needs orchestration
* Number of servers + change rate = benefits of orchestration
* Then, decide which orchestrator
* If Kubernetes, decide which distribution
  * cloud or self-managed (Docker Enterprise, Rancher, OpenShift, Canonical, VMWare PKS)
  * don't usually need pure upstream version of k8s from Github

## Kubernetes or Swarm

* Kubernetes and Swarm are both container orchestrators
* Boths are solid platforms with vendor backing
* Swarm: easier to deploy / manage
* Kubernetes: More features and more flexibility
* Understand both and know your requirements

### Advantages of Swarm

* Comes with Docker, single vendor platform
* Easiest orchestrator to deploy / manage yourself
* Follows 80/20 rules (somewhat), 20% of features compared to k8s cover 80% of use cases
* Run anywhere Docker does
  * local, cloud, datacenter
  * ARM, Windows, 32-bit, etc

### Advantages of Kubernetes

* Clouds will deploy / manage Kubernetes for you
* Infrastructure vendors are making their own distributions
* Widest adoptions and community
* Flexible: covers widest set of use cases
* "Kubernetes first" vendor support
* "No one ever got fired for buying IBM"
  * picking solutions isn't 100% rational
  * trendy, will benefit your career
  * CIO / CTO checkbox


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://notebook.iuriioapps.com/containers-and-microservices/kubernetes/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
