Containerize
&
Evolution of Deployment Type
Docker
Docker Compose
Kubernetes
Evolution of Deployment Type
About Me
TWJUG @Vincent Huang
wide range skill set backend engineer 😎
research, coding, database, devops, infra. 😵
mainly write Java but also ❤️ Scala & Kotlin
http://github.jianminhuang.cc 🇹🇼
xTeam Studio
What is Docker ?
Docker is a computer program that performs operating-system-level virtualization , also known as " containerization ". It was first released in 2013 and is developed by Docker, Inc.
– from Wikipedia
Hardware Virtualization
DOSBox
Hyper-V
Parallels Desktop for Mac
VirtualBox
VMware
…
System in System in System in …
operating-system-level virtualization
(containerization)
container exist to run a single application
(k8s pod ✌)
Mom ! I'm Here ! 👋
docker run --name jenkins -d -p 8080:8080 -p 50000:50000 -e "TZ=Asia/Taipei" jenkins/jenkins:lts
docker run --name mysql -d -p 3306:3306 -e "TZ=Asia/Taipei" -e MYSQL_ROOT_PASSWORD=rootroot mysql:5.7
docker run -d -p 5900:5900 -e VNC_PASSWORD=password dorowu/ubuntu-desktop-lxde-vnc
docker run -d -p 8080:80 asia.gcr.io/himore-linder-boyainc-02/haon-ottol-mobile:0.1.0-rc11
docker run -d -p 8011:8011 -e activeProfiles=test -e "TZ=Asia/Taipei" -e GOOGLE_APPLICATION_CREDENTIALS=/Himore-Linder-Boyainc.json asia.gcr.io/himore-linder-boyainc-02/ottol-api:Slowpoke.1.0.0.201901150330.792851
Change for Deployment
Standardize Procedure
Application with Environment
Build Once, Run Anywhere (java say hello ☕)
Eazy to Horizontal Expansion by Yourself (aws say hi 💪)
Base of CI & CD, DevOps, Microservices, Cloud Native, etc.
# Already supported by frameworks or language !?
# Anything Java Ecosystem can't do !?
# Faster, Bigger, Lightweight or Cool(C,B,A) !?
Docker Compose
templating 📃
chef cookbook
ansible playbook
helm chart
terraform infrastructure as code
share network, share volume on same node
centralized management
horizontal expansion (scale agent=3)
version: "3"
services:
server:
image: jetbrains/ teamcity- server:2017.2 .4
expose:
- 8111
ports:
- "8111:8111"
volumes:
- ./dataDir:/ data/ teamcity_server/ dataDir
environment:
- TZ= Asia/ Taipei
networks:
- default
agent:
image: jianminhuang/ teamcity- agent:2017.2 .4 .1
environment:
- TZ= Asia/ Taipei
- SERVER_URL= http:
volumes:
- / var / run/ docker.sock:/ var / run/ docker.sock
networks:
- default
depends_on:
- server
nexus:
image: sonatype/ nexus
expose:
- 8081
ports:
- "8081:8081"
volumes:
- ./nexus- data:/ sonatype- work
networks:
- default
networks:
default:
thinking these deploy situation
ancient times (great respect 🦉)
single-module, a few instances -> docker
multi-module, many instances -> docker-compose
different server -> add reverse proxy (cost 😯)
face High Availability, Load Balancing issues
welcome to microservices world (🚀)
freestyle deploy by yourself (OMG 😧)
Docker Compose -> Container Orchestration 🎼
2W1H, What, Why, How
decentralized design
declarative service model
scaling & load balancing
desired state reconciliation
multi-host networking
service-side service discovery
rolling updates
kubernetes vs docker swarm
Kubernetes
#GKE #EKS #AKS
Next !?
helm & terraform, speed up (🏃🏃🏃)
Mom ! I'm Here ! Again !
Conclusion, Evolution of Deployment Type
Client Side
ancient times (great respect 🦉)
__P (CDN), CSR (SPA), SSR
Server Side
ancient times (great respect 🦉)
Ant, Maven, Gradle
run jar or war or docker image
Phsical Machine, VM, IAAS, PAAS
Microservices, Cloud Computing (AWS, GCP, Azure, etc.)
CAAS, Cloud Native (Kubernetes)
xTeam Studio
gaming start-up, flat organization
free culture, great benefit
do the thing right
cloud everything if we can
zeplin, zenhub, slack
github, travis ci
gcp, aws
open mind, nice to meet everyone
React & Vue Frontend, Java Backend, QA, PM
JD
Thanks for your time
Resume presentation
Containerize & Evolution of Deployment Type
{"metaMigratedAt":"2023-06-14T19:50:03.961Z","metaMigratedFrom":"YAML","title":"Containerize & Evolution of Deployment Type","breaks":true,"slideOptions":"{\"transition\":\"zoom\"}","contributors":"[{\"id\":\"9bf0eeb6-c898-41d4-86d2-6d6ca73f3221\",\"add\":24289,\"del\":17934}]","description":"TWJUG @Vincent Huang"}