Docker OpenStack Cloud Foundry

Download Docker OpenStack Cloud Foundry

Post on 06-Jan-2017

15.201 views

Category:

Technology

6 download

Embed Size (px)

TRANSCRIPT

Presentation Headline Subhead

Docker, Cloud Foundry & OpenStackLeading OpenSource Triumvirate - How do they all come together!Animesh Singh @AnimeshSinghIBM Cloud Architect

2014 IBM Corporation

# 2014 IBM Corporation

1

Docker, Cloud Foundry & OpenStack Leading OpenSource Triumvirate!

# 2014 IBM Corporation

Docker, Cloud Foundry & OpenStack - In Top Five !

http://analystpov.com/cloud-computing/top-15-open-source-cloud-computing-technologies-2014-24727

# 2014 IBM Corporation

OAuth

OSLC

Infrastructureas a Service

Platformas a Service

Softwareas a Service

API economy

Cloudoperatingenvironment

Software-definedenvironment

TOSCAhttp://www.ibm.com/developerworks/cloud/library/cl-open-architecture/IBM cloud and open technologiesAt all tiers, IBM is committed to building its cloud on an open cloud architectureProducts and services built on open source and open standards benefit IBM and customers

# 2014 IBM Corporation

Cloud computing needs to be built on open source and standards. To build flexible and interoperable cloud architectures, IBM is building on open cloud projects - OpenStack for IaaS, deployment automation tools like Chef, PaaS fabrics like Cloud Foundry , databases like MongoDB, portable workload template standards like TOSCA and many others.

OpenStack

# 2014 IBM Corporation

OpenStack Overview:

Collection of well integrated IaaS modules:Compute (Nova)Networking (Neutron)Object Storage (Swift)Block Storage (Cinder)Identity(Keystone) Image Service (Glance)Dashboard (Horizon)

# 2014 IBM Corporation

Cloud Foundry

# 2014 IBM Corporation

Meets Developers NeedsFocus on app development, not provisioning VMs, databases, messaging servers, etcAgile development modelDeploy and scale in seconds

Open Cloud PlatformThere is an increasing appetite for cloud-based mobile, social and analytics applications from line-of-business executives - drives the need for a more open cloud development platformCompelling Community Cloud Foundry has a compelling community and emerging ecosystem as well as a mature set of capabilities and robustness

Platinum Founding Sponsors

1,165739kLINES OF CODETOTAL CONTRIBUTORSCloud Foundry Overview

# 2014 IBM Corporation

why Cloud Foundry fits so well ?

Well to begin with its 100% OpenSource like OpenStack, which means no vendor lock-ins. The tools and software you will build for Cloud Foundry can be easily ported across all implementations. And 2ndly its a fits exactly in Platform as a Service space. Just like OpenStack provides a great foundation for compute, networking and storage, Cloud Foundry provides that for your runtimes, apps and services.

And last but not the least, as we are hearing through the conference, it has very vibrant community. Both IBM and Rackspace are platinum founding members of the Cloud Foundry community, along with a host of other companies.

And the community is growing - with more than 1200 developers , 700k lines of code and 43 companies contributing. I

iBM is also #2 in contributions to Cloud Foundry and we have 42 IBMers who are approved to contribute to the core Cloud Foundry code base. We have contributed to many components like Elastic runtimes , Eclipse integration and even open sourced many IBM components like WebSphere Java build pack, admin UI, and Performance acceptance tests.

8

Eclipse IDECLIBrowsercf push

httpCloud Foundry Developer Experience

# 2014 IBM Corporation

9

Eclipse IDECLIBrowsercf push

httpCloud Controller(API)

RouterDEA Pool DEA Pool Droplet Execution Agent (DEA) VM Pool

HealthManagerNATS(Message bus)

Cloud Foundry Architecture

# 2014 IBM Corporation

10

Docker

# 2014 IBM Corporation

One of the most disruptive technologies of recent pastEvery significant vendor (IBM, RedHat, Google, AWS, VMWare etc) has announced support for DockerFirst Docker conference was a huge success with over 1000 attendees

