Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

26
Achieving Cost and Resource efficiency through Docker, Kubernetes and OpenShift V1.0 Presented by Dean Delamont 12 th July 2015 Part of a series of presentations on achieving cost and resource efficiency in our OpenStack and Cloud Deployments – please contact me if interested in learning about other areas how to reduce our costs in deploying our solutions in the cloud.

Transcript of Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Page 1: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

1

Achieving Cost and Resource efficiency through Docker, Kubernetes and OpenShift

V1.0

Presented by Dean Delamont12th July 2015

Part of a series of presentations on achieving cost and resource efficiency in our OpenStack and Cloud Deployments – please contact me if interested in learning about other areas how to reduce our costs in deploying our solutions in the cloud.

Page 2: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

1. Context2. Problem Statement3. Evolving Cloud IaaS – Public, Private and Hybrid 4. Understanding the business needs and promises of

OpenStack5. Commercial/Business Challenges for Cloud 6. The Problem Visualized (from a business

perspective)7. The Solution – How to achieve better business

outcomes – reduce cost, reduced time to market etc. through micro services based architectures

8. Summary of benefits 9. Closing thoughts10. Open Q&A

Agenda

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 3: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

One of biggest challenges to organizations is how to leverage their Openstack infrastructure in a cost effective way to deploy their solutions.

With all our solutions in most businesses we all face the same problem of scale and cost as our solutions grow with complexity and as a result of the growing complexity of OpenStack where today the two are tightly coupled.

In this presentation we explore how containerisation and micro services technologies like Docker, Kubernetes and OpenShift can help organizations to obtain:

Cost savings; Resource Efficiency Reduced complexity Accelerate Time to market Greater portability

Context

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 4: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Today when deploying on Openstack typically we deploy our applications in VMs for which there is a high cost associated with this:

Where inherently every VM Guest is large in size compared to containers for which this has a cost to our business.

Every VM Guest requires us to install a host O/S – i.e. CENT O/S, Ubuntu – that uses further system resources adding further costs to our solutions.

Within every VM Guest there is a varying degree of over allocation of resources/under utilization of resources which in a SaaS/Host model environment you pay for per the hour for resources you don’t even use!

Whether our applications are master or slave instances we pay the same costs where for every application we pay double the costs of the system resources needed whether or not we need both instances are running, all just in case a component fails. Whereas in a containerisation architecture this inherently has HA where you can spawn instances in seconds that only use the system resources when they are active or master. Anything stateless that is non-active, passive or slave therefore need not consume any resources.

This problem is magnified by significant factor where systems can have anything between 70 VM Guests to 1,000 VM Guests costing anything between $100,000 to even potentially $0.5m-$1m in unused resources per customer at a cost to a business!

As a business this is unsustainable and this erodes our profit margins as such there is a strong business case as to why we should containerisation in our solutions.

Problem 1:

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 5: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Problem 2:

Page 6: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

The Evolving World of Clouds and the need for portability

Private Clouds Public Clouds

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 7: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Market Trends

Page 8: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

8

The Business Promise of OpenStackUnderstanding the business context & why we need to change our approach to how we develop and deploy our solutions in the cloud if our business is to succeed.

V1.0

Presented by Dean Delamont12th July 2015

Page 9: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

The promise of OpenStack to businesses – “The promise of gold and prosperity at the end of mountain with more customers, revenue and profits”At its core foundation OpenStack promises to provide:

1. A state of the art cloud platform built on open standards

2. A framework for controlling the compute, storage, and networking resources necessary to support a large cloud-focused data center.

3. Lower Costs - An open source, scalable, portable and free or low cost way to deploy and build private and public clouds. Promises to lower the costs of building private clouds.

4. Greater Developer Agility - faster means to deploy your solutions in private clouds through improved developer agility and productivity

- Profits- Reduced Time to market- Greater product velocity

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 10: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Note this is a not everything! See: https://www.openstack.org/marketplace/drivers/

The realities of using OpenStack where complexity and approach to virtualisation = increased resource usage & costs

COST

Page 11: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Application Layer

IaaS Layer

Apps

Virtualisation Layer

Physical LayerHW Layer

£ $ Profit/Re

venue

Resource usage overhead, Higher CAPEX

& OPEX

Cost / Delayed Time to Market / Drain on Resource / Reduced “Agility” / Lock-in

to one Cloud IaaS

Marginal Revenues

Horizon Dashboard

VM

Heat NOVA

KeystoneCinder Neutron Glance

OBSERVE

VM

OpenStack

