Top Banner
DEVOPS AUTOMATION Managing containers with OpenShift Renato Puccini OpenShift Technical Account Manager
96

Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

May 20, 2020

Download

Documents

dariahiddleston
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: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

DEVOPS AUTOMATIONManaging containers with OpenShift

Renato PucciniOpenShift Technical Account Manager

Page 2: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

ENCONTRO DE TECNOLOGIA E INOVAÇÃO2

DIGITAL TRANSFORMATIONIMPACTAR THE WAT WE BUILD, DEPLOY AND MANAGE SOFTWARE

HOW

WHAT

WHERE

TRADITIONALNOW | JUST

PASSEDTREND | NOW

WATERFALL

CLIENT-SERVER

SERVERS

AGILE

N-TIER

PRIVATE

VMs

DEVOPS

MICROSERVICES

PRIVATE PUBLIC

CONTAINERS

MOBILE

Page 3: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

ENCONTRO DE TECNOLOGIA E INOVAÇÃO

DIFFERENT GOALS?

DEV OpS

CHANGE STABILITY

BUSINESS

Page 4: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

ENCONTRO DE TECNOLOGIA E INOVAÇÃO

WE NEED A NEW CULTURE

PEOPLE

PROCESSES

TECNOLOGY

Page 5: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OPENSHIFT5

PORTAL SELF-SERVICE

VERSION CONTROL

DEPLOY AUTOMATED

MONITORINGAND FEEDBACK

STANDARDIZATION BETWEEN ENVIRONMENTS

ORCHESTRATION AND MANAGEMENT

HEALTH CHECKS AUTOMATED

OPENSHIFT IS THE FOUNDATIONAL BASE FOR A DEVOPS ADOPTION

DEVOPS, CONTAINERS AND MICROSERVICES

Page 6: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

6

Container Runtime & Packaging(docker)

Enterprise Container Host

Red Hat Enterprise LinuxAtomic Host

Trusted by Fortune Global 500 companies

OPENSHIFT CONTAINER PLATFORM

Page 7: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

7

Infrastructure Automation & Cockpit

Networking Storage Registry Logs & Metrics

Security

Container Orchestration & Cluster Management(kubernetes)

Container Runtime & Packaging(docker)

Enterprise Container Host

Red Hat Enterprise LinuxAtomic Host

Enterprise Kubernetes++container orchestration

Trusted by Fortune Global 500 companies

OPENSHIFT CONTAINER PLATFORM

Page 8: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

8

OpenShift Application Lifecycle Management

Build Automation Deployment Automation

Service Catalog(Language Runtimes, Middleware, Databases)

Self-Service

Infrastructure Automation & Cockpit

Networking Storage Registry Logs & Metrics

Security

Container Orchestration & Cluster Management(kubernetes)

Container Runtime & Packaging(docker)

Enterprise Container Host

Red Hat Enterprise LinuxAtomic Host

Developer Experience

Enterprise Kubernetes++container orchestration

Trusted by Fortune Global 500 companies

OPENSHIFT CONTAINER PLATFORM

Page 9: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift runs anywhere

Page 10: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Physical...

Page 11: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Virtual...Supported on:

Page 12: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Private cloud...Supported on:

Page 13: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Or public cloudSupported on:

Page 14: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Nodes are RHEL instances...

Page 15: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Where your apps will run

Page 16: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Pod is a container abstraction

Container Image

Container

Pod

Page 17: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Your applications could be organized in projects

Project A

Project B

Page 18: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Master orchestrates your apps in the nodes

Page 19: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

All communication is safe with OpenShift

Page 20: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Master has an API for users and clients

Page 21: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Master uses a key-value database called etcd

Page 22: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Master has an app scheduler

Page 23: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

The app schedule is based on policies

Page 24: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

The best nodes are chosen during the app creation

Page 25: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

It’s possible to isolate apps in environments

DEV

QA

Page 26: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Service allows that apps communicates internally

Examples:

● postgresql:5432● <service>.<pod_namespace>

.svc.cluster.local:<port>● Internal variables

Page 27: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Registry is your app image repo

App 1

App 2

Page 28: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Besides the internal registry, Red Hat also offers its own repo

Page 29: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Replication Controller manages the app life cycle

Page 30: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift manages load balance automatically

Balancer

Page 31: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if does the app fail?

Balancer

Page 32: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift recovers it and creates a new one automatically

Balancer

Page 33: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

