red hat forum benelux 2015

58
Accelerate at DevOps Speed With Openshift v3 Alessandro Vozza & Samuel Terburg Red Hat

Upload: microsoft

Post on 23-Feb-2017

756 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Red Hat Forum Benelux 2015

Accelerate at DevOps SpeedWith Openshift v3Alessandro Vozza & Samuel TerburgRed Hat

Page 2: Red Hat Forum Benelux 2015

IT (R)Evolution

Page 3: Red Hat Forum Benelux 2015

Red Hat Brings It All Together

Page 4: Red Hat Forum Benelux 2015

What is Kubernetes ● Open source container cluster manager○ Inspired by the technology that runs

Google

● RUns anywhere:○ Public cloud○ Private cloud○ Bare metal

● Strong ecosystem○ Partners: Red Hat, VMware,

CoreOS..○ Community: clients, integration

Page 5: Red Hat Forum Benelux 2015

Benefits for developers

Page 6: Red Hat Forum Benelux 2015

OpenShift Technical Architecture

Page 7: Red Hat Forum Benelux 2015

openshift.com

Page 8: Red Hat Forum Benelux 2015

openshift.com

OpenShift runs on your choice of infrastructure

Page 9: Red Hat Forum Benelux 2015

openshift.com

Nodes are instances of RHEL where apps will run

Page 10: Red Hat Forum Benelux 2015

openshift.com

App services run in docker containers on each node

Page 11: Red Hat Forum Benelux 2015

openshift.com

Pods run one or more docker containers as a unit

Page 12: Red Hat Forum Benelux 2015

openshift.com

Registries are where application images are stored

Page 13: Red Hat Forum Benelux 2015

openshift.com

Masters leverage kubernetes to orchestrate nodes / apps

Page 14: Red Hat Forum Benelux 2015

openshift.com

Master provides authenticated API for users & clients

Page 15: Red Hat Forum Benelux 2015

openshift.com

Master uses etcd key-value data store for persistence

Page 16: Red Hat Forum Benelux 2015

openshift.com

Master provides scheduler for pod placement on nodes

Page 17: Red Hat Forum Benelux 2015

openshift.com

Pod placement is determined based on defined policy

Page 18: Red Hat Forum Benelux 2015

openshift.com

Services allow related pods to connect to each other

Page 19: Red Hat Forum Benelux 2015

openshift.com

Management/Replication controller manages the pod lifecycle

Page 20: Red Hat Forum Benelux 2015

openshift.com

What if a pod goes down?

Page 21: Red Hat Forum Benelux 2015

openshift.com

OpenShift automatically recovers and deploys a new Pod

Page 22: Red Hat Forum Benelux 2015

openshift.com

Pods can attach to shared storage for stateful services

Page 23: Red Hat Forum Benelux 2015

openshift.com

Routing layer routes external app requests to pods

Page 24: Red Hat Forum Benelux 2015

openshift.com

Developers access OpenShift via Web, CLI or IDE

Page 25: Red Hat Forum Benelux 2015

Kubernetes Cluster

Architecture

Registry

DeployBuild

Master

Nodeconfig config

Storage

Pod

Volume

Node

Service

Pod

Pod

Route

Page 26: Red Hat Forum Benelux 2015

Agile

Page 27: Red Hat Forum Benelux 2015

Faster: From Idea to Production

Cycle time is defined as the time it takes from starting to code a new feature to the time it takes to deploy

that feature into production. The goal of any business should be to reduce this cycle time without compromising

on quality.

OPENSHIFT

CONTINUOUS DELIVERY

CYCLE TIME

Selfprovisioning

Environmentstandardization

Autoscaling

CentralizedManagement

Productmanagers

Developers Test engineers

Operationspersonnel

IDE Configurationmanagement

Continuousintegration Monitoring

DEV PRODQA UAT

Idea Productionfeature

Page 28: Red Hat Forum Benelux 2015

DevOps experience

Page 29: Red Hat Forum Benelux 2015

Developer provides git repo

$> oc new-app --code=http://github.com/mycompany/myapp.git

Page 30: Red Hat Forum Benelux 2015

Providing the Builder image

$> oc new-app --code=... --image-stream=wildfly-8-centos

auto detect

Java JEEPHPRubyNodeJSDocker

: pom.xml: index.php: Rakefile / Gemfile: app.jon / package.json: Dockerfile

scripts

- assemble- run- save-artifact

Page 31: Red Hat Forum Benelux 2015

Layer is applied to image

$> oc start-build my-build

Page 32: Red Hat Forum Benelux 2015

Layer is added back to registry

my-app:latest

Page 33: Red Hat Forum Benelux 2015

Image is deployed

ImageChange Triggers "Deployment"

$> oc deploy my-app --latest

my-app:latest

Page 34: Red Hat Forum Benelux 2015

Trigger a new BuildWebHook

BaseImageChange

Page 35: Red Hat Forum Benelux 2015

Updated image is added back to the registry

my-app:latest

WebHook

Page 36: Red Hat Forum Benelux 2015

New image is deployed as rolling update

App.1 App.2

App.1App.1

App.1 App.2App.1 App.2

App.1 App.2App.2App.2App.1

App.1App.1App.2

App.2App.2

Rep

lica:

3

WebHook

step 1 step 2 step 3

Page 37: Red Hat Forum Benelux 2015

Continuous Integration Pipeline example

Source Build Deploy:testStore

:testDeploytest-fw

Test Tag:uat

Deploy:uat

commit webhook registry ImageChange

registry

ImageChangeApprove Tag

:prod

Deploy:prod

registry

ImageChange

ITIL

Page 38: Red Hat Forum Benelux 2015

OpenShift Demo

Page 39: Red Hat Forum Benelux 2015

WebUI and CLI & IDE$> oc build openshift/hello-world

Page 40: Red Hat Forum Benelux 2015

openshift.com

Logging

● Elasticsearch, Fluentd, and Kibana

● Full build, deploy, docker (std error/out) log consolidation for admins

● Developer gets real-time logs to console

Page 41: Red Hat Forum Benelux 2015

openshift.com

Metrics

● Heapster● Connect it to Hawkular (and therefore Cassandra)● Container metrics from cgroups (via the Heapster data model) ● Java app metrics from JAdvisor/Jolokia attributes*

* still under active development

Page 42: Red Hat Forum Benelux 2015

OpenShift Integrations

Page 43: Red Hat Forum Benelux 2015

Authentication

● RBAC● LDAP● HTPasswd● GitHub / Google / OpenID● SSO - Request Header (eg “X-Remote-User”)● Tokens

Trust● Trusted Red Hat Registry

Page 44: Red Hat Forum Benelux 2015

openshift.com

JBoss Developer Studio and Eclipse Plugin

● You can:- Create new Project- Create new App- Use Templates

● Import existing OpenShift app● Local docker tools, deploy image● Connect to your application via port forwarding● Build and Runtime logs

Page 45: Red Hat Forum Benelux 2015

openshift.com

OpenShift On OpenStack

A True Open Hybrid Cloud

● Deploy OpenShift on OpenStack via Heat

● Integrate Apps with OpenStack services

● Manage it all with CloudForms

● Get it all at once with Red Hat Cloud Suite

45

Page 46: Red Hat Forum Benelux 2015

openshift.com

Administration & Container Mgt. with CloudForms

● Red Hat CloudForms 4 adds new providers for OpenShift and Containers (Dec 2015)

● Monitor containers running in OpenShift Enterprise

● Docker and Kubernetes aware (containers, pods, services...)

● OpenShift provider adds even more features (projects, users, registries, images)

● Included with OSE subscriptions

Page 47: Red Hat Forum Benelux 2015

Available in 3 flavors

● docker run openshift/origin

Page 48: Red Hat Forum Benelux 2015

Q & A

Page 49: Red Hat Forum Benelux 2015

CASE DESCRIPTION

● IT Challenges

● Proposes solutions

● How did we do it

● How did the solution solved the issues

Page 50: Red Hat Forum Benelux 2015

LESSONS LEARNED

● What worked well?

● What needs to be improved

Page 51: Red Hat Forum Benelux 2015

NEXT STEPS

● Tell something about the future of IT in your company in relation to this project

Page 52: Red Hat Forum Benelux 2015

by52/62

Build automation

Developer Dockerfile Build Image Deploy to App

Developer Code Build Layer Image Deploy to App

Source-to-Image builds

Integrated Docker builds

Page 53: Red Hat Forum Benelux 2015

openshift.com

OpenShift Product Roadmap3.0 - June 2015●Docker container runtime & image packaging format●Kubernetes orchestration & mgt.●Source-to-Image & Docker builds ●JBoss EAP 6.4, JWS 3.0, A-MQ 6.2●SCL images (Node, Python, PHP, Ruby...)●Shared storage volumes for stateful apps●Projects & team collaboration●OAuth & enterprise auth integration (LDAP)●Enhanced Web, CLI and IDE interfaces●Manual scaling

3.0.x - Q3CY2015●Auto-scaling basic●F5 and External Routing Examples●Reference architectures●Bug fixes

●Additional storage plugins●Networking enhancements●Enhanced logging / ELK ●CPU/Memory Overcommit●Better Master HA●Job Controller●LDAP teams integration ●Better CI integration●Atomic Host

3.2 - 1HCY16●Mobile Service / FeedHenry●Idling ●Expanded Fabric8 Integration●Non-SNI / non-HTTP routing●Git hosting●OpenStack Network Integrations●CloudForms Active Management●Pipelines●Service Registry

3.1 - Q4CY15●Metric-driven autoscaling●Integration Service / Fuse 6.x●Decision Service / BRMS●Cache Service / JDG ●Eclipse IDE completion●Web/CLI UX enhancements●SCL 2 image updates●External service bridge/registry●CloudForms OSE Provider

Page 54: Red Hat Forum Benelux 2015

openshift.com

● Streamlined app creation flows● Streamlined overview page● Ability to delete projects● Access to pod logs● 3rd party extensions API for pluggability● Trigger deployments and rollbacks● Cancel builds

Web Console Updates

Page 55: Red Hat Forum Benelux 2015

openshift.com

Notes

Page 56: Red Hat Forum Benelux 2015

openshift.com

Change vs. ImmutabilityFinding the Developer Comfort Zone

Time to Production

Inception Production

Cha

nge

Leve

l

High Iterations

$ oc syncCDKIDE port forwardingHot deploy

Git BranchesS2IJenkins S2I

Binary Deployvia Assembly

Page 57: Red Hat Forum Benelux 2015

by57/62

Deployment automation

Manual change Code change Config change Image change

Page 58: Red Hat Forum Benelux 2015

openshift.com

● Immediate builds triggered after app creation● Build and deploy performance improvements● Security improvements for source to image builds● Jenkins image available to run within OpenShift● Git - additional authentication methods● Eclipse / JBoss Developer Tools● Hot deploy● Offline / Local (CDK) : Vagrant, Docker

Developer Experience