4. Speaker
• Ralf Yang = DevOps, Technical Architect
• Since 2004 ~
- Startup company System Engineer
- NHN Services Operations
- Yahoo! Korea Service Engineer
- EstSoft, Zum.com System Admin
- Dell international Enterprise Tech. Support Sr. Analyst
- GS SHOP Technical Architect
- code post (현)
http://ralfyang.com
5. Speaker
• 활동
- Open-source committer:
• Zinst, Zinst packages, Cloud-dashboard, Docker-Cli-Dashboard etc.
• https://zinst.me
- FaceBook DevOps Korea Group Admin
• https://www.devopskorea.com
- With Monty: Father of MySQL - - With Joshua: God Father of OpenStack - - With Patrick McGarry: Director of Ceph Community -
8. Docker ?
•LXC(Linux Container)
- Host server의 Kernel을 공유 -> 별도의 Booting 과정이 없다
- Docker-image를 online registry(Repository 개념)에서 바로 받아 올 수 있다
•Default registry: hub.docker.com
•private registry: ex) private.registry.ralfyang.com/centos:6.5
- Docker image 내부에 독집적인(isolated) Runtime 환경을 별도로 만들어서 전달 할 수 있다
9. Docker-compose ?
•Docker compose ? : Provisioning set file for docker container
•ex) https://github.com/goody80/SolrCloud_docker_compose
이미지 출처: https://blog.docker.com/media/2015/11/logo-title-final-compose-2b.png
12. Vagrant 이해하기
•Vagrantfile
•Vagrant file구조
i 값은 0~9까지, 10개의 instance가 hostname을 기반으로 생성되는 영역
ex) vagrant up vmhost01 && vagrant up vmhost02
vagrant up rancher 라고 입력 했을 시 사용되는 영역
vagrant default setting
Github: https://github.com/goody80/vagrant_rancher_cluster
17. Vagrant 사용하기
•VM create by Vagrant provisioning
-$] cd vagrant_rancher_cluster; vagrant up rancher
Github: https://github.com/goody80/vagrant_rancher_cluster
38. Hands on
•Provisioning by Docker-compose
•vagrant ssh vmhost01
•$] sudo -i
•$] cd /data/source; git clone https://github.com/goody80/docker-elk
•Stack add by docker-compose.yml
•Make a Load-Balancing group
•Try to scale-up
43. Developer
(Requester)
I Need a
Wordpress!
DevOps
for CD
OK, Hold on..
Find a base image for
wordpress
- rhel-wordpress-html-embed
- rhel-mysql-4gb
Docker registry
Docker run
Host
rhel-wordpress-html-embed
rhel-mysql-4gb
Host
rhel-wordpress-html-embed
rhel-mysql-4gb
Host
haproxy
haproxy
Logstash
Host
Elastic Search
Kibana
logspout logspout
BCP
Load balancing
HA
Service On
Log collector
Agent for
event stream log
Log gathering
ELK Metric
Dashboard
cAdvisor
cAdvisor
cAdvisor cAdvisor
Requirement for Container Automation:
- Scale out/in
- Rolling upgrade
- Security
- Volume mount
- Backup
- Service discovery
- Load balancing
- Routing
컨테이너 기반의 Service Delivery 체계 구축 예시
47. Continues Delivery를 왜 해야 하는가? (1/2)
-배포 업무 성숙도 향상
•무중단 배포 -> 지속적인 배포 -> 빠른 개발 빠른 출시
•Dev. = Stage = Production -> 충분한 테스트 -> 배포에 따른 문제 최소화
•Human error 예방
-전략적 배포 기법
•Canary release -> Soft-landing
•Blue/green deployment
•AB Test -> UX -> Service 만족도 향상
Blue-green Deployments, A/B Testing, and Canary Releases:
http://blog.christianposta.com/deploy/blue-green-deployments-a-b-testing-and-canary-releases/
48. Continues Delivery를 왜 해야 하는가? (2/2)
-장애대응
•빠르고 정확한 장애진단 및 복구
-서비스 상황 대응
•Scale-out/in
•빠르고 정확한 롤백
-보안
•네트워크 분리
•접근제어