Top Banner
OpenShift DevOps Swapnil Jain RHCA VI Red Hat Cerfied Instructor / DevOps Consultant
68

Understanding DevOps in simpler way with Continuous Delivery

Jan 17, 2017

Download

Technology

Swapnil Jain
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Understanding DevOps in simpler way with Continuous Delivery

OpenShift

DevOps

Swapnil JainRHCA VI

Red Hat Certified Instructor / DevOps Consultant

Page 2: Understanding DevOps in simpler way with Continuous Delivery

IdeasIdeas

RequirementsRequirements

DevelopmentDevelopment

Integrate TestIntegrate Test

ReleaseRelease

Page 3: Understanding DevOps in simpler way with Continuous Delivery

IdeasIdeas

RequirementsRequirements

DevelopmentDevelopment

Integrate TestIntegrate Test

ReleaseRelease

Weeks or months to validate code match original requirement

Page 4: Understanding DevOps in simpler way with Continuous Delivery

IdeasIdeas

RequirementsRequirements

DevelopmentDevelopment

Integrate TestIntegrate Test

ReleaseRelease

Weeks or months to validate code match original requirement

Months/Years to learn if idea requirement match the market need

Page 5: Understanding DevOps in simpler way with Continuous Delivery

Where is the Problem?

Page 6: Understanding DevOps in simpler way with Continuous Delivery

Rework & Overhead

Page 7: Understanding DevOps in simpler way with Continuous Delivery

Rework & Overhead

● Developer to QA lag● Developers gets late feedback ● Works on a buggy software● Resulted in REWORK● Developers are paid to write code● Not spend hours writing instruction how deploy,

thats OVERHEAD● That leads to more problems....

Page 8: Understanding DevOps in simpler way with Continuous Delivery

Leads to more problems

● An INNOVATION problem– We need to deliver more apps, more features, more value.

The business wants more out of IT.

Page 9: Understanding DevOps in simpler way with Continuous Delivery

Leads to more problems

● An INNOVATION problem– We need to deliver more apps, more features, more value.

The business wants more out of IT.

● A THROUGHPUT problem– We need to deliver value to the organization faster. Our

projects are always behind. My best people are always fighting fires instead of delivering value.

Page 10: Understanding DevOps in simpler way with Continuous Delivery

Leads to more problems

● An INNOVATION problem– We need to deliver more apps, more features, more value. The

business wants more out of IT.

● A THROUGHPUT problem– We need to deliver value to the organization faster. Our

projects are always behind. My best people are always fighting fires instead of delivering value.

● A QUALITY problem– Our IT projects aren’t as successful as we want them to be. The

results aren’t satisfying the business.

Page 11: Understanding DevOps in simpler way with Continuous Delivery

Solution, Is there any?

Page 12: Understanding DevOps in simpler way with Continuous Delivery

DevOps DevOps DevOps

Page 13: Understanding DevOps in simpler way with Continuous Delivery

What is DevOps?

Page 14: Understanding DevOps in simpler way with Continuous Delivery
Page 15: Understanding DevOps in simpler way with Continuous Delivery

What is DevOps?

● DevOps is not a Product● DevOps is not a Technology● DevOps is not brain surgery● We Don't buy DevOps● We do DevOps

Page 16: Understanding DevOps in simpler way with Continuous Delivery

DevOps Defined

DevOps is a culture, movement or practice that emphasizes the collaboration and

communication of both software developers and IT operations professionals

while automating the process of software delivery and infrastructure changes.

Page 17: Understanding DevOps in simpler way with Continuous Delivery

DevOps Defined ….. in Short

Communication to work in more collaborative way to achieve acceleration through automation

by bringing People, Process & Technology together

Page 18: Understanding DevOps in simpler way with Continuous Delivery

You Improve 3 things

● Software that you deliver● Environment that you are delivering● Improve the Process

Page 19: Understanding DevOps in simpler way with Continuous Delivery

Where do we start?

Page 20: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Page 21: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Page 22: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Discover Pain Points:- SCM- Build Process- QA Env / Infra- Production Methodology

Page 23: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Developers Build Eng. QA Team IntegrationTesters