How about user sessions?

Balancer

Page 34: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

The session could be replicated

Balancer

JDGJDG

JDG

JDG

JDG

Page 35: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Or externalized

Balancer

JDGJDG

JDG

JDG

JDG

Page 36: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if isn’t the app ready to be accessed?

Balancer

Page 37: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift adds the app to the load balancer once it’s ready

Balancer

Page 38: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I want to divide the traffic into to load balancers?

Balancer

DEV

QA

Page 39: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift allows a multitenant approach

Balancer

Balancer

DEV

QA

Page 40: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift blocks communication between app environments

DEV

QA

Page 41: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OPENSHIFT NETWORK PLUGINS

OPENSHIFT

KUBERNETES CNI

OpenShift Plugin Flannel

Plugin*NuagePlugin

TigeraCalicoPlugin

JuniperContrailPlugin

CiscoContivPlugin

Big SwitchPlugin

Certified Plugin Validated Plugin

VMwareNSX-TPlugin

In-Progress

DEFAULT

OpenDaylightPlugin

Page 42: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

FLAT NETWORK (Default)

● All pods can communicate with each other across projects

MULTI-TENANT NETWORK

● Project-level network isolation● Multicast support● Egress network policies

NETWORK POLICY (Tech Preview)

● Granular policy-based isolation

OPENSHIFT SDN

NODE

POD POD

PODPOD

NODE

POD POD

PODPOD

PROJECT A PROJECT B

DEFAULT NAMESPACE

PROJECT C

Multi-Tenant Network

Page 43: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if does the app try to consume all node resources?

Page 44: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift will prevent it via quotas and limits

Page 45: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if does a node fail and need maintenance?

Page 46: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift will migrate the apps to other nodes

Page 47: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if isn’t my app instances enough?

Page 48: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift will scale it out

Page 49: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And also scale it in automatically

Page 50: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I need to save resources?

Page 51: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift will put the app in idle

Page 52: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Once it has access OpenShift will start the app again

Client

Page 53: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And how much effort is to put my app in OpenShift?

Page 54: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift builds apps using Source-to-Image (sti/s2i)

Page 55: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Just inform your source code repository

Git Repo

Page 56: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And a language template (optional)

Git Repo

+

Page 57: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift creates the image and save it to the registry

Git Repo

+

Page 58: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And execute the new app image

Git Repo

+

Page 59: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Besides the source, it’s also possible to use the app binary

JAR/WAR/EAR

+

Page 60: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

STI also applies to other templates like Httpd

Git Repo

+

Page 61: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if does happen a security fail in my app?

Page 62: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift updates the app automatically

Page 63: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I want to monitor my app resources?

Page 64: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift allows to monitor:

● CPU

● Memory

● Network

Page 65: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Via Hawkular, Heapster and Cassandra and Prometheus (3.11+)

CONTAINER METRICS

RHEL

NODE

POD POD

PODPOD

FLU

EN

TD

RHEL

NODE

POD POD

PODPOD

FLU

EN

TDHEAPSTER

RHEL

NODE

POD POD

PODPOD

CA

DV

ISO

RHAWKULAR

ELASTICELASTICCASSANDRA

CUSTOMDASHBOARDS

API OPENSHIFTWEB CONSOLE

RED HATCLOUDFORMS

USER

Page 66: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I want to monitor my app logs in a centralized manner?

Page 67: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift has the EFK stack

● ElasticSearch

● Fluentd

● Kibana

Page 68: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift has the EFK stack

APPLICATION LOGS

OPERATION LOGS

ELASTICELASTIC

RHEL

NODE

POD POD

PODPODFL

UE

NTD

RHEL

NODE

POD POD

PODPOD

FLU

EN

TDELASTICSEARCH

RHEL

NODE

POD POD

PODPOD

FLU

EN

TD

USER

ELASTICELASTIC

KIBANA

ELASTICELASTIC

ELASTICSEARCH

ELASTICELASTIC

KIBANA

ADMIN

Page 69: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if does the node get saturated by my apps instances?

Page 70: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift will create new apps using QoS

● Guaranteed● Burstable● Best Effort

Page 71: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if did all my nodes are getting saturated?

Page 72: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

CloudForms adds more nodes

Page 73: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Applications can use a storage for stateful services

Page 74: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

With the most important technologies in the industry

NFS

GlusterFS

OpenStack Cinder

Ceph RBD

