OpenShift
DevOps
Swapnil JainRHCA VI
Red Hat Certified Instructor / DevOps Consultant
IdeasIdeas
RequirementsRequirements
DevelopmentDevelopment
Integrate TestIntegrate Test
ReleaseRelease
IdeasIdeas
RequirementsRequirements
DevelopmentDevelopment
Integrate TestIntegrate Test
ReleaseRelease
Weeks or months to validate code match original requirement
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
Where is the Problem?
Rework & Overhead
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....
Leads to more problems
● An INNOVATION problem– We need to deliver more apps, more features, more value.
The business wants more out of IT.
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.
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.
Solution, Is there any?
DevOps DevOps DevOps
What is DevOps?
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
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.
DevOps Defined ….. in Short
Communication to work in more collaborative way to achieve acceleration through automation
by bringing People, Process & Technology together
You Improve 3 things
● Software that you deliver● Environment that you are delivering● Improve the Process
Where do we start?
Understanding the Environment & People
DEV BUILD QA SIT UAT PROD
Understanding the Environment & People
DEV BUILD QA SIT UAT PROD
Understanding the Environment & People
DEV BUILD QA SIT UAT PROD
Discover Pain Points:- SCM- Build Process- QA Env / Infra- Production Methodology
Understanding the Environment & People
DEV BUILD QA SIT UAT PROD
Developers Build Eng. QA Team IntegrationTesters
UserTesters
Operations
Understanding the Environment & People
DEV BUILD QA SIT UAT PROD
Developers Build Eng. QA Team IntegrationTesters
UserTesters
Operations
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
How DevOps Solve the INNOVATION, THROUGHPUT & QUALITY Problem?
How DevOps Solve the Problem?
● INNOVATION– Fully implemented, DevOps can help developers develop,
test & deploy new applications & features quickly to help the business succeed.
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.
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.
Continuous Delivery / Continuous Deployment
Continuous Delivery / Continuous Deployment
● Continuous Deployment is process to deploy a software to any particular environment at any given point of time.
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.
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.
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.
How do we achieve Continuous Delivery?
Tools That can help you achieve this
● Docker ● Kubernetes● OpenShift● Puppet● Ansible
Docker?
Docker?
A software to create and manage containers
Containers?
Containers?
Lightweight Operating System Virtualization
Docker
● Docker allows you to package an application with all of its dependencies into a standardized unit for software development.
How is this different from virtual machines?
Kubernetes?
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".
OpenShift?
OpenShift?
OpenShift is a cloud Platform-as-a-Service (PaaS) developed by Red Hat.
origin
Public Cloud Service
On-premise or Private Cloud Software
Open Source Project
FLAVORS OF OPENSHIFT
Developer IDEIntegrations
Web BrowserConsole
Command LineTooling
REST APIs
INTERACTIONS
EVERYONE GETS ALONG
• Operations care about stability and performance• Developers just want environments without waiting
OpenShift Enterprise creates a peaceful environment for both
Source to Image (S2I)
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
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
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
Puppet / Ansible
Puppet / Ansible
An open-source configuration management tool.
Top Related