Cloud Foundry Integration with Openstack and Docker. Briefly describes the essential elements for the integration of trios. Covered in a 30 minute session at Bangalore Cloud Foundry Meetup.
4. HUAWEI TECHNOLOGIES CO., LTD. 4
Leading Open Source Players in the Cloud
Automates the deployment
of applications inside
software containers
https://www.docker.com/
Courtesy: The Making of a Cloud Native Application Platform by Sam Ramji, Cloud Foundry CEO, at O'Reilly's conference March 19th 2015.
Accelerating NFV’s
evolution through open
platform Integration
https://www.opnfv.org/
Set of software tools for
building and managing
cloud platforms(IaaS)
http://www.openstack.org/
Linux
http://www.linux.org/
Cross-platform runtime
environment for server-side
and networking applications
https://www.nodejs.org/
PaaS
http://www.cloudfoundry.org/
Bare metal hypervisor
https://www.xenproject.org/
Accelerating
adoption of SDN
https://www.opendaylight.
org/
Openly share designs of data center
products like servers, racks, etc.
https://www.opencompute.org/
5. HUAWEI TECHNOLOGIES CO., LTD. 5
Openstack Introduction
Open Source Cloud Computing platform with Apache license.
OpenStack® releases once in every 6 months and named alphabetically . Current release is called ‘Juno’.
Started as RackSpace and NASA jointly at 2010 and then moved to a foundation. There are
3000+ committers & 2.5M lines of code.
Massively scalable operating system plug-in architecture; allows different hypervisors,
block storage systems, network implementations, hardware agnostic, etc.
More information at http://openstack.org & https://github.com/ & http://launchpad.net
7. HUAWEI TECHNOLOGIES CO., LTD. 7
Openstack Physical Deployment
Openstack Installation:
http://trystack.org – Directly from cloud with no physical machines needed.
http://docs.Openstack.org/developer/devstack - For developer environment.
http://docs.openstack.org/juno/install-guide/install/apt/content - Production Install.
8. HUAWEI TECHNOLOGIES CO., LTD. 8
Cloud Foundry Introduction
Open Source Cloud Computing platform with Apache license
Started from VMWare and then move to Pivotal. Total lines of code around 800K.
Develop, test and deploy applications freely without worrying middleware and operating system stack.
Choice of cloud for deployment in AWS, VCloud and Openstack.
More information at http://cloudfoundry.org & https://github.com/
10. HUAWEI TECHNOLOGIES CO., LTD. 10
Cloud Foundry Application Deployment
Application Deployment Use appropriate build packs Create Services Service Broker API
http://docs.cloudfoundry.org/devgui
de/deploy-apps/deploy-app.html
http://docs.cloudfoundry.org/buildp
acks/
http://docs.cloudfoundry.org/services/
api.html
11. HUAWEI TECHNOLOGIES CO., LTD. 11
Docker Introduction
Docker uses the underlying Technology to provide the building blocks for containers.
- Namespaces to provide the isolated workspace we call the container.
- Cgroups for running applications in isolation is to use the resources needed.
- Union file systems that creating layers, making them very lightweight and fast.
The default is libcontainer but also supports LXC.
So Docker is container written in GO with additional capabilities on top of standard
containers like Image management, utilities, APIs, networking, security, etc.
Docker is an open platform for developing,
shipping, and running applications.
With Docker you can separate your
applications from your infrastructure AND
middleware and treat them like a managed
application. More info at
http://docs.docker.com/introduction/unders
tanding-docker/
12. HUAWEI TECHNOLOGIES CO., LTD. 12
Docker Registry
The Docker registry is the store for your Docker images. Once you build a Docker image you can push it to a
public registry Docker hub and it can provides both public and private storage for images.
- Official - https://registry.hub.docker.com/
- Private - https://blog.docker.com/2013/07/how-to-use-your-own-registry/
- 3rd party Players - https://registry.hub.docker.com/u/google/docker-registry/
e.g: Google http://searchcloudcomputing.techtarget.com/news/2240239199/Private-Docker-repositories-add-to-
Google-containers-push
So how does Docker work?
1. You can build Docker images that
hold your applications.
2. You can create Docker containers
from those Docker images to run
your applications.
3. You can share those Docker images
via Docker Hub or your own registry.
14. HUAWEI TECHNOLOGIES CO., LTD. 14
Openstack + Docker Integration
There are three types of infrastructure deployments at Openstack: Bare Metal, VM & Container. You can have
together VM and Docker, Bare Metal & Docker and also Docker on Docker.
Use nova.conf file to select the driver for the compute node and deploy to the infrastructure selected
http://docs.Openstack.org/trunk/config-reference/content/list-of-compute-config-
options.html#config_table_nova_compute (compute_driver=novadocker.virt.docker.DockerDriver)
Docker also supports, Cinder, Neutron, etc.
See more at https://wiki.openstack.org/wiki/Docker
Nova Driver deployment
Download nova-docker driver
(https://github.com/stackforge/nova-
docker)
Save Docker image to glance
Change nova.conf
Then nova boot
Heat Deployment
Create the heat template
Use the plug-in API
Nova + Ironic Deployment
15. HUAWEI TECHNOLOGIES CO., LTD. 15
Openstack + Cloud Foundry Integration
Openstack Deployments:
In a single machine - http://docs.openstack.org/developer/devstack/
Enterprise scale - http://docs.openstack.org/juno/install-guide/install/apt/content/
Cloud Foundry Deployments:
BOSHLite: In a single machine such as laptop - https://github.com/cloudfoundry/bosh-lite
MicroBOSH: In a single Virtual Machine - http://docs.cloudfoundry.org/bosh/deploy-microbosh-to-openstack.html
BOSH: At Enterprise scale large number of machines - http://docs.cloudfoundry.org/deploying/openstack/
BOSH
Openstack Summit 2014 by Animesh
16. HUAWEI TECHNOLOGIES CO., LTD. 16
BOSH – Connecting all together
BOSH was developed to deploy Cloud Foundry PaaS, it can also be used to deploy almost
any other software (Hadoop, for instance). BOSH is particularly well-suited for large
distributed systems. See More http://docs.cloudfoundry.org/bosh/
BOSH supports multiple Infrastructure as a Service (IaaS) providers like VMware vSphere,
vCloud Director, Amazon Web Services EC2 and OpenStack.
Cloud Provider Interface (CPI) enables users to extend BOSH to support additional IaaS
providers such as Google Compute Engine and Apache CloudStack.
17. HUAWEI TECHNOLOGIES CO., LTD. 17
BOSH Architecture
To deploy software with BOSH:
1. Upload Stemcell.
2. Upload Release.
3. Set deployment with a manifest.
4. Deploy
http://docs.cloudfoundry.org/bosh/de
ployment-basics.html
BOSH Design Principle:
1. Leverages IaaS APIs to create VMs
from base images packaged with
operator-defined network, storage,
and software configurations
2. Monitors and manages VM and
process health, detecting and
restarting processes or VMs when they
become unhealthy.
3. Updates all VMs reliably and
idempotently, whether the update is
to the OS, a package, or component.
18. HUAWEI TECHNOLOGIES CO., LTD. 18
Cloud Foundry + Docker : Service Broker
Docker Service Broker API
Generic container broker API for Cloud Foundry allows users to provision services that runs inside
a compatible container backend (Docker is supported) and bind applications to the service.
http://blog.pivotal.io/cloud-foundry-pivotal/products/docker-service-broker-for-cloud-foundry
Fastest ways to get Docker and orchestrate containers with persistent data on any infrastructure
(IaaS) by deploy this BOSH release. https://github.com/cf-platform-eng/docker-boshrelease
19. HUAWEI TECHNOLOGIES CO., LTD. 19
Cloud Foundry + Docker : Diego
Other options
Lattice - Containerized workloads on a cluster using Diego
https://github.com/cloudfoundry-incubator/lattice
Stackato - ActiveState supports Docker
http://www.activestate.com/stackato/features-benefits/docker-
containers
Decker = Docker + Cloud Foundry from CloudCredo
http://www.cloudcredo.com/decker-docker-cloud-foundry/
• You can drop a Docker image into Diego and it will
mount all the layers using a Docker library.
• It will run in a Garden container. Diego does not run
Docker containers. It has an interface to
run compatible images in Garden containers.
• For the end user, there is very little difference. Diego
is designed to run different backends.
App lifecycle https://github.com/cloudfoundry-
incubator/docker_app_lifecycle
Deployment and scaling
https://www.youtube.com/watch?v=e76a50ZgzxM