Orchestration is
(necessary)
bad
#0: who am I?
Piotr Stapp
Piotr Stapp
- CEO @ Dotnetomaniak
- VP @ devWarsztaty
- Head architect @FinAi
- M.Sc (distction) Oxford Brooks University in Web Tech
- M.Sc. Warsaw University of Technology in Computer Science
- Microsoft MVP
- Rzemiosło.IT speaker x 3
#1: History
(or architecture)
If you can’t feed a team with two pizzas, it’s too large. That limits a task force to five to seven people, depending on their appetites
Jeff Bezos
Why two pizza rule?
\Huge\tfrac{n*(n-1)}{2}
%n = # of people
n = # of people
How many links are in your group?
=> 15 links
=> 66 links
=> 1225 links
\tfrac{n*(n-1)}{2}
Two-pizza team (n=6)
2x two-pizza team
My company (~50 ppl)
Important dates
- 2007.02 -> RabbitMQ initial release -(1.0.0-alpha)
- 2010.10 -> AngularJS initial release
- 2011.05-> "microservice" term in Venice
- 2012.05 -> James Lewis - Micro services - Java, the Unix Way at Kraków
- 2013.03 -> Docker debuted at PyCon
- 2013.05 -> React initial release
- 2014.02 -> Vue.js initial release
- 2014.03 -> Docker 0.9 released
- 2014.06 -> Kubernetes initial release
- 2014.11 -> Docker annouced for AWS EC2
1
#2 Arch VS. release
???
From spaghetti to ...
(simple one)
by @gutek
Repeat & repeat
A bit lasagna and ravioli
by @gutek
"IKEA" release
Modern one
by @gutek and me :)
and ....
Title Text
Who runs the world?
Who runs the world?
The new kingmakers
The new kingmakers
#3 Kubernetes
or K8S (k12345678s)
From standard
by @gutek
to K8S pods
by @gutek
Uwaga: NIEBEZPIECZEŃSTWO
to K8S
1000 words
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: #{ApplicationName}#
spec:
selector:
matchLabels:
app: #{ApplicationName}#
replicas: 2
template:
metadata:
labels:
app: #{ApplicationName}#
spec:
containers:
- name: #{ApplicationName}#
image: #{image}#
ports:
- containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
name: #{ApplicationName}#
spec:
selector:
app: #{ApplicationName}#
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: #{ApplicationName}#
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: internal
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: #{ApplicationName}#
servicePort: 80
host: #{ApplicationName}#-app-#{EnvironmentName}#.internal.comapny.com
tls:
- secretName: internal.comapny.com
hosts:
- #{ApplicationName}#-app-#{EnvironmentName}#..internal.comapny.com
DEMO :)
Deployment strategies
#4 Future
or not
Next one
Kubernetes-based event-driven autoscaling.
by
Serverless in server room
#5 Bad things
or sum-up
Pets VS. cattle
Reklama :)
Najbliższa edycja we wrześniu:
Napisz do mnie na
piotr.stapp@gmail.com
a dostaniesz dodatkowy bonus
Pytania?
Pamiętaj o kursie we wrześniu
i napisz do mnie na
piotr.stapp@gmail.com
a dostaniesz dodatkowy bonus
orchestration is bad - rzemioslo.it
By Piotr Stapp
orchestration is bad - rzemioslo.it
- 103