Professional Documents
Culture Documents
Renato Puccini
OpenShift Technical Account Manager
DIGITAL TRANSFORMATION
IMPACTAR THE WAT WE BUILD, DEPLOY AND MANAGE SOFTWARE
NOW | JUST
TRADITIONAL TREND | NOW
PASSED
HOW
WATERFALL
AGILE DEVOPS
WHAT MOBILE
CLIENT-SERVER N-TIER MICROSERVICES
CONTAINERS
VMs
WHERE
SERVERS PRIVATE PRIVATE PUBLIC
DEV OpS
BUSINESS
CHANGE STABILITY
ENCONTRO DE TECNOLOGIA E INOVAÇÃO
WE NEED A NEW CULTURE
PEOPLE
PROCESSES
TECNOLOGY
VERSION CONTROL
MONITORING DEPLOY
AND FEEDBACK AUTOMATED
5 OPENSHIFT
OPENSHIFT CONTAINER PLATFORM
6
OPENSHIFT CONTAINER PLATFORM
7
OPENSHIFT CONTAINER PLATFORM
Self-Service
Service Catalog
(Language Runtimes, Middleware, Databases)
8
OpenShift runs anywhere
Physical...
Virtual...
Supported on:
Private cloud...
Supported on:
Or public cloud
Supported on:
Nodes are RHEL instances...
Where your apps will run
Pod is a container abstraction
Container
Image
Container
Pod
Your applications could be organized in projects
Project A
Project B
Master orchestrates your apps in the nodes
All communication is safe with OpenShift
Master has an API for users and clients
Master uses a key-value database called etcd
Master has an app scheduler
The app schedule is based on policies
The best nodes are chosen during the app creation
It’s possible to isolate apps in environments
DEV
QA
Service allows that apps communicates internally
Examples:
● postgresql:5432
● <service>.<pod_namespace>
.svc.cluster.local:<port>
● Internal variables
Registry is your app image repo
App 1
App 2
Besides the internal registry, Red Hat also offers its own repo
Replication Controller manages the app life cycle
OpenShift manages load balance automatically
Balancer
And if does the app fail?
Balancer
OpenShift recovers it and creates a new one automatically
Balancer
How about user sessions?
Balancer
The session could be replicated
Balancer
JDG
JDG
Or externalized
Balancer
JDG
JDG
And if isn’t the app ready to be accessed?
Balancer
OpenShift adds the app to the load balancer once it’s ready
Balancer
And if do I want to divide the traffic into to load balancers?
Balancer
DEV
QA
OpenShift allows a multitenant approach
Balancer
DEV
Balancer
QA
OpenShift blocks communication between app environments
DEV
QA
OPENSHIFT NETWORK PLUGINS
OPENSHIFT
KUBERNETES CNI
MULTI-TENANT NETWORK
NODE NODE
●
●
Project-level network isolation
Multicast support
POD POD
✓ POD POD
Client
And how much effort is to put my app in OpenShift?
OpenShift builds apps using Source-to-Image (sti/s2i)
Just inform your source code repository
Git Repo
And a language template (optional)
Git Repo
+
OpenShift creates the image and save it to the registry
Git Repo
+
And execute the new app image
Git Repo
+
Besides the source, it’s also possible to use the app binary
JAR/WAR/EAR
+
STI also applies to other templates like Httpd
Git Repo
+
And if does happen a security fail in my app?
OpenShift updates the app automatically
And if do I want to monitor my app resources?
OpenShift allows to monitor:
● CPU
● Memory
● Network
Via Hawkular, Heapster and Cassandra and Prometheus (3.11+)
NODE
RED HAT
POD POD CLOUDFORMS
CONTAINER METRICS
FLUENTD
NODE
POD POD API OPENSHIFT
HEAPSTER HAWKULAR
WEB CONSOLE
POD POD
FLUENTD
NODE
RHEL USER
POD POD CUSTOM
DASHBOARDS
POD POD ELASTIC
CADVISOR
ELASTIC
CASSANDRA
RHEL
POD POD
RHEL
And if do I want to monitor my app logs in a centralized manner?
OpenShift has the EFK stack
● ElasticSearch
● Fluentd
● Kibana
OpenShift has the EFK stack
NODE
ADMIN
NODE
RHEL
POD POD APPLICATION LOGS
POD POD
FLUENTD
ELASTIC ELASTIC
ELASTIC ELASTIC
RHEL ELASTICSEARCH KIBANA
POD POD
USER
RHEL
And if does the node get saturated by my apps instances?
OpenShift will create new apps using QoS
● Guaranteed
● Burstable
● Best Effort
And if did all my nodes are getting saturated?
CloudForms adds more nodes
Applications can use a storage for stateful services
With the most important technologies in the industry
Supported with:
OpenStack
NFS Azure Disk AWS EBS
Cinder
Creates PV Ceph
iSCSI GlusterFS NFS NFS NFS
RBD
PV PV PV PV PV
PV
Admin
Slow Azure
Azure-Disk Provisioner
provision
Admin Fastest NetApp
PV
NetApp-Flash Provisioner
Pod
v2.0
v1.0 v1.0 v1.0
v2.0
v1.0 v2.0 v2.0
And also does the rollback manually or automatically
v2.0
v1.0 v1.0 v1.0
v2.0
v1.0 v2.0
v1.0 v2.0
v1.0
OpenShift runs A/B Testing
v1.0
And Blue Green Deployment
Balancer
v2.0
v1.0 v2.0 v2.0 v1.0
S S S
Slaves are removed after running
S S S
How about my legacy applications?
They can run on OpenShift using StatefulSet
External Database
Developer may access OpenShift via web, CLI or IDE
And has access to the service catalog
AWS AWS
Service AWS
Broker Services
Real Time
Integration Messaging Data Grid
Decision
In a polyglot platform
Third-party
.NET
LANGUAGES Java NodeJS Python PHP Perl Ruby Language
Core Runtimes
JBoss
Spring Wildfly JBoss JBoss JBoss Third-party
Vert.x Web Middleware
Boot Swarm EAP A-MQ Fuse
Server
MIDDLEWARE
TJDFT
THANK YOU
plus.google.com/+RedHat facebook.com/redhatinc
linkedin.com/company/red-hat twitter.com/RedHatNews
youtube.com/user/RedHatVideos