AWS EBS

GCE Persistent Disk

iSCSI

Fiber Channel

Azure Disk

Azure File FlexVolume

VMWare vSphere VMDK

Supported with:

● Persistent Volume (PV) is tied to a piece of network storage● Provisioned by an administrator (static or dynamically)● Allows admins to describe storage and users to request storage● Assigned to pods based on the requested size, access mode, labels and type

Page 75: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

PROJECT

PERSISTENT VOLUMES POOL

NFSPV

iSCSIPV

NFS PV

Admin

Dev

Creates PV

Ask for storage via PVC (claim)

NFSPV

GlusterFSPV

Pod

claim

Pod

claim

Pod

claim

CephRBDPV

Use of static storage

Page 76: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And also dynamic storage

Admin

Dev

Define StorageClass

Ask for PVC (claim): Fastest

SlowAzure-Disk

FastAWS-SSD

FastestNetApp-Flash

NetAppProvisioner

AWSProvisioner

Pod

claim

PV

OpenShiftPV Controller

provision

AzureProvisioner

bound

Page 77: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Routing layer allows external access to the application

Page 78: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I want to test new versions of my app?

Page 79: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift executes rolling update with canary check

v1.0 v1.0

v2.0 v2.0

v2.0

v2.0

v1.0

v1.0

Page 80: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And also does the rollback manually or automatically

v1.0 v1.0

v2.0 v2.0

v2.0

v2.0

v1.0

v1.0 v1.0 v1.0

Page 81: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift runs A/B Testing

90% v1.0 10% v2.0|

v2.0v1.0v1.0

v1.0

Page 82: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And Blue Green Deployment

v2.0

v1.0 v1.0

v2.0

v2.0

v1.0

Balancer

v1.0v2.0

Page 83: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And if do I want to implement CI/CD?

Page 84: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift already has Jenkins and slaves integrated

M

S SS

Page 85: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Slaves are removed after running

M

S SS

Page 86: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

How about my legacy applications?

Page 87: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

They can run on OpenShift using StatefulSet

● Unique network ids● Predicted Persistent

Storage● Order Deployment ● Order Soft delete● Order Rolling update

S

S

S

Page 88: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

OpenShift also communicates with external services

External Database

Page 89: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Developer may access OpenShift via web, CLI or IDE

Page 90: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

And has access to the service catalog

OpenShift AnsibleBroker

OpenShiftTemplateBroker

AWSServiceBroker

OtherServiceBrokers

ANSIBLE

OPENSHIFT

AWS

OTHER COMPATIBLE SERVICES

Ansible Playbook Bundles

OpenShiftTemplates

AWSServices

OtherServices

Page 91: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Including Amazon!

● Top 10 AWS Services

● Use Ansible Playbook Bundles

● Available in OpenShift 3.7

SQS

RDS

DynamoDB

AWS Batch

S3SNS

EMR

Redshift SES

ElastiCache Route 53

Page 92: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

Allows to use the most important middleware-as-service...

Data Virtualization

Real Time Decision

IntelligentProcess

Integration Messaging Data Grid

Java EE Application

WebApplication

SingleSign-On MobileAPI

Management

Micro services

Page 93: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

In a polyglot platform

...and virtually any docker

image out there!

PHPPythonJava NodeJS Perl Ruby .NETCore

ApacheHTTPServer

MySQL Redis

nginx TomcatVarnish

JBossEAP

JBossA-MQ

JBossFuse

JBossBRMS

JBossBPMS

JBossData Grid

JBossData Virt

RH Mobile RH SSO3SCALE

API mgmt

JBossWeb

Server

SpringBoot

Wildfly Swarm Vert.x

PostgreSQL MongoDB

Phusion Passenger

Third-partyLanguage Runtimes

Third-partyDatabases

Third-partyApp

Runtimes

Third-partyMiddleware

Third-partyMiddleware

LANGUAGES

DATABASES

WEB SERVERS

MIDDLEWARE

Page 94: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

CLIENTS

Page 95: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

CONTAINERS IN PRODUCTION USING RED HAT OPENSHIFT

TJDFT

Page 96: Managing containers with OpenShift DEVOPS AUTOMATION · MONITORING AND FEEDBACK STANDARDIZATION BETWEEN ENVIRONMENTS ORCHESTRATION AND MANAGEMENT HEALTH CHECKS ... DEVOPS ADOPTION

THANK YOU

plus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHatNews