enabling devops with kubernetes
TRANSCRIPT
Enabling DevOps with Kubernetes
www.container-solutions.com | [email protected]
About me
Java/JS/PHP/C++ developer for ±15 yearsTurned to the DarkOps side
Interest in technologies allowing developer-friendly operationsCommunity & ConferencesDOOM Enthusiast
Ádám Sándor (@adamsand0r)Engineer & Consultant at Container Solutions Amsterdam
www.container-solutions.com | [email protected]
Enabling DevOps?!?
www.container-solutions.com | [email protected]
Origins of DevOps
Ops team has different skill set and vocabulary than Dev teams
Has to manage increasingly complex software
Dev wants change - Ops wants stability
Business wants both...
www.container-solutions.com | [email protected]
Origins of DevOps
Benjamin Treynor Sloss rethinks operations at Google -> SRE
Ops becomes development team for operations software
Use automation to scale with increasing application complexity
Popular tools emerge: Puppet, Chef, Ansible, ...
WAR
RPM
GEM
EXE
OS
Libraries
JVM
Application Server
WAR
+ Monitoring+ Scaling+ Redundancy+ Resource mgnt
Operations stand in the way of releases
www.container-solutions.com | [email protected]
Microservices!!!
Main Page
(NodeJs)
SSO (Java)
User Data
(Java)
Reservations
(Ruby)
Log Aggergati
on
Reservation Page
(NodeJs)
Session (Redis)
www.container-solutions.com | [email protected]
Microservices!!!
Aimed at increasing team velocity and compartmentalising change
Daily releases to production
Exploding number of components
Tying together application components pushed to Ops
Old tooling can’t keep up with exploding complexity
www.container-solutions.com | [email protected]
Microservice Platform
Add another layer of abstraction
Encode best practicesImmutable artifacts - rely on your build pipelineDynamic runtime - scale with usage, restart if dies
Add servicesMonitoring, Log aggregation, Isolation, Service Discovery, Load Balancing,Zero Downtime Deployments
manifestmanifest
Reservations
Redis
Microservice Platform
Platform
Main page
Uniform deliverables Runtime application platform
manifest
manifestmanifest
Reservations
Redis
Dev Ops
Platform
Main page
manifest
Deliver production-ready softwareOwn all environmentsDeploy without involving Ops team
Keep the platform up and running
A new Buzzword!
Cloud Native Computing
Why Docker?
Local development made easy
Golden image principle to build on others’ work
Lighter at build, lighter at runtime
Reservations
Redis
Main page
Why Kubernetes?
Most advanced & mature orchestrator
Manages different types of workloads with built-in primitives
Create environments in seconds - namespace isolation
Runs on any cloud & bare metal
Open-source with the CNCF behind it
Excluding merges, 159 authors have pushed 577 commits to master and 662 commits to all branches. On master, 1,504 files have changed and there have been104,684 additions and 26,727 deletions.
www.container-solutions.com | [email protected]
Kubernetes - physical view
Master
Node Node Node
api-servercontroller-managerscheduleretcd
Nodekubeletkube-proxy
RedisMain page
Main page
Main page
RedisReservations Redis
kubeletkube-proxy
kubeletkube-proxy
kubeletkube-proxy
www.container-solutions.com | [email protected]
Kubernetes - logical view
Deployment[front-end]
ReplicaSet3x [front-end]
Pod[front-end]
Servicehttp://front-end
Autoscaler (HPA)[3 - 20] instances
Pod[front-end]
Pod[front-end]
StatefulSet DaemonSet
BatchJob
Demo Time!
Fontend Backend DB
MiniKube
Demo Time!
Fontend
Backend
DB
Ádám Sándor@adamsand0r