UserTesters

Operations

Page 24: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Developers Build Eng. QA Team IntegrationTesters

UserTesters

Operations

Page 25: Understanding DevOps in simpler way with Continuous Delivery

Understanding the Environment & People

DEV BUILD QA SIT UAT PROD

Developers Build Eng. QA Team IntegrationTesters

UserTesters

Operations

- Develop Capability of Continuous Delivery- Make sure all Stakeholder are on same page and have access to all assets and data- Decide Where are your biggest pain points

Page 26: Understanding DevOps in simpler way with Continuous Delivery

How DevOps Solve the INNOVATION, THROUGHPUT & QUALITY Problem?

Page 27: Understanding DevOps in simpler way with Continuous Delivery

How DevOps Solve the Problem?

● INNOVATION– Fully implemented, DevOps can help developers develop,

test & deploy new applications & features quickly to help the business succeed.

Page 28: Understanding DevOps in simpler way with Continuous Delivery

How DevOps Solve the Problem?

● INNOVATION– Fully implemented, DevOps can help developers develop,

test & deploy new applications & features quickly to help the business succeed.

● THROUGHPUT– DevOps tools and practices can help automate mundane,

repetitive tasks and free-up your smartest resources to get new projects out the door more quickly.

Page 29: Understanding DevOps in simpler way with Continuous Delivery

How DevOps Solve the Problem?

● INNOVATION– Fully implemented, DevOps can help developers develop, test & deploy

new applications & features quickly to help the business succeed.

● THROUGHPUT– DevOps tools and practices can help automate mundane, repetitive

tasks and free-up your smartest resources to get new projects out the door more quickly.

● QUALITY– DevOps practices - like continuous feedback loops and continuous

integration - can help increase the quality of deployed code. And, if something goes wrong, you can recover quickly.

Page 30: Understanding DevOps in simpler way with Continuous Delivery

Continuous Delivery / Continuous Deployment

Page 31: Understanding DevOps in simpler way with Continuous Delivery

Continuous Delivery / Continuous Deployment

● Continuous Deployment is process to deploy a software to any particular environment at any given point of time.

Page 32: Understanding DevOps in simpler way with Continuous Delivery

Continuous Delivery / Continuous Deployment

● Continuous Deployment is process to deploy a software to any particular environment at any given point of time.

● Continuous Delivery is that capability to deploy software to any particular environment at any given point of time and it is a must.

Page 33: Understanding DevOps in simpler way with Continuous Delivery

Continuous Delivery / Continuous Deployment

● Continuous Deployment is process to deploy a software to any particular environment at any given point of time.

● Continuous Delivery is that capability to deploy software to any particular environment at any given point of time and it is a must.

● Helps to recreate a bug aqap so that they can fix it.

Page 34: Understanding DevOps in simpler way with Continuous Delivery

Continuous Delivery / Continuous Deployment

● Continuous Deployment is process to deploy a software to any particular environment at any given point of time.

● Continuous Delivery is that capability to deploy software to any particular environment at any given point of time and it is a must.

● Helps to recreate a bug aqap so that they can fix it.● What they need is the ability to provision that

environment which has the same version.

Page 35: Understanding DevOps in simpler way with Continuous Delivery

How do we achieve Continuous Delivery?

Page 36: Understanding DevOps in simpler way with Continuous Delivery

Tools That can help you achieve this

● Docker ● Kubernetes● OpenShift● Puppet● Ansible

Page 37: Understanding DevOps in simpler way with Continuous Delivery

Docker?

Page 38: Understanding DevOps in simpler way with Continuous Delivery

Docker?

A software to create and manage containers

Page 39: Understanding DevOps in simpler way with Continuous Delivery

Containers?

Page 40: Understanding DevOps in simpler way with Continuous Delivery

Containers?

Lightweight Operating System Virtualization

Page 41: Understanding DevOps in simpler way with Continuous Delivery

Docker

● Docker allows you to package an application with all of its dependencies into a standardized unit for software development.

Page 42: Understanding DevOps in simpler way with Continuous Delivery

How is this different from virtual machines?

