Date post: | 13-Apr-2017 |
Category: |
Technology |
Upload: | wellington-silva |
View: | 548 times |
Download: | 1 times |
Credits
Special thanks to all the people who made and released these awesome resources for free:◎ Presentation template by SlidesCarnival◎ Photographs by Unsplash & Death to the Stock Photo
(license)◎ Dark wood background by The pattern library
Overview
◎ Environment Issues◎ Virtualization◎ LXC◎ Docker
○ features○ demo
◎ Machine
◎ Orchestration○ tools○ demo
◎ Swarm○ demo
◎ Q&A
Environment Issues
◎ substr vs mb_substr functions◎ short open tags: <?=◎ syntax changes between versions: array(); e [];
Environment Issues
◎ substr vs mb_substr functions◎ short open tags: <?=◎ syntax changes between versions: array(); e [];◎ extensions that we forget to install in
production: php-memcached, redis, amqp, etc.
Environment Issues
◎ substr vs mb_substr functions◎ short open tags: <?=◎ syntax changes between versions: array(); e [];◎ extensions that we forget to install in
production: php-memcached, redis, amqp, etc.
◎ different upload file settings in different servers
◎ 1960 - inspired by cpu time sharing◎ IBM 370 - First instructions to support
software virtualization, CP/CMS allow running more than one instance simultaneously
Virtualization - History
◎ 1960 - inspired by cpu time sharing◎ IBM 370 - First instructions to support
software virtualization, CP/CMS allow running more than one instance simultaneously
◎ IBM z/VM - First success case, all hardware were virtualized
Virtualization - History
◎ 1960 - inspired by cpu time sharing◎ IBM 370 - First instructions to support
software virtualization, CP/CMS allow running more than one instance simultaneously
◎ IBM z/VM - First success case, all hardware were virtualized
◎ until nineties only client/server applications
Virtualization - History
◎ 1960 - inspired by cpu time sharing◎ IBM 370 - First instructions to support
software virtualization, CP/CMS allow running more than one instance simultaneously
◎ IBM z/VM - First success case, all hardware were virtualized
◎ until nineties only client/server applications◎ 2000+ - CPUs with virtualization support,
hypervisors: VMWare, Xen, KVM, VirtualBox, etc
Virtualization - History
◎ Standard environment
◎ Improve resources utilization
◎ Easy data recovery
Virtualization - Pros & Cons
◎ Standard environment
◎ Improve resources utilization
◎ Easy data recovery
◎ If host fails all VMs crashes together
Virtualization - Pros & Cons
◎ Standard environment
◎ Improve resources utilization
◎ Easy data recovery
Virtualization - Pros & Cons
◎ If host fails all VMs crashes together
◎ Troubleshooting more difficult
◎ Standard environment
◎ Improve resources utilization
◎ Easy data recovery
Virtualization - Pros & Cons
◎ If host fails all VMs crashes together
◎ Troubleshooting more difficult
◎ Increase overhead
LXC - Linux Containers
◎ Exists since Jul/2008 - Kernel 2.6.26+◎ Process isolation ◎ Network isolation
LXC - Linux Containers
◎ Exists since Jul/2008 - Kernel 2.6.26+◎ Process isolation ◎ Network isolation◎ Memory limitation
LXC - Linux Containers
◎ Exists since Jul/2008 - Kernel 2.6.26+◎ Process isolation ◎ Network isolation◎ Memory limitation◎ File system isolation
LXC - Pros & Cons
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
LXC - Pros & Cons
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
◎ Starts much more faster than VMs
LXC - Pros & Cons
◎ Volume share are difficult to do
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
◎ Starts much more faster than VMs
LXC - Pros & Cons
◎ Volume share are difficult to do
◎ Architecture failure may lead to chroot attack
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
◎ Starts much more faster than VMs
LXC - Pros & Cons
◎ Volume share are difficult to do
◎ Architecture failure may lead to chroot attack
◎ IO overhead
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
◎ Starts much more faster than VMs
LXC - Pros & Cons
◎ Volume share are difficult to do
◎ Architecture failure may lead to chroot attack
◎ IO overhead◎ Run on Linux hosts
only
◎ Good resources isolation
◎ Run as a process, a single PID is created
◎ Reuse host resources (libs, kernel)
◎ Starts much more faster than VMs
◎ Portable◎ Versionable◎ Reusable◎ Copy-on-write◎ Logging◎ Image change management
Docker - Features
◎ Portable◎ Versionable◎ Reusable◎ Copy-on-write◎ Logging◎ Image change management◎ Automatic build
Docker - Features
◎ Portable◎ Versionable◎ Reusable◎ Copy-on-write◎ Logging◎ Image change management◎ Automatic build◎ Easy to share
Docker - Features
Docker - Features
◎ Private and public registry◎ Server-client architecture◎ Client consume engine API
Docker - Features
◎ Private and public registry◎ Server-client architecture◎ Client consume engine API◎ Orchestration tools (compose, swarm,volume
networks)
Docker - Features
◎ Private and public registry◎ Server-client architecture◎ Client consume engine API◎ Orchestration tools (compose, swarm,volume
networks)◎ Always innovating
Docker - Quick Tips
◎ It is a container not a VM◎ Container images are like VM boxes◎ Images are state, container runs it
Docker - Install
◎ Follow instructions for your OS in http://docs.docker.com/installation
◎ Several distros supported
Docker - Install
◎ Follow instructions for your OS in http://docs.docker.com/installation
◎ Several distros supported◎ Mac OS X and Windows needs a VM to act
like a Docker host - Boot2docker
Docker - Install
◎ Follow instructions for your OS in http://docs.docker.com/installation
◎ Several distros supported◎ Mac OS X and Windows needs a VM to act
like a Docker host - Boot2docker◎ There is roadmap to run Linux container on
FreeBSD host
Docker - Install
◎ Follow instructions for your OS in http://docs.docker.com/installation
◎ Several distros supported◎ Mac OS X and Windows needs a VM to act
like a Docker host - Boot2docker◎ There is roadmap to run Linux container on
FreeBSD host◎ Windows containers running on Windows
hosts will be available on Windows Server 2016
Docker - Improving
◎ Volume○ list, create, inspect
◎ Port expose and port mapping◎ Links between containers◎ Network
○ list, create,inspect, connect
Docker - Machine
◎ Creates virtual machines ready to run docker locally or on the cloud.
◎ drivers available:○ Amazon Web Services, Microsoft Azure, Digital
Ocean, Exoscale, Google Compute Engine,
Microsoft Hyper-V, OpenStack, Rackspace, IBM
Softlayer, Oracle VirtualBox, VMware vCloud Air,
VMware Fusion, VMware vSphere and Generic
Docker - Orchestration
◎ Docker Compose (Old FIG) ○ Config file: docker-compose.yml○ Run: docker-compose up
Docker - Orchestration
◎ Docker Compose (Old FIG) ○ Config file: docker-compose.yml○ Run: docker-compose up
◎ Crane - http://getcrane.com○ Config file: crane.json or crane.yaml○ Run: crane lift
Docker - Orchestration
◎ Docker Compose (Old FIG) ○ Config file: docker-compose.yml○ Run: docker-compose up
◎ Crane - http://getcrane.com○ Config file: crane.json or crane.yaml○ Run: crane lift
◎ AZK - http://www.azk.io○ Config file: Azkfile.js○ Run: `azk agent start` and then `azk start`
Docker - Orchestration
◎ Docker Swarm○ Orchestrate docker hosts○ supports schedulers and node discovery services
Docker - Comming
◎ User namespaces
◎ Open Containers Initiative - by Linux Foundation:
https://www.opencontainers.org/