OPENSHIFT TECHNICAL OVERVIEW
Une plateforme pour le développement Cloud Native
Laurent Broudoux
Architecte Solution PaaS / DevOps
14 Décembre 2017
TRACK TECHNIQUE OPENSHIFT2
Self-Service
Multi-language
Automation
Collaboration
Seamless
Standards-based
Web-scale
Open Source
Enterprise Grade
Secure
MICROSERVICES?
TRACK TECHNIQUE OPENSHIFT4
ARCHITECTURE MICRO-SERVICES
Pensez “domaine” et
“Bounded Context”
Pensez “promesses”
et pas “obligations”
?
!
Obligation
Promesse
Pensez “dépendances”
et “fautes”
“
One of the principles of creativity is to drop
a constraint. In other words, you can come
up with creative solutions to problems if
you mentally eliminate one or more
dependencies.”
Quelques principes de design
TRACK TECHNIQUE OPENSHIFT5
Creepy Monolith Awesome Microservices
UN PRINCIPE SIMPLE ...
TRACK TECHNIQUE OPENSHIFT6
DES NOUVEAUX CHALLENGES
Data Replication
Distributed SystemSECURITY
MANAGEMENT
MONITORING LIFE-CYCLE
TRACK TECHNIQUE OPENSHIFT7
CONFIG
MANAGEMENT
SERVICE
DISCOVERY & LB
RESILIENCE & FAULT
TOLERANCE
API
MANAGEMENT
SERVICE
SECURITY
CENTRALIZED
LOGGING
CENTRALIZED
METRICS
DISTRIBUTED
TRACING
SCHEDULING &
DEPLOYMENT
AUTO SCALING & SELF
HEALING
MICROSERVICES
CONCERNS
LES PREOCCUPATIONS DANS UNE ARCHITECTURE
MICRO-SERVICES
TRACK TECHNIQUE OPENSHIFT8
LE USE-CASE DU JOUR !
MSA STORE / OPENSHIFT / AZURE
ORDER
INVENTO
RY
SHIPPIN
G
SHOP
Avant d’enregistrer une commande,
l’inventaire doit être consulté !
Illustration de la
containerisation par
OpenShift
PRE-REQUIS
TRACK TECHNIQUE OPENSHIFT10
Elastic
Infrastructure
PaaS for elastic
Applications
BESOIN D’UNE FABRIQUE !
CI / CD Fabrique Application
Factory
TRACK TECHNIQUE OPENSHIFT11
DEV
TEST /
QA PROD
PHYSIQUE
VIRTUEL
CLOUD
PRIVE
CLOUD
PUBLIC
CLOUD
HYBRIDE
SOURCES
BIN, JAR,
WAR, LIB,
...
BESOIN D’UNE FABRIQUE MODERNE !
Chef de projet Lead développeur Développeur Ops
OPENSHIFT FOR DEVS
TRACK TECHNIQUE OPENSHIFT13
CrunchyData
GitLab
Iron.io
Couchbase
Sonatype
EnterpriseDB
and many more
… virtuellement
toute image
Docker
disponible !
PHP Python Java NodeJS Perl Ruby
.NET
Core
Apache
HTTP
Server
MySQL Redis
nginx TomcatVarnish
JBoss
EAP
JBoss
A-MQ
JBoss
Fuse
JBoss
BRMS
JBoss
BPMS
JBoss
Data Grid
JBoss
Data Virt
RH
Mobile
RH SSO
3SCALE
API mgmt
JBoss
Web
Server
Spring
Boot
Wildfly
Swarm
Vert.x
PostgreSQL MongoDB
Phusion
Passenger
Third-party
Language
Runtimes
Third-party
Databases
Third-party
App
Runtimes
Third-party
Middleware
Third-party
Middleware
CATALOGUE D’IMAGES CERTIFIEES
TRACK TECHNIQUE OPENSHIFT14
DEPLOYER VOTRE CODE
SOURCE
DEPLOYER VOTRE
BINAIRE
DEPLOYER VOTRE IMAGE
DE CONTAINER
CONSTRUIRE ET DEPLOYER DES CONTAINERS
TRACK TECHNIQUE OPENSHIFT15
S2I : CONTAINERISATION PAR OPENSHIFT
codeGit
Repository
Source-to-Image
(S2I)
deploy
CODE
BUILD IMAGE
DEPLOY
Container
Image
Image
Registry
OPSDEV
Application
Container
TRACK TECHNIQUE OPENSHIFT16
DEPLOY
buildApplication
Binary
(e.g. WAR)
Source-to-Image
(S2I)
deploy
Container
Image
Image
Registry
OPSDEV
BUILD APP
BUILD IMAGE
Existing Build
Process
Application
Container
S2I : CONTAINERISATION PAR OPENSHIFT
TRACK TECHNIQUE OPENSHIFT17
Fonctionnalités avancées pour les applications modernes
TEMPLATES & CATALOGUE DE SERVICES
SOURCE
PARAM
Template v1
Architecte / Référent
Technique
Template v1
Développeur
App Image
v2.1
Base
Image
SOURCE
PARAM
Blueprint v1.1
SOURCE
PARAMSOURCE
PARAM
Mon App v2.5
Source v2.1
Architecte / Référent
Technique Développeur
TRACK TECHNIQUE OPENSHIFT18
LE MOMENT DE TESTER !
MONITORING ?
TRACK TECHNIQUE OPENSHIFT20
TRACK TECHNIQUE OPENSHIFT21
COMMENT ALLER EN PROD ?
CI/CD WITH OPENSHIFT
TRACK TECHNIQUE OPENSHIFT24
DEV INT QA PROD
Orchestrateur
Rolling Upgrades
Blue/Green Deployments
A/B Testing
Image build process
CI/CD AVEC OPENSHIFT
TRACK TECHNIQUE OPENSHIFT25
OPTIONS CI/CD AVEC OPENSHIFT
JENKINS-AS-A SERVICE
SUR OPENSHIFT
INFRA JENKINS HYBRIDE AVEC
OPENSHIFT
CI/CD EXISTANT
CONNECTE A OPENSHIFT
SYNTHESE
TRACK TECHNIQUE OPENSHIFT27
LE USE-CASE DU JOUR !
MSA STORE / OPENSHIFT / AZURE
CONFIG
MANAGEMENT
SERVICE
DISCOVERY & LB
RESILIENCE & FAULT
TOLERANCE
API
MANAGEMENT
SERVICE
SECURITY
CENTRALIZED
LOGGING
CENTRALIZED
METRICS
DISTRIBUTED
TRACING
SCHEDULING &
DEPLOYMENT
AUTO SCALING &
SELF HEALING
MICROSERVICES
CONCERNS
TRACK TECHNIQUE OPENSHIFT28
Accélère l’innovation
Automatisation, Bac-
à-sable,
Fail-fast
Augmente l’efficacité
opérationnelle
Simplification,
Densification, Agnosticité
Catalyse le DevOps
Généralisation,
Sécurisation des
déploiements, Monitoring
Facilite le dév.
Standardisation,
Réutilisation via catalogue,
Cycle de vie
LES BENEFICES D’OPENSHIFT POUR LES
DEVELOPPEURS
TRACK TECHNIQUE OPENSHIFT29
EASE
INNOVATION
INCREASE
QUALITY OF
SERVICE
OPTIMIZE
INFRASTRUCTURE
COST
IMPROVE
OPERATIONAL
EFFICIENCY
OPENSHIFT BUSINESS VALUE
MIDDLEWARE AND APPLICATION SERVICES
FOUNDATION INTEGRATION AUTOMATION
COMPLETE VISION AND STACK FOR HYBRID & MULTI CLOUD
INFRASTRUCTURE SOFTWARE
CONTAINER PLATFORM
SECURITY &
MANAGEMENT
DEVELOPER
TOOLS
OTHER CLOUD
PROVIDERS
PHYSICAL VIRTUAL PRIVATE CLOUD
RED HAT
APPLICATION RUNTIMES
MERCI
31
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

OpenShift pour le developpement cloud native - 20171214