Slide 1

Slide 1 text

Mohan Pawar, Continuum @mohan08p Location Building Distributed Systems with Kubernetes

Slide 2

Slide 2 text

2 Agenda 1. What is Distributed System ? 2. Dev and DevOps Experience 3. Container Evolution 4. Container Orchestration 5. K8s Architecture

Slide 3

Slide 3 text

What is Distributed System ? “A collection of independent computers that appear to its users as one computer.” - Andrew Tannenbaum

Slide 4

Slide 4 text

Three Characteristics ● The computers operate concurrently ● The computers fail independently ● The computer do not share a global clock

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

The Dev people managing infrastructure just want a PaaS. The only requirement is: It has to be build by them

Slide 9

Slide 9 text

9 Source: What is kubernetes?

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

Containers are future deployment units.

Slide 12

Slide 12 text

We must treat the data center itself as one massive warehouse-scale computer

Slide 13

Slide 13 text

Kubernetes is a framework for building distributed platforms.

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

Microservices Architecture ● Modular ● Easy to deploy ● Scale Independently The Twelve-Factor App

Slide 16

Slide 16 text

16

Slide 17

Slide 17 text

What is Orchestration ? “The planning or coordination of the elements of a situation to produce a desired effect, especially surreptitiously.”

Slide 18

Slide 18 text

18

Slide 19

Slide 19 text

19

Slide 20

Slide 20 text

Kubernetes Key Concepts Pod: Smallest Unit of Deployment in Kubernetes Replication Controller(Replica Set): A loop that drives the current state to desired state Service: A set of running pods that work together Volumes: Pod level storage and configuration

Slide 21

Slide 21 text

Service Discovery 1. ClusterIP (internal) -- the default type means that this Service is only visible inside of the cluster 2. NodePort gives each node in the cluster an externally accessible IP and 3. LoadBalancer adds a load balancer from the cloud provider which forwards traffic from the service to Nodes within it.

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

Create Deploy Simulate End Chart Data Source Info Demo Time ● Using Kubernetes Engine to Deploy Apps with Regional Persistent Disks

Slide 24

Slide 24 text

Kubernetes ease the Canary and Blue-Green deployments

Slide 25

Slide 25 text

Istio ● Policy - Create a policy between the application. ● Observability - Observer the behaviour ● Security - per application instance ● Reliability - consistent performance according to specification “Kubernetes changed how we deploy applications, Istio is going to change how we connect, manage and secure them.”

Slide 26

Slide 26 text

Kubernetes Best Practices ● Building smaller containers. ● Organizing many projects with Namespace ● Health checking with Readiness and Liveness Probe ● Mapping external services ● Upgrade a cluster with zero downtime Source: Kubernetes Best Practices

Slide 27

Slide 27 text

Security Checklist for K8s ● Scan all your docker images for vulnerability testing ● Use RBAC over ABAC and assign optimum privileges to respective teams. ● Configure a Security Context for a Pod running your service. ● All the service endpoints should be protected. ● The datastore like etcd must be secured. ● Secret keys, encryption keys should be rotated over a period of time. ● Only admin should have access to `kubectl` ● Continuous Monitoring, log aggregation and analysis, etc.

Slide 28

Slide 28 text

Kubernetes Roadmap ● Kubernetes ease the deployment and management of containerized application and services. ● Containers, Micro-services, Kubernetes are long way to go. ● Leverage the serverless technology to use resources for smaller period of time. ● It will be great to see kubernetes into ML domain, IoT devices, blockchain technology or even self-driving cars running kubernetes.

Slide 29

Slide 29 text

Location Q/A

Slide 30

Slide 30 text

Location Thank you! /in/mohan08p @mohan08p