Openshift · 2 OPENSHIFT TECHNICAL OVERVIEW OPENSHIFT CONTAINER PLATFORM Opérations Automatisés...

Post on 20-Aug-2020

19 views 0 download

transcript

Openshift Expérience développeur

Martin Sauve22 Août 2018

OPENSHIFT TECHNICAL OVERVIEW2

OPENSHIFT CONTAINER PLATFORM

Opérations Automatisés

Kubernetes

Red Hat Enterprise Linux or Red Hat CoreOS

ServicesApplicatifs

CaaS PaaSMeilleure expérience des opérations

*bientôt

ServicesInfrastructure

Servicesaux Développeurs

Intergiciel, Réseaux de Services, FaaS, ISV

Métriques, Facturation, Registre, Journaux Outils de développement, CI/CD, IDE, Builds, S2I

Meilleure expérience dévelippeur

Flux de développement

3

Une journée typique….

4

Un développeur Java…. Avant OpenShift

Java est utilisé comme exemple.Les autres technologies vont impliquer des considérations similaires

5

Pour bâtir une application simple…

Une interface utilisateur Java, un API REST et une base de données…

6

Flux de travail traditionnel

Maven Configuration des outils

Java

BD…

CodeConfiguration du serveur de

BuildsBâtir App

SCM (Git, etc)

Configuration des environnements

Déploiement sur environnements

Poste de travail Serveurs

7

SpringBoot + Postgresql démo

Environnement traditionnel

Démo

8

SpringBoot + Postgresql● Installation de Maven, Java, Postgres DB● Configuration Spring – Serveur de configuration● Dépendances gérées localement● Versions gérées localement● Builds gérés localement

Potentiel d’erreurs élevé!

En bref…

Une journée typique….

9

Un développeur Java…. Avec OpenShift

Java est utilisé comme exemple.Les autres technologies vont impliquer des considérations similaires

10

Une plateforme d’entreprise sécurisée pour la gestion de conteneurs Kubernetes pour vos applications traditionnelles et cloud-native.

OPENSHIFT TECHNICAL OVERVIEW11

Flux de travail - Conteneurs

CodeDéploiement

sur CDKValidation Git Push Pipeline

Dev Env Déploiement

QA Env Promotion

PROD Env Promotion

12

Même application sous OpenShift

Démo

13

OCP SpringBoot + Postgresql sample application● Maven, Java par S2I (Source to Image). Standardisation● Configuration dans la gestion des sources. Kubernetes ConfigMap● Version Postgres standardisée.

En bref…

Processus répétable et automatisé

14

Automatisation du cycle de vie.

Now I have my application running locally in OCP, how do I:

Nous avons notre application…

Comment automatiser la création d’environnements ?

Comment gérer les promotions entre les environnements ?

Quels sont les outils disponibles ?

15

Outils – partie 1… à suivre!

Outil Quoi ? Quand ?

Ansible Automatisation de l’installation des logiciels, gestion de la configuration, déploiements d’application complexe.

• Configuration de l’infrastructure• Déploiements complexes• Alternative aux commandes « shell » dans

Jenkins

Jenkins Automatisation des tâches « non-humaine » du processus de développement logiciel avec l’intégration continue (CI) et assiste pour les aspects techniques de la livraison continue (CD)

• Orchestration du processus de CI/CD.• Builds applicatifs• Utilisation de plugins pour la majorité des

tâches, communauté vibrante

OpenShift S2I Automatisation des builds et déploiements d’applications

• Standardisation des builds• Meilleurs pratiques pour vos conteneurs• Gouvernance et répétabilité

16

Cycle de vie automatisé

Créer Branche

Installation des environnement(s)

(Ansible)

Créer App

Autres

Installation de Jenkins

(Ansible)

Pipeline(Jenkins)

Build App(Jenkins, S2I)

SCM (Git, etc)

Déploiement Des Env (1..n)

(Ansible/Jenkins

Mise à jour de l’infra

(Ansible)

17

Installation de deux environnements sur OpenShift et le flux CI/CD avec Ansible, Gabarits et S2I.

Démo

Test

Application

Base de données

Développement

Application

Base de données

CI/CD

Pipeline

Jenkins

.war/.jar/.ear

HTML/.js

.py

.cs

DEVELOPMENT

.rb .js

Tomcat/EAP

Apache

Python 3

CLR

OPERATIONS

MRI/CRuby V8/npm

● Configure Windows/IDE● Install Tomcat● Install JDK 1.8.0_51● Configure Maven● Code

● Provision Hardware/VM● Install Tomcat● Install JDK● Deploy Artefact

OPERATIONS

● Configure VM/OS● Install RPMs● Apply Patches● Manage Dependencies

Traditionnel

Conteneurs

DEVELOPMENT

● Code● Commit

● Apply Patches● Manage Dependencies● Test/Secure and Validate

Curated and secured supply chain of containers

OPERATIONS

Test

Production

Développement

Code Source

Binaire ImageConteneur

Un « build », plusieurs déploiements

Virtuel

Infonuagique

Physique

Code Source

Binaire ImageConteneur

Un « build », plusieurs déploiements

Visibilité

21

Visibilité

22

En tant que développeur, je veux connaître l’état de mon application, avoir accès aux traces, logs et inforation, avoir de la visibilité sur les temps réponse et performance.

Architecture applicativeLe monde change…. Chaque utilisateur est unique.

23

ArchitectureOrientée Service

Service

Service

Service

Service

Service

Service

ESB

Service

Service

Service

Service

Service

Service

ArchitectureMicro-Services

Kubernetes

Service Proxy

Service Proxy

Service Proxy

Proxy

Proxy

Proxy

Service

Service

Service

KubernetesService Mesh

ArchitectureInfonuagique (CNA)

● Dumb Endpoints● Smart Pipe

● Smart Endpoints● Dumb Pipe

● Dumb Service● Smart Platform

Plateforme intelligente pour services distribués

ANYINFRASTRUCTURE

OpenShift Container Platform(Enterprise Kubernetes)

Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop

OpenShift Service Mesh(Istio + Jaeger)

ANYAPPLICATION

Service

CONTAINER

Service

CONTAINER

Service

CONTAINER

Service

CONTAINER

Service

CONTAINER

Essayer le à http://learn.openshift.com

Évolution

Service

Config

Svc Discovery

Routing

Circuit Breaker

Tracing

Service

Platform Container Platform (+ Service Mesh)

...2014 2018

POD

ENVOY

SERVICE

POD

ENVOY

SERVICE

POD

ENVOY

SERVICE

Pilot Mixer Auth

SERVICE MESH(Réseau de services)

Sécurité, règles de routage, politiques, rapport, télémétrie, traces

JaegerISTIO

27

Visibilité de vos applications

Démo!

Questions?

Merci!plus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHat