Skip to content

Commit c76d919

Browse files
author
Tamás Hódi
committed
add content for pre training post
1 parent 70fe6c1 commit c76d919

File tree

3 files changed

+59
-5
lines changed

3 files changed

+59
-5
lines changed

01_intro.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,12 @@ Install:
88
In nutshell:
99
- docker
1010
- kubernetes
11+
12+
13+
Containers
14+
15+
Application containerization is an OS-level virtualization method used to deploy and run distributed applications without launching an entire virtual machine (VM) for each app.
16+
Containers work on bare-metal systems, cloud instances and virtual machines, across Linux and select Windows and Mac OSes.
17+
18+
19+
Docker

install_osx.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
# virtualBox
44
brew cask install virtualbox
55

6+
# docker
7+
brew cask install docker
8+
open /Applications/Docker.app
9+
sudo docker run hello-world
10+
611
# kubectl
712
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl
813
kubectl version
@@ -12,10 +17,5 @@ brew cask install minikube
1217
minikube version
1318
minikube start
1419

15-
# docker
16-
brew cask install docker
17-
open /Applications/Docker.app
18-
sudo docker run hello-world
19-
2020
# jq
2121
brew install jq

post.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Intro
2+
- microservices architecture shifts complexity from the space of code design and implementation into system operations
3+
- pushing the complexity from one place (software design and development) to another (operations) is just like hiding some tricky parts in somewhere else
4+
- k8s lets you to automate things and solve the problems easily
5+
6+
![alt text](https://martinfowler.com/bliki/images/microservicePrerequisites/sketch.png "MS meme by Martin Fowler")
7+
8+
# Problems
9+
10+
## Change management
11+
- rapid provisioning of new resources
12+
- services can come and go
13+
- should be able to deploy a new service quickly
14+
15+
### Deployment strategies
16+
- k8s deployment `.spec.strategy.type==Recreate` will kill all pods before new ones are created
17+
- 0 downtime deployment - `.spec.strategy.type==RollingUpdate` controls the process with `maxUnavailable` and `maxSurge`
18+
- blue/green
19+
- canary
20+
21+
### Bootstrapping
22+
- graceful start / shutdown
23+
24+
## Communication
25+
26+
### Slow communication
27+
- use cache for GET
28+
- fail fast when POST, PUT, DEL
29+
30+
### Direct communication
31+
- client never calls the service
32+
- use API gateway
33+
34+
### + Scaling
35+
- persistent problem for MS and monoliths
36+
- HPA
37+
- heapster
38+
- rate limitation
39+
40+
### Monitoring
41+
- loosely-coupled services collaborating
42+
- detect serious problems
43+
44+
envoy
45+
- caching server + client? invalidate manually?

0 commit comments

Comments
 (0)