Page 43: Understanding DevOps in simpler way with Continuous Delivery

Kubernetes?

Page 44: Understanding DevOps in simpler way with Continuous Delivery

Kubernetes?

Kubernetes is an open source container cluster manager by Google. It aims to provide a "platform for automating deployment, scaling, and

operations of application containers across clusters of hosts".

Page 45: Understanding DevOps in simpler way with Continuous Delivery

OpenShift?

Page 46: Understanding DevOps in simpler way with Continuous Delivery

OpenShift?

OpenShift is a cloud Platform-as-a-Service (PaaS) developed by Red Hat.

Page 47: Understanding DevOps in simpler way with Continuous Delivery

origin

Public Cloud Service

On-premise or Private Cloud Software

Open Source Project

FLAVORS OF OPENSHIFT

Page 48: Understanding DevOps in simpler way with Continuous Delivery

Developer IDEIntegrations

Web BrowserConsole

Command LineTooling

REST APIs

INTERACTIONS

Page 49: Understanding DevOps in simpler way with Continuous Delivery

EVERYONE GETS ALONG

• Operations care about stability and performance• Developers just want environments without waiting

OpenShift Enterprise creates a peaceful environment for both

Page 50: Understanding DevOps in simpler way with Continuous Delivery
Page 51: Understanding DevOps in simpler way with Continuous Delivery
Page 52: Understanding DevOps in simpler way with Continuous Delivery
Page 53: Understanding DevOps in simpler way with Continuous Delivery
Page 54: Understanding DevOps in simpler way with Continuous Delivery
Page 55: Understanding DevOps in simpler way with Continuous Delivery
Page 56: Understanding DevOps in simpler way with Continuous Delivery
Page 57: Understanding DevOps in simpler way with Continuous Delivery
Page 58: Understanding DevOps in simpler way with Continuous Delivery
Page 59: Understanding DevOps in simpler way with Continuous Delivery
Page 60: Understanding DevOps in simpler way with Continuous Delivery
Page 61: Understanding DevOps in simpler way with Continuous Delivery
Page 62: Understanding DevOps in simpler way with Continuous Delivery

Source to Image (S2I)

Page 63: Understanding DevOps in simpler way with Continuous Delivery

Why Developers like OpenShift

● On-Demand Development– Self-Service and on-demand

application stacks

– Responsive Web Portal

– One-Click application deployment

● Flexibility and Choice– Choice of programming

languages and frameworks

– Enterprise apps with Java EE6

– Built-in database services

– Extensible cartridge system for adding services

– Mobile application development

– Application portability

● Standardisation– Standardised developer workflows

– Multiple environment support – Dev/Test/Prod

– Dependency and build management

– Library of project templates

● Agile Development– Continuous Integration and Release

Management

– Source code version management

● Development Experience– IDE integration

– Remote application debugging

– Remote SSH login to application containers

– Rich command line tools

Page 64: Understanding DevOps in simpler way with Continuous Delivery

Why Operations like OpenShift

● Designed for High Availability (HA)

● SELinux-based secure multi-tenancy support

● Enterprise integration

– DNS, Directory Services, and edge of network services.

● Supports Continuous Delivery & DevOps

– Automated provisioning

– Automated application scaling

– Reduced maintenance overhead

– Embed operational standards into development

Page 65: Understanding DevOps in simpler way with Continuous Delivery

Why Business likes OpenShift

● Accelerated Application Service Delivery

– Enhances team productivity and agility

– Reduces project bootstrap & setup time

– Engenders ready-to-deploy development of applications and services

● Minimises Vendor Lock-in

– Build on a stack of open source technology

– Provides freedom of choice over adopted languages and frameworks

– Provides freedom of movement into and out of the platform; portable application development

– No proprietary APIs, technologies or resources

– No vendor lock-in

Page 66: Understanding DevOps in simpler way with Continuous Delivery

Puppet / Ansible

Page 67: Understanding DevOps in simpler way with Continuous Delivery

Puppet / Ansible

An open-source configuration management tool.

Page 68: Understanding DevOps in simpler way with Continuous Delivery

OpenShift

Thank You!Swapnil Jain

@[email protected]