Guest O/S

The business problem (Visualised)The potential impact of using directly Virtualisation in OpenStack

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 12: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Commercial/Business Challenges for Cloud – Questions we should perhaps be asking: 1. How do I ensure I remain competitive in a world that is changing at such a

rate?. How can I get ahead of the ahead of the herd?

2. How do I ensure my solutions give the commercial benefits expected by my customers in terms of reduced OPEX, CAPEX.

3. How can we achieve greater automation where automation is key to achieving “agility” the cloud, implemented on a well designed system and you have success, implemented on a poorly designed system that has not considered the wider aspects and you have a magnification of costs.

1. Quote "The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency. - Bill Gates

- Example: CI/CD will either magnify your inefficiencies or result in an improvement in quality

4. How can I leverage new cloud technologies like Openstack to achieve “agility” without burdening the costs and soaking up our resources taking critical resources away from working on our apps.

5. How do I ensure my business costs don’t spiral out of control as a result of the adoption of new technologies in your systems - where my solutions resource usage and need for data increases rapidly from Gigabytes to Exabytes or one billion gigabytes where in cloud hosting model I may pay by the hour per byte! – Example monitoring could take 150TB, which your business may or may not have anticipated, either way this type of issue is often systemic and can negatively impacts a businesses operating margins as such controlling your costs in the cloud should be any businesses priority. Copyright 2015 –

Presented by Dean Delamont - 12th July 2015

Page 13: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

• Greater customer uptake – through reduce barrier to entry/costs?

• Increased agility and velocity – Resulting in increased velocity in our product developments through spending more time coding our apps and driving up profit?

• Increased Profitability - through reductions in your CAPEX and OPEX gained though optimization and economies of scale? Repeatable success in the ease and speed in which you can deliver your solutions?

What do you want to achieve as a business from a cloud SaaS offering?

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 14: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

A key point to note is that our Developers want a reproducible environment that they can deploy on in a repeatable and reliable manor, but where we deliver today our applications in a VM image there is no separation between the underlying infrastructure and our applications where we are reliant on the Openstack Services as such deploying to cloud is both time consuming and expensive on OpenStack evident by the number of man years investment we are making on developing our solutions to work on Openstack.

Truth be told an application developer doesn't care for the infrastructure, this is a hindrance, cost, burden to them. What they want is to deliver SW in a way that they can control the E2E environment where the results from their development testing is repeatable in which we are not impacted by changes to the infrastructure layer.

Here in this presentation we only talk about the cost savings from a resource perspective through our solutions adopting a containerisation and Microservices architecture, however to be very clear there is also a significant saving to our business in cost of developing our solutions for the cloud that this approach would also provide in which technologies like OpenSwift, Docker and Kubernetes could enable us to deploy on any OpenStack IaaS or Private/Public Cloud infrastructure where we achieve a cloud agnostic solution at the same time in which our solutions become self contained.

This has far reaching business implications to businesses in the reduction of costs to deploy and support our solutions in the cloud where it is possible to gain cost efficiencies in OPEX, internal CAPEX,

According to a survey by ZDNet9, respondents stated they saw benefits from the ability to deploy applications faster (54 percent); reduced effort to deploy applications (40 percent); streamlined development and testing (38 percent); reduced application deployment costs (31 percent); and server consolidation (25 percent).

The developer needs

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 15: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

15

The solution – “Finding the silver lining in the cloud”

Presented by Dean Delamont12th July 2015

A business first lead initiative

Page 16: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Suggested Alternative Approach

Accelerating our Product Development and Reducing Costs – Through Cloud Agnostic Solutions

Page 17: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Application Layer

IaaS Layer

Apps

Virtualisation Layer

Physical Layer

£ $ Profit/Re

venue

Lower Resource usage, Reduced CAPEX & OpEx*

One-time investment, Frees up Resource / Increased

agility / Cloud Portability*

Marginal Revenues

Bins/Libs

Docker Engine

ContainersBins/Libs

“Abstraction Layer”

A recommended solution(Container Technology)

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 18: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Provides logical separation of the cloud IaaS and Application Layer:

Infrastructure Layer(Network, Compute, Storage, etc.)

Application Layer(Solutions – Apps)

Increased portability

“Abstraction Layer”

Acceleration of Development

Docker Engine

O/S - Kernal

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 19: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Linux container engine Advantages over pure VM

Size Performance Portability Application-centric

LXC Containers are isolated, but share OS and bins/libs – Docker

Engine It’s purpose is to package, instantiate, and run containerized

applications.

