containers and the future generations of clouds · docker bangkok meetup...
TRANSCRIPT
Containersand
the Future Generations of Cloudsชาญวิทย แกวกสิ
หองปฏิบัติการไอยราคลัสเตอร
หองปฏิบัติการวิจัยไอยราคลัสเตอร● วิจัยและพัฒนาระบบคลัสเตอรประหยัดพลังงาน● คิดคนสถาปตยกรรมคลาวด เรียกวา
Cross-platform Hybrid Cloud(คลาวดเชิงผสมขามแพลตฟอรม)ARM + x86 และทําการ scale ระบบบน layer ของ Container
2
หองปฏิบัติการวิจัยไอยราคลัสเตอร● วิจัยและพัฒนาระบบคลัสเตอรประหยัดพลังงาน● รวมมือพัฒนาระบบจัดการคลัสเตอรสําหรับ Docker
ชื่อ Docker Swarm● Docker Swarm ถูกดาวนโหลดไปแลวกวา 20 ลานครั้ง● ใชสําหรับสรางคลัสเตอรโดยนักพัฒนาและบริษัททั่วโลก
3
Docker Swarm20+ Millions Installation
หองปฏิบัติการวิจัยไอยราคลัสเตอร● เลือกใชฮารดแวรประหยัดพลังงานมาทําคลัสเตอร● ขอจํากัดสูง ทําใหตอง optimize software หลายจุด● ARM CPU คือแนวโนมของ
○ Server-class Data Centre○ Internet of Things
4
คอนเทนเนอร ในตลาดนัด?
5
6
7
Software Container ?
8
Software Container ?● Solaris Zones● LXC - Linux Containers
● Docker ทําให Container ใชงายขึ้น (Commodity)
Container และ Docker
9
10
11
Tool that makes Container Commodity● ดีอยางไร?● Build - การสราง / ทําลาย Container ทําไดงายขึ้นมาก● Ship - การยาย Container ทําไดงาย เพราะใช Union File System เขามาชวย
○ AUFS○ DeviceMapper Thin Provision○ BTRFS○ Overlay File System
● Run - การสั่งรัน Container สะดวก○ $ docker run nginx
Containers เทียบกับ Virtual Machines
12
libcontainer - Overhead ตํ่า
13
libnetwork - vxlan - SDN
14
รูปแบบการ Deployment ระบบป 2000 เทียบป 2016
ป 2000 ป 2016
Deploy ไมบอย1 เดือนครั้ง, 3 เดือนครั้ง
Deploy วันละ 2 ครั้ง
Monolithic(ภาษาเดียว เฟรมเวิรคเดียว)
Microservices(หลายภาษา หลายเฟรมเวิรค,
เกาะกันหลวม ๆ)
Scaled Up(เครื่องใหญ เครื่องเดียว)
Scaled Out(หลายเครื่อง ขามคลาวด เชา/ผสม)
15
DevOps
16
DevOps
17
“ก็โปรแกรมมันเวิรคแลวในเครื่องผม”
18
Never change anything on the Server● ไม install package● ไม upgrade● ไม remove หรือ downgrade
○ พยายามที่จะไม patch แมแต security bug
● ไมแกไฟล config ● ไมแก code ของ app
○ แมแตการแก bug
19
Container Isolation - เริ่มที่ Dev
20
Container “ใน Cloud” หรือ “บน Cloud”
21
โปรแกรมใน Container ควรจะขามคลาวดได
22
Provision เครื่องดวย Docker Machine
ความสามารถในการยายโปรแกรม ขามคลาวด
23
ความสามารถในการยายโปรแกรม ขามคลาวด / รันไทมProvider Portability
Runtime Portability
24
Open Container Initiative● โครงการใน Linux Foundation● “File Format” คือสิ่งที่เจงที่สุดของ Docker● เทียบเปน .PDF หรือ .MP3
25
Cloud Native Computing Foundation
26
แลวฝง Microsoft หละ?
27
28
Microsoft และ Containers
29
30
31
32
Image Pull 1.2 พันลานครั้งในปที่ผานมา Docker ทําใหการปรับใช เทคโนโลยี Container โตขึ้นอยางตอเนื่อง จนกระทั่งจํานวนการ pull image ตอนนี้ทะลุ 1.2 พันลานครั้งไปแลว
33
แนวโนมการปรับใช Container ในเมืองไทย● 2 ใน 4 ของบริษัท Telecom กําลังปรับใช Docker
○ คาดวาจะขึ้น Production ภายใน 6-9 เดือน● บริษัท Content Provider, E-Commerce ใช Docker กันแพรหลายแลว
○ สวนใหญเปน stand-alone○ กําลังเตรียมขยายเปน cluster
34
แนวโนมการปรับใช Container ในเมืองไทย● มีบริษัทที่กําลังเตรียม Hybrid Cloud ดวย Docker แบบมี Software-Defined Network
ใชจริงภายใน 3 เดือนนี้● มีบริษัทในไทยที่พัฒนาระบบ auto-scale สําหรับ Docker Cluster แลว
● Docker Bangkok Meetup ครั้งแรกของป 2016มีนักพัฒนาเขาฟงกวา 250 คน
35
Dev (Developers) - เตรียม container และวิธี deploy
36
Ops (Operations) - เตรียม pool ที่ใหญพอ
37
Ops (Operations) - เตรียม pool ที่ใหญพอ
38
คอนเทนเนอร ทําให คลาวดเปลี่ยนแปลงอยางไร?
39
คอนเทนเนอร ทําให คลาวดเปลี่ยนแปลงอยางไร?● Portability
○ Cloud Portibility / Runtime Portiability
● Multi-Thousand Node Cluster○ คลัสเตอรขนาดใหญแบบ multi-tenant คือความทาทาย
● Container ในโลกของ Internet of Things○ ทรัพยากรจํากัด○ อัพเดตซอฟตแวรงายขึ้น
● นิยามใหมของ Package: Unit of Deployment○ Cloud Provision + Application Composition
○ เมื่อ Network เร็วพอ + ม ีLocal Data Center แลวการ Deploy แบบใหมจะ Commodity
● Software Defined Network ○ ลงไปอยูระดับ Application / ระดับการ Deploy
40
คอนเทนเนอร ทําให คลาวดเปลี่ยนแปลงอยางไร?● Software Defined Network
ลงไปอยูระดับ Application / ระดับการ Deploy
41
Docker Multi-Host SDN
42
คอนเทนเนอร ทําให คลาวดเปลี่ยนแปลงอยางไร?● นิยามใหมของ Package: Unit of Deployment
○ Cloud Provision + Application Composition○ เมื่อ Network เร็วพอ + ม ีLocal Data Center แลวการ Deploy แบบใหมจะ Commodity
43
Package Managementอะไรจะเปน Package ในโลกของ Container และ Cloud Native?
44
apt-get / rpm จัดการ Package บนเครื่อง
45
ถามอง Data Center เปน “เครื่อง”
46
มอง Data Center เปน “เครื่อง”● Project Atomic App: Redhat● HelmPack: Dies / EngineYard● และ dpm - The Package Manager for Docker: SUT / Docker
47
48
ขอบคุณครับ
49