What is it ? A tool toRun applications: An open source tool to run applications inside of a Linux container, a kind of light-weight virtual machinePackage applications: In addition to running, it also offers tools to package containerized applications through Docker filesDistribute applications: Create your own Docker registries or hubs, a cloud service for sharing applications and automating workflows. Docker Overview

# 2014 IBM Corporation

Docker uses a client-server architecture.

The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers.

Both the Docker client and the daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon.

The Docker client and daemon communicate via sockets or through a RESTful API.

Docker Architectural Overview

# 2014 IBM Corporation

Docker uses a client-server architecture.

The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers.

Both the Docker client and the daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon.

The Docker client and daemon communicate via sockets or through a RESTful API.

A Docker container consists of an operating system, user-added files, and meta-data Basically a way to run mini operating systems in your host operating system with strong guarantees of isolation

The Docker image is read-only. When Docker runs a container from an image, it adds a read-write layer on top of the image (using a union file system) in which your application can then run.

Underlying Technology : Written in Go and makes use of several Linux kernel features

Namespaces - pid, net, mnt, ipc, etc.Control Groups - cgroups (memory, cpu, blkio, devices)Union File Systems - UnionFS (AUFS, btrfs, vfs)Container Format - libcontainer or LXCDocker Containers

# 2014 IBM Corporation

NamespacesDocker takes advantage of a technology called namespaces to provide the isolated workspace we call the container. When you run a container, Docker creates a set of namespaces for that container.

This provides a layer of isolation: each aspect of a container runs in its own namespace and does not have access outside it.

Some of the namespaces that Docker uses are:

The pid namespace: Used for process isolation (PID: Process ID).The net namespace: Used for managing network interfaces (NET: Networking).The ipc namespace: Used for managing access to IPC resources (IPC: InterProcess Communication).The mnt namespace: Used for managing mount-points (MNT: Mount).The uts namespace: Used for isolating kernel and version identifiers. (UTS: Unix Timesharing System).Control groupsDocker also makes use of another technology called cgroups or control groups. A key to running applications in isolation is to have them only use the resources you want. This ensures containers are good multi-tenant citizens on a host. Control groups allow Docker to share available hardware resources to containers and, if required, set up limits and constraints. For example, limiting the memory available to a specific container.

Union file systemsUnion file systems, or UnionFS, are file systems that operate by creating layers, making them very lightweight and fast. Docker uses union file systems to provide the building blocks for containers. Docker can make use of several union file system variants including: AUFS, btrfs, vfs, and DeviceMapper.

Container formatDocker combines these components into a wrapper we call a container format. The default container format is called libcontainer. Docker also supports traditional Linux containers using LXC. In the future, Docker may support other container formats, for example, by integrating with BSD Jails or Solaris Zones.

Docker Containers vs Virtual Machines

Virtual MachinesEach virtualized application includes not only the application - which may be only 10s of MB - and the necessary binaries and libraries, but also an entire guest operating system - which may weigh 10s of GB.

DockerThe Docker Engine container comprises just the application and its dependencies. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers

Compared with Hypervisors, Docker which is OS-Level Virtualization: CPU Performance => native performanceMemory Performance => few % for (optional) accountingNetwork Performance => small overhead; can be optimized to zero overheadcreating a new base image takes a few seconds (copy-on-write)apps in different containers can share the same binaries / libs

# 2014 IBM Corporation

Virtual MachinesEach virtualized application includes not only the application - which may be only 10s of MB - and the necessary binaries and libraries, but also an entire guest operating system - which may weigh 10s of GB.

DockerThe Docker Engine container comprises just the application and its dependencies. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers

Compared with Hypervisors, Docker which is OS-Level Virtualization: CPU Performance => native performanceMemory Performance => few % for (optional) accountingNetwork Performance => small overhead; can be optimized to zero overheadcreating a new base image takes a few seconds (copy-on-write)apps in different containers can share the same bina