Introduction to Docker

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 20: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Use Kubernetes, in Mantl Kubernetes is an open-source platform for automating

deployment, scaling, and operations of application containers across clusters of hosts.

With Kubernetes, you are able to quickly and efficiently respond to customer demand: Scale your applications on the fly. Seamlessly roll out new features. Optimize use of your hardware by using only the resources you

need. Kubernetes is:

Lean: lightweight, simple, accessible Portable: public, private, hybrid, multi-cloud Extensible: modular, pluggable, simple to use Self-healing: auto-placement, auto-restart, auto-replication

Container Orchestration

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 21: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

OpenShift and Docker Architecture

Key Features• Kubernetes code

in single parameterizable OS templates

• Persistent Volume management

• UI for admin tasks and visualisations

• OpenSource• OpenShift

Origin in GitHub

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 22: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Benefits of change in approach to your development teams 1. Development savings from using Docker:

• Don’t have to ship whole VM • Don’t need to maintain metadata on VM• Pre-integrated - frees the developer from worrying about the

IaaS• Shipped image in self contained container in a pre-described

manor where you can spawn instances or instantly replicate your entire solution and E2E environment in a repeatable and reliable way on any IaaS and/or OpenStack cloud infrastructure.

2. Reduced complexity through the use of Kubenetes and OpenShift: • You can quickly schedule your containers to be spawned where

master does scheduling • Minions run containers• Proxy Service - allows to people see services externally, • POD collection of containers  running on Minion that all share the

same network / single network name spaceCopyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 23: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

The wider organisational – the real business benefits 1. Accelerated product development, with the ability to deploy applications

faster

2. Reduction in CAPEX – through consolidation of applications and the deployment of light weight containers as opposed to high resource consuming VMs.

3. HA without the costs of paying for resources not used. A secondary benefit is a significant reduction in costs where you only need half of the compute resources that we use presently for everything that is is stateless.

4. Reduced effort – where developers can reproducible environment that they can deploy on in a repeatable and reliable manor, as well as accelerating product roadmaps and time to market.

5. Reduced integration issues and complexity where our solutions are self-contained

6. Greater Economies of Scale – where containers are small and launch much more quickly than their virtual counter parts, clusters can be scaled up and/or down in more cost efficient ways, simply by running or stopping additional containers so that you only consume the resources you need to meet say increased end user demand for your services. In a rented cloud hosting model, this is a saving to your business per hour! Copyright 2015 –

Presented by Dean Delamont - 12th July 2015

Page 24: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

• Provides Cloud Mobility - where an application with essentially its own mini OS system “Container”, that contains a complete file system, system libraries and everything you need to run your application regardless of the underlying environment of the host server.

• Provides increased agility – Resulting in increased velocity in our product developments through spending more time coding our apps and less time worrying about OpenStack or underlying IaaS.

• Provides efficiency in lowering resource costs – Resulting in reduced CAPEX and OPEX through smaller footprints – less hardware needed through an optimised environment

• Provides increased profit margins – Through simplification of the integration of solutions on different Cloud Infrastructures where our costs go down as a result and margins go up.

Docker / Containers - What does it mean for my business?

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 25: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

Closing thoughts

What does our organisations need and relevancy for the need for a separation of concerns: Developers want a simple way to deploy our solutions on a reproducible

environment where we are not constrained or impacted by changes to the underlying Infrastructure i.e. changes to Keystone, Nova, Glance on OpenStack.

Our development teams want a descriptive way in which they deploy our solutions in a repeatable manner without lots of code re-writes or integration issues because of changes to the Infrastructure.

For any organization that sells software solutions not Infrastructure, we need a means to have a separation between the OpenStack IaaS and Host O/S where we can free up our resources by removing the considerable effort needed today when working with Openstack. Thereby allowing our efforts to be more focused as a result on getting our applications out the door quicker to customers, resulting in increased productivity and velocity.

For most business there is a need to lower the TCO for their solutions to improve their operating margins and EBITDA, where specifically we need to reduce our OPEX and CAPEX costs if we are to remain competitive. To do this we need make a separation between the Infrastructure layer an our applications.

Copyright 2015 –Presented by Dean Delamont - 12th July 2015

Page 26: Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes

26

Thanks for listening!

Achieving Cost and Resource efficiency through Docker and Kubernetes (OpenShift)

V1.0

Presented by Dean Delamont12th July 2015

Part of a series of presentations on achieving cost and resource efficiency in our OpenStack and Cloud Deployments – please contact Dean Delamont for more

information