Docker Practice in Alibaba Cloud
Yi Li
Alibaba Cloud Architect
(NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
Agenda
• Cloud and Docker Status Update in China!• Successful Stories!
• Aliyun Container Service!• Dedicated Cloud Powered By Container!• Scalable Docker Image Distribution!!
Alibaba Cloud: A Global Player for Cloud Computing
USWest
Europe
Russia
CNNorthCNEast
Japan
HongKongCNSouth
Singapore
MiddleEast
Opened
Planned
USEast
Cloud and Docker Status Update in China
China cloud relative to the West – DB!
l China’s cloud spending to reach 24.5% of the West by 2018 from 5.7% in 2015!
l More than 80% respondents are already using or plan to use containers, but only 10% used in production environment.!
Survey result from 350+ feedbacks by Alibaba Cloud, June 2016 !
Docker Adoption in China!
version: '2' !services: ! wordpress: ! image: wordpress:4.5 ! restart: always ! links: ! - 'db:mysql' ! volumes: ! - 'wp_upload:/var/www/html/wp-content/uploads' ! environment: ! - WORDPRESS_DB_USER=blog ! - WORDPRESS_DB_PASSWORD=xxxxxx! - WORDPRESS_DB_NAME=wordpress! - availability:az==2 ! labels: ! aliyun.probe.url: http://container ! aliyun.routing.port_80: http://wordpress! aliyun.scale: '3' ! aliyun.log_store_wordpress: stdout! db: ! external: ! host: rdsxxxxxx.mysql.rds.aliyuncs.com! ports: ! - 3306 !volumes: ! wp_upload: ! driver: ossfs! driver_opts: ! bucket: acs-sample-wordpress!
Load Balancing Service!
MySQL Instance from RDS!
Aliyun Container Service!From container to cloud native application!
OSSFS! OSSFS! OSSFS!
• Fully compatible to Docker Compose/Swarm!
Bucket from!Object Store Service!One click to deploy in cloud!
AZ-a! AZ-b!
Cluster of VM nodes!
http://wordpress.alicontainer.com!
version: '2' !services: ! wordpress: ! image: wordpress:4.5 ! restart: always ! links: ! - 'db:mysql' ! volumes: ! - 'wp_upload:/var/www/html/wp-content/uploads' ! environment: ! - WORDPRESS_DB_USER=blog ! - WORDPRESS_DB_PASSWORD=xxxxxx! - WORDPRESS_DB_NAME=wordpress! - availability:az==2 ! labels: ! aliyun.probe.url: http://container ! aliyun.routing.port_80: http://wordpress! aliyun.scale: '3' ! aliyun.log_store_wordpress: stdout! db: ! external: ! host: rdsxxxxxx.mysql.rds.aliyuncs.com! ports: ! - 3306 !volumes: ! wp_upload: ! driver: ossfs! driver_opts: ! bucket: acs-sample-wordpress!
Load Balancing Service!
Aliyun Container Service!From container to cloud native application!
OSSFS! OSSFS! OSSFS!
• Fully compatible to Docker Compose/Swarm!• Assemble the container and cloud services in declarative way!!
MySQL Instance from RDS!
Bucket from!Object Store Service!One click to deploy in cloud!
AZ-a! AZ-b!
Cluster of VM nodes!
http://wordpress.alicontainer.com!
version: '2' !services: ! wordpress: ! image: wordpress:4.5 ! restart: always ! links: ! - 'db:mysql' ! volumes: ! - 'wp_upload:/var/www/html/wp-content/uploads' ! environment: ! - WORDPRESS_DB_USER=blog ! - WORDPRESS_DB_PASSWORD=xxxxxx! - WORDPRESS_DB_NAME=wordpress! - availability:az==2 ! labels: ! aliyun.probe.url: http://container ! aliyun.routing.port_80: http://wordpress! aliyun.scale: '3' ! aliyun.log_store_wordpress: stdout! db: ! external: ! host: rdsxxxxxx.mysql.rds.aliyuncs.com! ports: ! - 3306 !volumes: ! wp_upload: ! driver: ossfs! driver_opts: ! bucket: acs-sample-wordpress!
Load Balancing Service!
MySQL Instance from RDS!
Aliyun Container Service!From container to cloud native application!
OSSFS! OSSFS! OSSFS!
• Fully compatible to Docker Compose/Swarm!• Assemble the container and cloud services in declarative way!• Enable micro-service architecture!
Bucket from!Object Store Service!One click to deploy in cloud!
AZ-a! AZ-b!
Cluster of VM nodes!
http://wordpress.alicontainer.com!
Aliyun Container Service!Application!
Monitoring!
Logging!Application! App!
Governance!
Access Control!
Application!
Load balancing, Routing!
Service Registration, Discovery! Auto Scaling! Rolling update, A/B test, Canary …! Service!
Container Orchestration! Orchestration!Scheduling! Cluster Management!
Docker Engine!
Container!
Docker Image!Compose template!
Repository!
Storage!Block Storage, Network FS, Object Storage !
Networking!Classic/VPC, Hybrid Cloud, !
Public Cloud! Dedicate Cloud!
Access!
Configuration Management!
Caching Service!
DBaaS!MySQL,,
Mongo …!
Messaging Service!
CI/CD!
SCM!
Middleware !Services!
DevOps!
3rd!Extensions!
Extensions!Extensions!
3rd!Extensions!
Aliyun Container Service!Application!
Monitoring!
Logging!Application! App!
Governance!
Access Control!
Application!
Load balancing, Routing!
路由!
Service Registration, Discovery! Auto Scaling! Rolling update, A/B test, Canary …! Service!
Container Orchestration! Orchestration!Scheduling! Cluster Management!
Docker Engine!
Container!
Docker Image!Compose template!
Repository!
Storage!Block Storage, Network FS, Object Storage !
Networking!Classic/VPC, Hybrid Cloud, !
Public Cloud! Dedicate Cloud!
Access!
Configuration Management!
Caching Service!
DBaaS!MySQL,,
Mongo …!
Messaging Service!
CI/CD!
SCM!
Middleware !Services!
DevOps!
3rd!Extensions!
Extensions!Extensions!
3rd!Extensions!
Fully compatible to Docker ecosystem!Optimized volume/networking for Alibaba Cloud!
Enables micro-service architecture!
Supports different workload!Web/Mobile, HPC, Event-driven, etc.!
Inte
grat
es w
ith c
loud
ser
vice
s!D
evO
ps b
y de
sign
!
Secu
re, C
ontro
llabl
e, a
nd E
xten
sibl
e!
Apsara Stack- Full Stack Dedicated Cloud
Open API (REST, SDK, Orchestration Template)!
Customer-owned Infrastructure!
Man
agem
ent a
nd O
pera
tion!
Distributed Coordination Service!Distributed storage Service! Distributed resource
management and scheduling!
Distributed Data Center Management!
Elastic Compute! Storage Services! VPC! Database Services!
Big Data! Security Services! Application Services!Internet Scale
Middleware Services!
Ente
rpris
e Se
curit
y Fr
amew
ork!
Challenges!l Deliver the full stack cloud
efficiently!
l Minimize the resource overhead!
l HA and self-managed system!
l Continuing evolution!!!!
Apsara Kernel : Unified, large scale, distributed computing framework!
100+ controller services developed by different teams!Each service has different dependencies of runtimes and libs!!
Deploy Dedicated Cloud in Few Person Days
Docker Image!
Registry!
!!!
Configuration Management!
!!!!
!!!!!!
Data Center Management!
!!!!!!
Unified service description for all controller services(In Docker Compose style format with extensions)
Properties!
Requirements (depends)!
Capabilities (provides)!
Probes!Healthy & monitoring!
Constrains!HA, placement, …!
Image!
S1
S3 S4
S5 S7 S6
Determine execution plan by resolving the dependencies among services automatically
S2
1!
Lookup configuration!2!
3!
X86 Server!X86 Server!
X86 Server!
Linux (AliOS)!
Docker Engine (Docker with Ali Extensions) !
VXLAN/VLAN!
Network Plugin!
Management!Agent!
n + 1 hot backup!Recover node failure in minutes!
Clone the controller nodes from base OS image with Docker Engine!
Deploy and configure service controllers as Docker containers !4!
Service Controller!Container!
Service Controller!Container!
Service Controller!Container!
X86 Server!X86 Server!
Clone the worker nodes from base OS image, deploy and configure the service workers on baremetal!
X86 Server!
Linux (AliOS)!
Service Worker (Elastic Computing, Storage, Big Data, etc.)!Management!Agent!
5!
Scalable Docker Image Distribution in Alibaba Group
Docker Registry with Index Server! Massive, secure and highly reliable
object storage service !
Mirror!OSS!
OSS!
tracker
CI/CD!
DC 1! DC 2!Other data centers in China and around the world … !
Headquarter!
10K+ servers concurrent pulling image within one Data Center!!30% faster layer download through p2p distribution!
Docker Engine enhanced with private registry mirror!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
Mirror!OSS!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
Docker!
Proxy with P2P!minion client!
tracker