3. CONTAINERS & CLOUD-NATIVE ROADSHOW4
CLOUD-NATIVE CAPABILITIES WITH
RED HAT OPENSHIFT
ANY
CONTAINER
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
ANY
INFRASTRUCTURE
APPLICATION LIFECYCLE MANAGEMENT
CONTAINER ORCHESTRATION AND MANAGEMENT
ENTERPRISE CONTAINER HOST
4. CONTAINERS & CLOUD-NATIVE ROADSHOW5
CLOUD-NATIVE CAPABILITIES WITH
RED HAT OPENSHIFT
APPLICATION LIFECYCLE MANAGEMENT
CONTAINER ORCHESTRATION AND MANAGEMENT
ENTERPRISE CONTAINER HOST
Service Discovery Routing Load Balancing
Security
Monitoring
Conf Management Log Management Multi-tenancy
Self-ServiceBuild Automation Deploy Automation CI/CD
ANY
CONTAINER
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
ANY
INFRASTRUCTURE
6. containers are created from
container images during a build
CONTAINER
CONTAINER
IMAGE
BINARY RUNTIME
7. IMAGE REGISTRY
container images are stored in
an image registry
CONTAINER
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
8. an image repository contains all versions of an
image in the image registry
IMAGE REPOSITORY
frontend:latest
frontend:2.0
frontend:1.1
frontend:1.0
CONTAINER
IMAGE
mongo:latest
mongo:3.7
mongo:3.6
mongo:3.4
CONTAINER
IMAGE
myregistry/frontend myregistry/mongo
9. PODPOD
containers are wrapped in pods which are
units of deployment and management, and
share a common network address
CONTAINER CONTAINERCONTAINER
IP: 10.1.0.11 IP: 10.1.0.55
10. pods configuration is defined
in a deployment
image name
replicas
labels
cpu
memory
storage
POD
CONTAINER
POD
CONTAINER
POD
CONTAINER
DEPLOYMENT
11. NODE (RHEL)
pods are deployed to and run on nodes
POD
CONTAINER
POD
CONTAINER
POD
CONTAINER
NODE (RHEL)
POD
CONTAINER
POD
CONTAINER
POD
CONTAINER
12. POD
services provide internal load-balancing and
service discovery across pods
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
POD
CONTAINER
role: backend
role: backendrole: backendrole: backendrole: frontend
13. POD
apps can talk to each other via services
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
POD
CONTAINER
role: backend
role: backendrole: backendrole: backendrole: frontend
Invoke
Backend API
14. POD
routes add services to the external load-balancer
and provide readable urls for the app
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
ROUTE
app-prod.mycompany.com
> curl http://app-prod.mycompany.com
15. projects isolate apps across environments,
teams, groups and departments
POD
C
POD
C
POD
C
PAYMENT DEV
POD
C
POD
C
POD
C
PAYMENT PROD
POD
C
POD
C
POD
C
CATALOG
POD
C
POD
C
POD
C
INVENTORY
❌
❌❌
16. templates define a blueprint for an
application that can be instantiated within
a project
TEMPLATE (name=”foo”)
source
output
triggers
name
labels
strategy
BUILD CONFIG
image name
replicas
labels
cpu
memory
storage
DEPLOYMENT
name
labels
port
targetPort
selectors
protocol
SERVICE
name
destination
termination
hostname
ROUTE
name
labels
repo
IMAGESTREAM
$ oc new-app foo
19. GOAL FOR LAB
In this lab you will learn:
● Important OpenShift concepts for developers
● How OpenShift makes developers and architects happier
● How to do efficient round-trip development:
○ Separate dev from prod environments
○ Quick deployments using rsync / port-forwarding
○ Promoting apps using CI/CD Pipelines
20. LAB: DEVELOPER INTRO TO OPENSHIFT
SCENARIO 3 A DEVELOPER INTRODUCTION TO OPENSHIFT
WEB: openshift-modernize-apps.katacoda.com
22. RESULT OF LAB
In this lab you learned how to:
● Do quick deployments with oc rsync
● Create a production environment separate from dev
● Promote tested/verified builds between environments using
OpenShift pipeline builds
You should now have two projects (dev and prod) running the
same CoolStore app! In the next lab we will begin the process of
breaking the monolith up into microservices.
Red Hat OpenShift is a complete container application platform that natively integrates technologies like docker and Kubernetes to provide a common platform for developers to build and manage containerized applications in a self-service fashion. It builds on top of Red Hat Enterprise Linux or Atomic Host, the trusted enterprise operating system which is used by 90% of Fortune 500 companies, and provides tools and services for building container images from source code and application binaries and managing their lifecycle in production at scale.
Red Hat is a leader in both Kubernetes and docker community and is a top contributor to both communities to make sure these technologies fit smoothly to the needs of customers and users for building microservices on OpenShift.
Specifically for microservices, OpenShift provides a large set of capabilities to take the complexity out of building and running distributed systems at scale. It provides
Service discovery for services find each other despite other services popping up and down as they scale or get deployed and undeployed.
Routing and load balancing to be able to send traffic to the microservices and control how the traffic is distributed between multiple instances of the application enabling patterns like A/B testing
Metrics and monitoring to make sure you can identify anomalies as a microservice starts to misbehave to consume too much resources
Configuration and secret management to decouple environment specific data from the microservices and be able to provide both configuration and also sensitive data in a secure manner to them from environment to environment without the need to change the microservice itself.
Central log management so that when microservices get undeployed or issues occur, the historic logs are kept and inventories in a central place for further investigation.
Service isolation and granular access control to make sure microservices are only allowed to access and do what they are allowed to. Besides, it encourages collaboration by allowing for example developers to look into production without having access to make a change if that’s how your organization operates.
OpenShift is the only platform in the market that provides multi-tenancy on top of Kubernetes and allows all teams and developers to work and collaborate on the same platform without the risk of interfering with each other projects or services.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.
Developers will want to access learn.openshift.com where we have set up a number of self-paced hands-on scenarios that don’t require installation of any software, and completely runs in your browser. You’ll find scenarios for the runtimes I discussed today, as well as scenarios to learn more about how OpenShift itself works.