22
OpenShift A DevOps Platform DevOpsDays India’16

OpenShift As A DevOps Platform

Embed Size (px)

Citation preview

Page 1: OpenShift As A DevOps Platform

OpenShift A DevOps Platform

DevOpsDays India’16

Page 2: OpenShift As A DevOps Platform

$ whoami● Name: Lalatendu Mohanty● Occupation: software engineer● Company: Red Hat● Interests: Free software, open source, distributed systems, containers, ● Blog: lalatendu.org

Page 3: OpenShift As A DevOps Platform
Page 4: OpenShift As A DevOps Platform

Modern Application Development

Page 5: OpenShift As A DevOps Platform

Modern applications● Commonly delivered as services i.e. software-as-a-service● Web applications, Mobile application software● Designed for continuous delivery● Designed to scale-up and down● Can utilize modern cloud platforms

Page 6: OpenShift As A DevOps Platform

Modern application development● Need to match speed of growing business● Microservices● Continuous delivery

○ Blue green deployment○ Canary deployment

● The twelve-factor application for cloud native applications○ Refer : https://12factor.net/

Page 7: OpenShift As A DevOps Platform

● A container platform to create, modify, deploy containerized applications.● Platform to deploy microservices● Choose programming languages you want● Continuous deployment● Self service platform● Platform as a service● Can run on physical, virtual infrastructure● Can run on private and public clouds

Page 8: OpenShift As A DevOps Platform

OpenShift under the hood● Uses Kubernetes orchestration, management and Docker as the container

technology.● Features for managing complete application lifecycle

○ Automated image builds and promotion.○ Deployments integrated with builds, pipeline and CI.○ Fully integrated Docker registry.○ Networking (SDN, DNS, routing) for container networking.○ Integration with Docker Hub and other 3rd party enterprises registries. ○ Integrated enterprise features e.g authentication (LDAP etc), quota etc.

Page 9: OpenShift As A DevOps Platform

Photo credit: http://www.nuagenetworks.net/blog/openshift/

Page 10: OpenShift As A DevOps Platform

Applications in OpenShiftWe can use both web console of the OC command line.

Create applications:● From source code

○ Local or remote git repository○ Auto detect changes to the applications and trigger the build process.

● Using OpenShift template● Using docker images

○ E.g. $ oc new-app kubernetes/guestbook

Page 11: OpenShift As A DevOps Platform

Building docker images● Auto detects the programming language from the source code and converts it

as a runnable docker image.● End users do not need to write Dockerfile● Enable existing source build tools e.g. maven, rake● Project : https://github.com/openshift/source-to-image

Page 12: OpenShift As A DevOps Platform
Page 13: OpenShift As A DevOps Platform

Running OpenShift on my Laptop?● $ oc cluster up

○ Get OC binary from https://github.com/openshift/origin○ Run “$oc cluster up”

● Container Development Kit (CDK)

Page 14: OpenShift As A DevOps Platform

Demo

Page 15: OpenShift As A DevOps Platform

OpenShift as a PaaS● Autoscaling

○ Need Metrics enabled (Heapster or combination of Heapstar and Hawkular)

● HAProxy● Integrating external service● Router● Container health check using Kubernetes probe● Logging infrastructure can be integrated e.g. EFK (Elasticsearch, Fluentd,

Kibana)● Quota

○ Allocating resource quota for a project in OpenShift

Page 16: OpenShift As A DevOps Platform

For Developers● Eclipse IDE integration. ● Developers do not need to know much about Docker and Kubernetes.● Integration with Jenkins running in OpenShift● Ability to move from QA -> Stage -> Production

Page 17: OpenShift As A DevOps Platform

OpenShift Pipeline● Based on Jenkins pipeline

Page 18: OpenShift As A DevOps Platform

OpenShift offerings● OpenShift Origin

○ Community edition

● OpenShift Online○ Hosted solution○ Tryout: https://www.openshift.com/devpreview/register.html

● OpenShift Dedicated○ Deployed on cloud e.g. AWS, Google cloud platform.

● OpenShift Container Platform○ Product for on-premise cloud

Page 19: OpenShift As A DevOps Platform

Red Hat container development kit● Development environment same as the production environment.● Setup OpenShift container platform on top of RHEL Vagrant guest.

○ One command to set up/destroy i.e. “vagrant up” roy" and “vagrant destroy”○ There are templates of sample applications.

● Get single node Kubernetes setup or Docker run time Windows, OS X, Linux/GNU.

● Overview: http://developers.redhat.com/products/cdk/overview/● Get started: http://developers.redhat.com/products/cdk/get-started

Page 20: OpenShift As A DevOps Platform

Competitive Edge● Built with proven open source technologies from established communities.

Page 21: OpenShift As A DevOps Platform

References● http://www.slideshare.net/greghoelzer7/red-hat-openshift-v3-overview-and-de

ep-dive● https://access.redhat.com/documentation/en/openshift-enterprise/3.0/single/ar

chitecture/

Page 22: OpenShift As A DevOps Platform

Questions?