OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

30
Code to Cloud with Megam and Opennebula Kishorekumar Neelamegam Varadarajan Narayanan Megam Systems

description

Kishore works with the engineering team in building the open source product with a future focussed cloud technical strategy for “Megam – Cloud Automation Platform “http://gomegam.com”. In his prior incarnation Kishore has worked as an Architect in complex system integration projects for Airport systems with high availability. Kishore has avid experience in architecting large scale build and packaging tools for mainframe platform integrated via thin clients and eclipse IDE.

Transcript of OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Page 1: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Code to Cloud with Megam and Opennebula

Kishorekumar Neelamegam Varadarajan Narayanan

Megam Systems

Page 2: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

The cloud ecosystem

Page 3: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Cloud Journey

Page 4: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Moving to cloud ● Migration of development to production is a nightmare.

● Setting up an app environment takes ages.

● Most PAAS available today are coupled to single or few vendors.

● No backup and DR solutions in place.

● On demand auto scaling in a hybrid cloud environment is not feasible.

● Cloud add-ons for monitoring, logging, databases have fancy price tags.

● On site IT infrastructure, private cloud.

● Multiple IAAS vendors.

● SAAS is siloed.

Page 5: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

What if we can ….● Deploy in any cloud - Private and public Clouds or hybrid

● Capture repetitions and use canned pre-built recipes

● Scale seamlessly

● Use multiple cloud storage solutions

● Use any framework - Java, Play, Ruby on Rails, Node.js, Akka … and any source

cloud - Github , Bitbucket , Cloudforge ….

● Monitor, log and manage my apps

● API driven

● Integrate continuously with ALM & SDLC

● Avoid vendor lock in by sticking to open standards and open source

Page 6: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam
Page 7: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam features

SaaS - Users

Iaas - Providers

PaaS - Developers

Page 8: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Overview of Megam

Available as SaaS , installable software and as a packaged product - Megam Cloud in a box

Page 9: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Major improvements in Megam 0.5 after Opennebula day Florida

● Docker support with Visual docker

● CAMP/TOSCA compliance

● Cloud-in-a-box

Megam internal architecture

Page 10: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Docker support for Opennebula

Page 11: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Why Containers ?Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) instead of simplifying IT infrastructure have added a layer of complexity .As a result, software developers are spending increasing amounts of their time managing software deployments instead of writing software.

● Basic:Because containers share the host kernel, binaries and libraries, can be packed even denser than typical hypervisor environments.

● Implied :Containers provide a clean separation of concerns between development and operations dependencies. In summary, changes are no longer made to production, changes are made to containers, and containers have a finite life-cycle that is optimized for developer productivity and operational simplicity.

Kernel Namespaces and Cgroups became the defacto standard for creating linux containers and is used by most of the companies who have containerized technology, LXC, Docker, ZeroVM, Parallels, etc.

vs

Page 12: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

“Dockerisation” by various vendors

Page 13: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Openstack and Docker

Many changes have been incorporated since Havana release .Openstack Heat does the driving while the container engine is setup and run inside of a cloud instance. The nova driver is now part of stackforge and will possibly try to rejoin the nova code base in Juno. Support for Cinder also has been added.

Page 14: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

AWS and DockerElastic Beanstalk is a platform-as-a-service technology from Amazon which lets developers cede capacity provisioning, load balancing, auto-scaling and application health monitoring to AWS in exchange for ease of use.Beanstalk has now been upgraded to support deploying and launching applications containerized through Docker.Any Docker image can be deployed this way, whether from Docker's public repository or from one's own private store of containers. Users are left to create a .JSON file that describes the image to be used and a few other notations, and even that's not mandatory because an existing Dockerfile, as they are called, will typically work as-is.Some additional configuration might be needed to set up external resources (a database to be used by the application, for example), but Elastic Beanstalk already has configuration options to allow deployment of a database to go with a Beanstalk-managed app.

Page 15: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Google and Docker Google has been using Linux containers in its data centers for the better part of a decade. Across Gmail, search, Google Drive, and whatever else, Google has been taking advantage of the technology to run web-scale services with fewer headaches and a higher quality of service. They also use “Omega” which Google’s own container scheduling technology.Google released Kubernetes -- Greek for "helmsman," as on a ship -- its homegrown solution for orchestrating and managing Docker containers at scale, making sure they smoothly replicate according to schedule.

Container-optimized Google Compute Engine images are Debian images with a few additions:

● The Docker runtime is pre-installed, so you're ready to create containers as soon as your instance is up.

● The image includes an agent that handles container manifest files, to create and monitor containers automatically.

Google consolidated this move by calling this Google Container Engine ( Alpha)

Page 16: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Openshift and DockerIn order to integrate Docker in to Openshift (PaaS) , Red Hat provides a tool called Gears. Gears are native containers built from cgroups and namespaces that run the workloads. Openshift integrates Docker inside their Cartridge and Gear system by using Docker Images with metadata as a Cartridge and using Docker Containers as Gears (containers) based on the Cartridge.Project Atomic is also a major component of their Docker system. Like CoreOS,the Atomic host is a lightweight operating system that has been assembled out of upstream RPM content and optimised to run applications in Docker containers. Hosts based on Red Hat Enterprise Linux and Fedora are available now. Hosts based on CentOS will be available soon. Project Atomic hosts inherit the full features and advantages of their base distributions. This includes systemd, which provides container-dependency management and fault recovery. It also includes journald, which provides secure aggregation and attribution of container logs.

Page 17: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam and DockerSome of the advanced features provided by Megam Docker service

● We provide a “Dockerised-VM” (CentoS 7) to create a cluster which can be launched in any IaaS. thus avoiding lock-in with the platform provider like GCE , AWS and maintain neutrality as far as IaaS is concerned.

● Multi-tenancy security● Maintain developer focus A level

above Github and other source code repositories multiple source code (Github , Assembla, SCM manager Gogs)

● Visual designer for Docker

Page 18: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam and Docker

Page 19: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam standards

Page 20: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Cloud Applications Management Platform

There are multiple commercial PaaS offerings in existence using languages such as Java, Python and Ruby and frameworks such as Spring and Rails. Although these offerings differ in such aspects as programming languages, application frameworks, etc., there are inherent similarities in the way they manage the lifecycle of the applications that are targeted for, and deployed upon them. The core proposition of this specification is that these similarities can be leveraged to produce a generic application and platform management API that is language, framework, and platform neutral.

CAMP is the first major public effort to produce a specification of a management interface for PaaS, as well as a packaging format for moving applications between clouds.

Page 21: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Topology and Orchestration Specification for Cloud Applications - TOSCA

TOSCA will enable the interoperable description of application and infrastructure cloud services, the relationships between parts of the service, and the operational behavior of these services (e.g., deploy, patch, shutdown) independent of the supplier creating the service, and any particular cloud provider or hosting technology. TOSCA will also enable the association of that higher-level operational behavior with cloud infrastructure management.

This capability will greatly facilitate much higher levels of cloud service/solution portability without lock-in, including:

● Portable deployment to any compliant cloud● Easier migration of existing applications to the cloud● Flexible bursting (consumer choice)● Dynamic multi-cloud provider applications

Page 22: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Dense VMPaaS vendors typically hide the IaaS complexities and use containers to isolate.

To isolate users, we use a managed VM. To provide more value we allow packing multiple in one VM. Typical scenario is Liferay + MySQL plus a test application in one VM)

Developers can quickly run services to test apps, full blown VM doesn’t have to be spun.

Page 23: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Visual designerAn Application Topology

● Infrastructure (Cloud)

● Platform (App)

● Services (Databases, Queue, .)

Relationship between components

● What is hosted on what ?

● What is connected to what ?

Page 24: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Visual Designer for Docker● Launch the visual

designer

● Users launch the Docker cluster on any cloud.

● This has docker built in with systemd using CentOS 7,

● Compose an apps with the url of dockerhub registry

Page 25: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam Cloud in a box

Page 26: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Cloud in a box Benefits of moving to cloud like scalability, reliability, efficiency and ease of management is not restricted to public or private cloud. Megam takes full cognisance of this fact and offers “Cloud-in-a-box” concept to deploy a private cloud in any configurable shared computing resource like colocated servers or servers on premise. Cloud in a box offers a complete cloud solution including Iaas (Opennebula), Paas (Megam) , and High availability (DRBD proxy) and cloud bursting to public clouds using plugins.

Page 27: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Building a cloud in a box

Page 28: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Megam Road map

1) Native Docker/LXC/Rocket for OpenNebula2) Bitcoin and Megam 3) Analytics as Service (IoT)4) HA in CIB

a) Federate CIBb) CIB with DR

5) Megam HA for apps.

Page 29: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Questions ?

Page 30: OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelamegam

Thank you !