Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Docker; Build Ship and Run Any App Anywhere

6 popular and customisable business templates
by

Teuta Hyseni

on 12 March 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Docker; Build Ship and Run Any App Anywhere

The Business Model Canvas is a strategic management template for developing new or documenting existing business models. It is a visual chart with elements describing a firm's value proposition, infrastructure, customers, and finances.
It assists firms in aligning their activities by illustrating potential trade-offs.
Build ...
Ship...
and Run ...
Any App ...
Anywhere!
by Teuta Hyseni & Jesus Gonzalez

Who is the target??
Developers
Dev Ops
all programming languages
all the different types of databases
all O/S
any distro
any cloud
any machine (physical or virtual)
recent kernels (3.8 or RHEL 6.5)
What's the big deal about this?
Shipping our source code to the servers should NOT be very complicated !!
Why not apply the same idea to ship software ?!
Development Lifecycle
Linux Containers
Units of software delivery
Run anywhere

Regardless of kernel version
Regardless of host distro
Run anything
If it runs on the host, it can run in the container
High level approach
It's own process space
It's own network interface
Separate root directory from the host
It's own /bin/init


Lightweight VM
Low level Approach
Containers -> isolated processes
Shared kernel with the host
Segregation of duties or
concerns

Code
Dependencies
Package Manager
Data
Distro
Developer
Inside the container
Ops
Outside of the container
Logging
Remote Access
Network Configuration
Monitoring
How does the Isolation works ?
pid
mnt
net
users
Namespaces

Control groups
(cgroups)
memory
cpu
blkio
devices
Copy-on-write-storage
Union filesystem
Copy-on-write block devices (snapshots with LVM)
Snapshot filesystem (BTRFS, ZFS)
Compute efficiency

Isolated processes that run straight on the host
CPU performance no different that the host
Memory performance (cgroup)
Network performance (physical network interface)

Demo
Docker

Automating the packaging and deployment of applications
Creation of lightweight, private PAAS environments
Automated testing and continuous integration/deployment
Deploying and scaling web apps, databases and backend services
An open source project designed to easily create lightweight, portable, self-sufficient containers for any application.
Highlights

Scalable
- lightweight, scaling up or down it's very easy
Density
- more efficient, less machines less money
Portable
- move dockerized app
Deployment
- run anywhere
One Step Deployment
Q & A
Dockerfile Image
Overview of Docker


Separates application from infrastructure using container technology, similar to how virtual machine separates the operating system from bare metal.
Build any app in any language using any stack
Dockerized app can run anywhere on anything
Docker Components
Docker Daemon
- Docker Engine, runs on the most machine
Docker Client
- CLI used to interact with the daemon
Docker Workflow Components
Docker Image
- Holds Environment & Your Application
Docker Container
- Created from images - start, stop, move, delete
Docker Registry
- Public or Private repositories to store images
Dockerfiles
- Automates image construction
Conclusion ?
Full transcript