SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Démo d'hiver
Ils sont de retour, mais pas forcément pour jouer un
mauvais tour !
Jeudi 27 Oct 2022
Un grand merci à
Executive Summary
2022
« Faire de Marseille la capitale du
numérique »
L’éducation supérieure et acteurs économiques
La Plateforme a été co-fondée par Cyril Zimmermann, un entrepreneur
de la French Tech Marseillaise, et le Club TOP 20 qui fédère les grandes
entreprises de la métropole Aix-Marseille Provence.
Le projet est soutenu par la Métropole Aix-Marseille, le Département
des Bouches du Rhône, la Région PACA et l’Etat. Il bénéficie du Label
Grande École Numérique.
• La Plateforme est issue de la volonté de faire de Marseille une des capitales du Numérique
• La Plateforme est une école gratuite et ouverte à tous
• Pas de pré-requis de diplôme à l’entrée, mais La Plateforme propose des formations certifiantes
de niveau BAC+2, BAC +3, Bachelor, Master of Science et également un Post Graduate
programme BAC+6 avec L’Ecole Centrale Marseille
• La Plateforme prépare à des métiers concrets dans les technologies de l’information et insiste
également sur les soft skill et le savoir-être
• Acteur de l’économie sociale et solidaire, elle promeut le brassage social et culturel et le
développement territorial
Transformer les talents en professionnels
Une grande école du numérique pour tous
Appliquée
Apprendre en travaillant en mode projet
et en alternance en entreprise
(Apprentissage)
Intégrée
Une école créée avec les entreprises en
intégrant leurs besoins et favoriser
l’insertion
Excellence
Une vocation inclusive alliée à la
recherche de l’excellence
Universalité
Un recrutement ouvert à tous les profils avec
ou sans le BAC, et à tout âge
Accessibilité
Gratuité, implantation en centre-ville,
coordination avec les dispositifs d’aide sociale
Développeur web
et web mobile* équivalent BAC +2
Concepteur développeur d’applications*
Bachelor, équivalent BAC +3
Formations Web
Coding
Développeur sécurité
Bachelor, équivalent BAC +3
Administrateur sécurité
Bachelor, équivalent BAC +3
Responsable de la sécurité numérique*
Master of science MSc, équivalent BAC +5
Formations
Cyber Security Développeur IA*
Bachelor, équivalent BAC +3
Chef de projet IA*
Master of Science MSc*
équivalent BAC +5
CentraleDigitaleLab
Post Graduate IA, équivalent BAC +6
en partenariat avec Centrale Marseille
Formations IA
Des parcours de 1 à 5 ans pour des formations
de niveau BAC +2 à BAC +5 sur des métiers en tension
Evolution du nombre d’apprenants
2022 2023 2024 2025 2026
615 1215 1890 2580 2860
© Encore Heureux Architects
Le Campus de La Plateforme à Marseille
Développement d'un campus urbain de 25.000 m carrés dédié à cette école
et à l'ouverture du numérique sur des publics et des sujets diversifiés :
•Gratuité
•Le Campus s’inscrit dans le tissus urbain Marseillais pour garder
l'accessibilité à tous
•Des équipements d’expérimentation et d’accompagnement de projets
pour favoriser l'innovation, l’entrepreneuriat et la synergie avec les
entreprises
•Des infrastructures culturelles pour favoriser l'ouverture d’esprit
Articles presse
Les collaborations possibles avec les entreprises
Alternants
Recrutement des élèves
en alternance (puis
CDI) pour étoffer les
équipes existantes
Projets / Innovation
Stimuler l’innovation
en faisant travailler les
étudiants de l’école
avec vos équipes
Formation continue
La mise en place de
formations sur mesure
pour vos équipes sur
les sujets du digital
1 2 3
Parrainage de formations ciblées
Sept Oct Nov Dec Janv Fev Mars Avril
Bachelor Web
Bachelor Admin Sécu
MSC DPO
Bachelor IA
MSC IA
Expert IA
Central Digital Lab
2022 / 2023
Alternance d’un an
Alternance de 9 mois
Stage 6 mois
Mai Juin Juillet Aout
Alternance de 9 mois
Alternance de 9 mois
Alternance de 9 mois
Start web, réseau et
tech Alternance de 6 mois
Les talents disponibles pour les entreprises
1
Mettre en place
des formations
sur mesure
Upskilling IT
Nous pouvons organiser des bootcamps d’1 semaine à 3 mois pour
accompagner les équipes IT sur des sujets tels que l’Intelligence Artificielle
(Analyse de données, learning,... ), la Cyber Sécurité (analyse des risques,
réglementation...), le Développement (Angular, React, …), les technologies
spécifiques (AWS, Google Analytics, ...)
Formations sur mesure
Si vous connaissez vos besoins de recrutement futurs, nous pouvons
concevoir des programmes de formation ad-hoc et recruter des étudiants
que nous formerons pour vos futurs besoins
Acculturation
Pour sensibiliser vos managers aux enjeux du digital et aux impacts sur
votre métier, nous organisons des séminaires et ateliers à l’école (½
journée à plusieurs jours) pour vous aider à développer la culture digitale
de votre entreprise. Principaux sujets traités ces derniers mois: IA/data,
cybersécurité, transformation digitale (modèles économiques)...
3
Boostez votre
innovation
Digital Lab en datascience (avec Centrale Marseille)
Un groupe de 4 étudiants de niveau Bac+5 travaillent pendant 2 mois sur
un projet réel de votre entreprise, sous la supervision d’un de nos
datascientist sénior. L’opportunité d’explorer vos données, de construire un
POC en lien avec vos équipes data/innovation… et de sourcer de futurs
recrues !
L’Atelier de la Plateforme
Nous prenons en charge la réalisation “clé en main” de sites web, mobiles
ou d’applications métiers avec une équipe d’étudiants pilotée par un chef
de projet sénior de notre équipe pédagogique. Bénéfice pour vous: un
projet de qualité à moindre coût; bénéfices pour l’école: des projets réels
d’entreprise pour les élèves.
SAS de professionnalisation pour nos alternants et opportunité de sourcer
vos futurs talents
2
Thibault PATTIEU,
partenariat et développement
thibault.pattieu@laplateforme.io
07 86 41 28 07
Contact :
Qui sommes-nous ?
Alexis Ducastel
Ivan Beauté
Fabrique-IT
Emilien Escalle
Frédéric Léger
Qui sommes-nous ?
Emilien Escalle
Frédéric Léger
Alexis Ducastel
Ivan Beauté
Fabrique-IT
Sommaire
● L’IA un nouveau copilot
● Github actions FTW
● Pulumi pour les noobs
● Argocd pour les noobs
Sommaire
● L’IA un nouveau copilot
● Github actions : custom actions
/ workflow
● Pulumi pour les noobs
● Argocd pour les noobs
GitHub Copilot
Théâtre d'Opéra spatial
© Jason M. Allen par Midjourney
GitHub Copilot
GitHub Copilot
GPT-3
Visual Studio
VS Code
JetBrains IDE
NeoVIM
Sommaire
● L’IA un nouveau copilot
● Github actions : custom actions
/ workflow
● Pulumi pour les noobs
● Argocd pour les noobs
Github Actions
● Brief Overview
● Custom actions / reusable
workflows
● Tips and tricks
● Showcase
Github actions - Brief Overview (really Brief…)
Continuous integration and continuous delivery (CI/CD) platform for Github
Multiple workflows / triggered by various events (PR, push, Webhook, manually…)
Composable workflows & steps using relationship and parallelism
Github actions - Brief Overview
Actions !
Actions are individual tasks that you can combine to create jobs and
customize your workflow. You can create your own actions, or use and
customize actions shared by the GitHub community
Use cases:
- Pull request (lint, validation, follow-up…)
- Release management (changelog, packaging, documentation…)
- Deployments
- Community (welcoming, giving thanks, issues management)
- Chat Ops
- … many more
Github actions - Brief Overview
And a marketplace 🎉 !
https://github.com/marketplace?type=actions
Kind of custom actions
● Docker container actions
● JavaScript actions
● Composite Actions
Documentation: https://docs.github.com/en/actions/creating-actions
Github actions - Custom actions
Github actions - Custom actions - Docker
Take away:
● Structure of docker custom action
● Handling Inputs & outputs
Go further:
● https://docs.github.com/en/actions/cr
eating-actions/creating-a-docker-con
tainer-action
Github actions - Custom actions - Javascript
Take away:
● Structure of javascript custom action
● Handling Inputs & outputs
Go further:
● https://docs.github.com/en/actions/cr
eating-actions/creating-a-javascript-
action
● https://github.com/actions/toolkit
● https://octokit.github.io/rest.js/v19
Github actions - Custom actions - Composite
Take away:
● Structure of composite action
● Handling Inputs & outputs
● Using shell step
Go further:
● https://docs.github.com/en/actions/creating-
actions/creating-a-composite-action
Github actions - Custom actions - Composite
Take away:
● Real world composite action
● Using local custom action
● Using actions/github-script
Documentation: https://docs.github.com/en/actions/using-workflows/reusing-workflows
Github actions - Reusable workflows
Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new
workflows more quickly
Limitations
● You can connect up to four levels of workflows.
● Reusable workflows stored within a private repository can only
be used by workflows within the same repository.
● Any environment variables set in an env context defined at the
workflow level in the caller workflow are not propagated to the
called workflow.
Github actions - Reusable workflows
Take away:
● Structure of reusable workflow
● Handling Inputs & outputs
● Using Secrets
Github actions - Reusable workflows
Take away:
● Nested reusable workflows
● Combining reusable and basic
workflows
Github actions - Real world
Take away:
● Final short full workflow (ci /
release / cd)
● Manual deploy validation (env
authorized)
● Human readable output
Github actions - Tips and tricks
● Don’t reinvent the wheel:
○ Use marketplace, sort by Most Installed
○ https://github.com/sdras/awesome-actions
● Use official github actions: https://github.com/actions (actions/github-script can do
magic)
● Test locally your actions : https://github.com/nektos/act
● Watch for github changelog, new features are released
very often: https://github.blog/changelog/label/actions/
● Factorize your workflows / actions
● Use secrets for common settings
Github actions - Showcase
Pulumi
Pulumi - Infrastructure as code
development
staging
production
Infrastructure
as
Code
Pulumi - VS Terraform
Langage : python, go, js/ts, .net …
Prix : free for individual (SaaS)
State : géré nativement en SaaS
Réutilisabilité : Package
Github: 14k stars
Template : oui
Langage : HCL (natif)
Prix : free for individual (SaaS)
State : géré sur la version cloud
Réutilisabilité : Module
Github: 34.7k stars
Template : non
Pulumi - Infrastructure as code
1. Install Pulumi on your machine by running our installation script:
$ curl -fsSL https://get.pulumi.com | sh
See the installation documentation for alternatives and more details.
2. Ensure the Pulumi AWS provider is set up.
3. Create a new directory for your project and change into it.
$ mkdir bar-demo-ts && cd bar-demo-ts
4. Pull down your project to get started.
$ pulumi new aws-typescript -s ivan-fabrique-it/bar-demo/production
5. Deploy it!
$ pulumi up
Pulumi
Sommaire
● L’IA un nouveau copilot
● Github actions : custom actions
/ workflow
● Pulumi pour les noobs
● Argocd pour les noobs
Argo CD
Argo Project
● Argo CD
● Argo Workflow
● Argo Rollouts
● Argo Events
● Argo Image Updater
● Créé à l’origine par Intuit
● Projet CNCF (incubating)
● 2017
ArgoCD kesako ?
“ Argo CD est un outil déclaratif de
déploiement continu pour Kubernetes. ”
GitOps
GitOps désigne un ensemble de pratiques
de gestion de l'infrastructure et des
configurations d'applications qui
reposent sur l'utilisation de Git. Ce dernier
est utilisé comme unique source de
vérité pour la formalisation déclarative de
l'infrastructure et des applications
GitOps WF
ArgCD How
● Déploiement
○ ArgoCD en local sur chaque cluster
○ Un ArgoCD central qui peut déployer sur N clusters
● Chacun avec ses avantages et inconvénients
● S’install via manifest ou chart helm (operator ?)
● Offre des CRDs pour kubernetes
○ Project
○ Application
○ ApplicationSet *
ArgoCD Patterns
● Pattern App of Apps
○ on a tous besoin d’une maman !
● Liste des clusters cibles
● Sécurité
○ Repos sources autorisés
○ (White|Black)list de namespaces
○ (White|Black)list de ressources
○ Rôles
● Un projet par défaut à l’installation
ArgoCD project
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: default
namespace: argocd
spec:
clusterResourceWhitelist:
- group: '*'
kind: '*'
destinations:
- namespace: '*'
server: '*'
sourceRepos:
- '*'
● Ressource à déployer
○ Manifests
○ Helm
○ Kustomize
○ Jsonnet
○ whatever plugin …
● Destination
○ cluster
○ namespace
● Des options de synchronisation
ArgoCD Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: demo
namespace: argocd
spec:
destination:
namespace: echo-server
server: https://kubernetes.default.svc
project: default
source:
repoURL: https://ealenn.github.io/charts
chart: echo-server
targetRevision: 0.5.0
helm:
parameters:
- name: ingress.enabled
value: "true"
- name: ingress.hosts[0].host
value: echo-127.0.0.1.sslip.io
- name: ingress.hosts[0].paths[0]
value: /
syncPolicy:
syncOptions:
- CreateNamespace=true
● Templating d’applications
● Déploiement de la même application
avec un paramétrage différent par
destination
● Destinations
○ serveurs (aka clusters)
○ namespaces
● Generators
○ List
○ Cluster
○ Git
○ Matrix
ArgoCD ApplicationSet
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: guestbook
spec:
generators:
- list:
elements:
- cluster: engineering-dev
url: https://1.2.3.4
- cluster: engineering-prod
url: https://2.4.6.8
- cluster: finance-preprod
url: https://9.8.7.6
template:
metadata:
name: '{{cluster}}-guestbook'
spec:
source:
repoURL: https://github.com/acme/gitops.git
targetRevision: HEAD
path: guestbook/{{cluster}}
destination:
server: '{{url}}'
namespace: guestbook
Démo
https://github.com/webofmars/argocd-base
QUESTIONS ?
meetup.com/Devops-Aix-Marseille
ibd.sh/openbar

Contenu connexe

Similaire à meetup devops aix-marseille 27/10/2022

20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
 
chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptxmerazgaammar2
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsMicrosoft
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM France Lab
 
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSebastien Coulon
 
Cv nicolas-charles-09042012-fr
Cv nicolas-charles-09042012-frCv nicolas-charles-09042012-fr
Cv nicolas-charles-09042012-frCharles Nicolas
 
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesB5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesCERTyou Formation
 
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesB5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesCERTyou Formation
 
samba-curriculum-vitae_professionnelle-in_Mali
samba-curriculum-vitae_professionnelle-in_Malisamba-curriculum-vitae_professionnelle-in_Mali
samba-curriculum-vitae_professionnelle-in_MaliSambaTogola1
 
Plateforme digitale services et technologies
Plateforme digitale   services et technologiesPlateforme digitale   services et technologies
Plateforme digitale services et technologiesWilliam Poos
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAFrédéric Sagez
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTFactoVia
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2
 
Yannick DUPUIS
Yannick DUPUISYannick DUPUIS
Yannick DUPUISYannick D.
 

Similaire à meetup devops aix-marseille 27/10/2022 (20)

20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
Catalogue de services CASTELIS
Catalogue de services CASTELISCatalogue de services CASTELIS
Catalogue de services CASTELIS
 
chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptx
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular Js
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
 
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
 
Cv nicolas-charles-09042012-fr
Cv nicolas-charles-09042012-frCv nicolas-charles-09042012-fr
Cv nicolas-charles-09042012-fr
 
Cv kouadio kouame_olivier
Cv kouadio kouame_olivierCv kouadio kouame_olivier
Cv kouadio kouame_olivier
 
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesB5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
 
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiquesB5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
B5263 g formation-ibm-cognos-cube-designer-concevoir-des-cubes-dynamiques
 
samba-curriculum-vitae_professionnelle-in_Mali
samba-curriculum-vitae_professionnelle-in_Malisamba-curriculum-vitae_professionnelle-in_Mali
samba-curriculum-vitae_professionnelle-in_Mali
 
Plateforme digitale services et technologies
Plateforme digitale   services et technologiesPlateforme digitale   services et technologies
Plateforme digitale services et technologies
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSA
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
OW2 Association Européenne aux racines grenobloises, transformer l'industrie ...
 
Yannick DUPUIS
Yannick DUPUISYannick DUPUIS
Yannick DUPUIS
 

Plus de Frederic Leger

2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseilleFrederic Leger
 
KubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleKubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleFrederic Leger
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023Frederic Leger
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experienceFrederic Leger
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Frederic Leger
 
slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023Frederic Leger
 
slides meetup devops aix-marseille - juillet 2023
slides meetup devops aix-marseille - juillet 2023slides meetup devops aix-marseille - juillet 2023
slides meetup devops aix-marseille - juillet 2023Frederic Leger
 
meetup devops 2023-06-15
meetup devops 2023-06-15meetup devops 2023-06-15
meetup devops 2023-06-15Frederic Leger
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23Frederic Leger
 
meetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish Aprilmeetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish AprilFrederic Leger
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous MarchFrederic Leger
 
2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptxFrederic Leger
 
2022-11-22 - November Rain
2022-11-22 - November Rain2022-11-22 - November Rain
2022-11-22 - November RainFrederic Leger
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoFrederic Leger
 
Voyage en terre du multi-cloud
Voyage en terre du multi-cloudVoyage en terre du multi-cloud
Voyage en terre du multi-cloudFrederic Leger
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceFrederic Leger
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Frederic Leger
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devopsFrederic Leger
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesFrederic Leger
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesFrederic Leger
 

Plus de Frederic Leger (20)

2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille2024-01 - slides du meetup devops aix-marseille
2024-01 - slides du meetup devops aix-marseille
 
KubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-MarseilleKubeTrain sponsor prospectus Aix-Marseille
KubeTrain sponsor prospectus Aix-Marseille
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experience
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023
 
slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023slides meetup devops aix-marseille - septembre 2023
slides meetup devops aix-marseille - septembre 2023
 
slides meetup devops aix-marseille - juillet 2023
slides meetup devops aix-marseille - juillet 2023slides meetup devops aix-marseille - juillet 2023
slides meetup devops aix-marseille - juillet 2023
 
meetup devops 2023-06-15
meetup devops 2023-06-15meetup devops 2023-06-15
meetup devops 2023-06-15
 
meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23meetup devops aix marseille du 16/05/23
meetup devops aix marseille du 16/05/23
 
meetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish Aprilmeetup devops 2023/04/04 - Astonish April
meetup devops 2023/04/04 - Astonish April
 
2023-02-02 - Marvelous March
2023-02-02 - Marvelous March2023-02-02 - Marvelous March
2023-02-02 - Marvelous March
 
2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx2023-01-24 - dry january.pptx
2023-01-24 - dry january.pptx
 
2022-11-22 - November Rain
2022-11-22 - November Rain2022-11-22 - November Rain
2022-11-22 - November Rain
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falco
 
Voyage en terre du multi-cloud
Voyage en terre du multi-cloudVoyage en terre du multi-cloud
Voyage en terre du multi-cloud
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a Service
 
Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019Aws beanstalk - Pastis Tech 21/11/2019
Aws beanstalk - Pastis Tech 21/11/2019
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devops
 
Lightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernesLightning talk: Les Load Balancers HTTP modernes
Lightning talk: Les Load Balancers HTTP modernes
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
 

meetup devops aix-marseille 27/10/2022

  • 1. Démo d'hiver Ils sont de retour, mais pas forcément pour jouer un mauvais tour ! Jeudi 27 Oct 2022
  • 3. Executive Summary 2022 « Faire de Marseille la capitale du numérique »
  • 4. L’éducation supérieure et acteurs économiques La Plateforme a été co-fondée par Cyril Zimmermann, un entrepreneur de la French Tech Marseillaise, et le Club TOP 20 qui fédère les grandes entreprises de la métropole Aix-Marseille Provence. Le projet est soutenu par la Métropole Aix-Marseille, le Département des Bouches du Rhône, la Région PACA et l’Etat. Il bénéficie du Label Grande École Numérique.
  • 5. • La Plateforme est issue de la volonté de faire de Marseille une des capitales du Numérique • La Plateforme est une école gratuite et ouverte à tous • Pas de pré-requis de diplôme à l’entrée, mais La Plateforme propose des formations certifiantes de niveau BAC+2, BAC +3, Bachelor, Master of Science et également un Post Graduate programme BAC+6 avec L’Ecole Centrale Marseille • La Plateforme prépare à des métiers concrets dans les technologies de l’information et insiste également sur les soft skill et le savoir-être • Acteur de l’économie sociale et solidaire, elle promeut le brassage social et culturel et le développement territorial Transformer les talents en professionnels
  • 6. Une grande école du numérique pour tous Appliquée Apprendre en travaillant en mode projet et en alternance en entreprise (Apprentissage) Intégrée Une école créée avec les entreprises en intégrant leurs besoins et favoriser l’insertion Excellence Une vocation inclusive alliée à la recherche de l’excellence Universalité Un recrutement ouvert à tous les profils avec ou sans le BAC, et à tout âge Accessibilité Gratuité, implantation en centre-ville, coordination avec les dispositifs d’aide sociale
  • 7. Développeur web et web mobile* équivalent BAC +2 Concepteur développeur d’applications* Bachelor, équivalent BAC +3 Formations Web Coding Développeur sécurité Bachelor, équivalent BAC +3 Administrateur sécurité Bachelor, équivalent BAC +3 Responsable de la sécurité numérique* Master of science MSc, équivalent BAC +5 Formations Cyber Security Développeur IA* Bachelor, équivalent BAC +3 Chef de projet IA* Master of Science MSc* équivalent BAC +5 CentraleDigitaleLab Post Graduate IA, équivalent BAC +6 en partenariat avec Centrale Marseille Formations IA Des parcours de 1 à 5 ans pour des formations de niveau BAC +2 à BAC +5 sur des métiers en tension
  • 8. Evolution du nombre d’apprenants 2022 2023 2024 2025 2026 615 1215 1890 2580 2860
  • 9. © Encore Heureux Architects
  • 10. Le Campus de La Plateforme à Marseille Développement d'un campus urbain de 25.000 m carrés dédié à cette école et à l'ouverture du numérique sur des publics et des sujets diversifiés : •Gratuité •Le Campus s’inscrit dans le tissus urbain Marseillais pour garder l'accessibilité à tous •Des équipements d’expérimentation et d’accompagnement de projets pour favoriser l'innovation, l’entrepreneuriat et la synergie avec les entreprises •Des infrastructures culturelles pour favoriser l'ouverture d’esprit Articles presse
  • 11. Les collaborations possibles avec les entreprises Alternants Recrutement des élèves en alternance (puis CDI) pour étoffer les équipes existantes Projets / Innovation Stimuler l’innovation en faisant travailler les étudiants de l’école avec vos équipes Formation continue La mise en place de formations sur mesure pour vos équipes sur les sujets du digital 1 2 3 Parrainage de formations ciblées
  • 12. Sept Oct Nov Dec Janv Fev Mars Avril Bachelor Web Bachelor Admin Sécu MSC DPO Bachelor IA MSC IA Expert IA Central Digital Lab 2022 / 2023 Alternance d’un an Alternance de 9 mois Stage 6 mois Mai Juin Juillet Aout Alternance de 9 mois Alternance de 9 mois Alternance de 9 mois Start web, réseau et tech Alternance de 6 mois Les talents disponibles pour les entreprises 1
  • 13. Mettre en place des formations sur mesure Upskilling IT Nous pouvons organiser des bootcamps d’1 semaine à 3 mois pour accompagner les équipes IT sur des sujets tels que l’Intelligence Artificielle (Analyse de données, learning,... ), la Cyber Sécurité (analyse des risques, réglementation...), le Développement (Angular, React, …), les technologies spécifiques (AWS, Google Analytics, ...) Formations sur mesure Si vous connaissez vos besoins de recrutement futurs, nous pouvons concevoir des programmes de formation ad-hoc et recruter des étudiants que nous formerons pour vos futurs besoins Acculturation Pour sensibiliser vos managers aux enjeux du digital et aux impacts sur votre métier, nous organisons des séminaires et ateliers à l’école (½ journée à plusieurs jours) pour vous aider à développer la culture digitale de votre entreprise. Principaux sujets traités ces derniers mois: IA/data, cybersécurité, transformation digitale (modèles économiques)... 3
  • 14. Boostez votre innovation Digital Lab en datascience (avec Centrale Marseille) Un groupe de 4 étudiants de niveau Bac+5 travaillent pendant 2 mois sur un projet réel de votre entreprise, sous la supervision d’un de nos datascientist sénior. L’opportunité d’explorer vos données, de construire un POC en lien avec vos équipes data/innovation… et de sourcer de futurs recrues ! L’Atelier de la Plateforme Nous prenons en charge la réalisation “clé en main” de sites web, mobiles ou d’applications métiers avec une équipe d’étudiants pilotée par un chef de projet sénior de notre équipe pédagogique. Bénéfice pour vous: un projet de qualité à moindre coût; bénéfices pour l’école: des projets réels d’entreprise pour les élèves. SAS de professionnalisation pour nos alternants et opportunité de sourcer vos futurs talents 2
  • 15. Thibault PATTIEU, partenariat et développement thibault.pattieu@laplateforme.io 07 86 41 28 07 Contact :
  • 16. Qui sommes-nous ? Alexis Ducastel Ivan Beauté Fabrique-IT Emilien Escalle Frédéric Léger
  • 17. Qui sommes-nous ? Emilien Escalle Frédéric Léger Alexis Ducastel Ivan Beauté Fabrique-IT
  • 18. Sommaire ● L’IA un nouveau copilot ● Github actions FTW ● Pulumi pour les noobs ● Argocd pour les noobs
  • 19. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  • 20. GitHub Copilot Théâtre d'Opéra spatial © Jason M. Allen par Midjourney
  • 22. GitHub Copilot GPT-3 Visual Studio VS Code JetBrains IDE NeoVIM
  • 23. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  • 24. Github Actions ● Brief Overview ● Custom actions / reusable workflows ● Tips and tricks ● Showcase
  • 25. Github actions - Brief Overview (really Brief…) Continuous integration and continuous delivery (CI/CD) platform for Github Multiple workflows / triggered by various events (PR, push, Webhook, manually…) Composable workflows & steps using relationship and parallelism
  • 26. Github actions - Brief Overview Actions ! Actions are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, or use and customize actions shared by the GitHub community Use cases: - Pull request (lint, validation, follow-up…) - Release management (changelog, packaging, documentation…) - Deployments - Community (welcoming, giving thanks, issues management) - Chat Ops - … many more
  • 27. Github actions - Brief Overview And a marketplace 🎉 ! https://github.com/marketplace?type=actions
  • 28. Kind of custom actions ● Docker container actions ● JavaScript actions ● Composite Actions Documentation: https://docs.github.com/en/actions/creating-actions Github actions - Custom actions
  • 29. Github actions - Custom actions - Docker Take away: ● Structure of docker custom action ● Handling Inputs & outputs Go further: ● https://docs.github.com/en/actions/cr eating-actions/creating-a-docker-con tainer-action
  • 30. Github actions - Custom actions - Javascript Take away: ● Structure of javascript custom action ● Handling Inputs & outputs Go further: ● https://docs.github.com/en/actions/cr eating-actions/creating-a-javascript- action ● https://github.com/actions/toolkit ● https://octokit.github.io/rest.js/v19
  • 31. Github actions - Custom actions - Composite Take away: ● Structure of composite action ● Handling Inputs & outputs ● Using shell step Go further: ● https://docs.github.com/en/actions/creating- actions/creating-a-composite-action
  • 32. Github actions - Custom actions - Composite Take away: ● Real world composite action ● Using local custom action ● Using actions/github-script
  • 33. Documentation: https://docs.github.com/en/actions/using-workflows/reusing-workflows Github actions - Reusable workflows Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly Limitations ● You can connect up to four levels of workflows. ● Reusable workflows stored within a private repository can only be used by workflows within the same repository. ● Any environment variables set in an env context defined at the workflow level in the caller workflow are not propagated to the called workflow.
  • 34. Github actions - Reusable workflows Take away: ● Structure of reusable workflow ● Handling Inputs & outputs ● Using Secrets
  • 35. Github actions - Reusable workflows Take away: ● Nested reusable workflows ● Combining reusable and basic workflows
  • 36. Github actions - Real world Take away: ● Final short full workflow (ci / release / cd) ● Manual deploy validation (env authorized) ● Human readable output
  • 37. Github actions - Tips and tricks ● Don’t reinvent the wheel: ○ Use marketplace, sort by Most Installed ○ https://github.com/sdras/awesome-actions ● Use official github actions: https://github.com/actions (actions/github-script can do magic) ● Test locally your actions : https://github.com/nektos/act ● Watch for github changelog, new features are released very often: https://github.blog/changelog/label/actions/ ● Factorize your workflows / actions ● Use secrets for common settings
  • 38. Github actions - Showcase
  • 40. Pulumi - Infrastructure as code development staging production Infrastructure as Code
  • 41. Pulumi - VS Terraform Langage : python, go, js/ts, .net … Prix : free for individual (SaaS) State : géré nativement en SaaS Réutilisabilité : Package Github: 14k stars Template : oui Langage : HCL (natif) Prix : free for individual (SaaS) State : géré sur la version cloud Réutilisabilité : Module Github: 34.7k stars Template : non
  • 42. Pulumi - Infrastructure as code 1. Install Pulumi on your machine by running our installation script: $ curl -fsSL https://get.pulumi.com | sh See the installation documentation for alternatives and more details. 2. Ensure the Pulumi AWS provider is set up. 3. Create a new directory for your project and change into it. $ mkdir bar-demo-ts && cd bar-demo-ts 4. Pull down your project to get started. $ pulumi new aws-typescript -s ivan-fabrique-it/bar-demo/production 5. Deploy it! $ pulumi up
  • 44. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  • 46. Argo Project ● Argo CD ● Argo Workflow ● Argo Rollouts ● Argo Events ● Argo Image Updater ● Créé à l’origine par Intuit ● Projet CNCF (incubating) ● 2017
  • 47. ArgoCD kesako ? “ Argo CD est un outil déclaratif de déploiement continu pour Kubernetes. ”
  • 48. GitOps GitOps désigne un ensemble de pratiques de gestion de l'infrastructure et des configurations d'applications qui reposent sur l'utilisation de Git. Ce dernier est utilisé comme unique source de vérité pour la formalisation déclarative de l'infrastructure et des applications
  • 50. ArgCD How ● Déploiement ○ ArgoCD en local sur chaque cluster ○ Un ArgoCD central qui peut déployer sur N clusters ● Chacun avec ses avantages et inconvénients ● S’install via manifest ou chart helm (operator ?) ● Offre des CRDs pour kubernetes ○ Project ○ Application ○ ApplicationSet *
  • 51. ArgoCD Patterns ● Pattern App of Apps ○ on a tous besoin d’une maman !
  • 52. ● Liste des clusters cibles ● Sécurité ○ Repos sources autorisés ○ (White|Black)list de namespaces ○ (White|Black)list de ressources ○ Rôles ● Un projet par défaut à l’installation ArgoCD project apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: default namespace: argocd spec: clusterResourceWhitelist: - group: '*' kind: '*' destinations: - namespace: '*' server: '*' sourceRepos: - '*'
  • 53. ● Ressource à déployer ○ Manifests ○ Helm ○ Kustomize ○ Jsonnet ○ whatever plugin … ● Destination ○ cluster ○ namespace ● Des options de synchronisation ArgoCD Application apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: demo namespace: argocd spec: destination: namespace: echo-server server: https://kubernetes.default.svc project: default source: repoURL: https://ealenn.github.io/charts chart: echo-server targetRevision: 0.5.0 helm: parameters: - name: ingress.enabled value: "true" - name: ingress.hosts[0].host value: echo-127.0.0.1.sslip.io - name: ingress.hosts[0].paths[0] value: / syncPolicy: syncOptions: - CreateNamespace=true
  • 54. ● Templating d’applications ● Déploiement de la même application avec un paramétrage différent par destination ● Destinations ○ serveurs (aka clusters) ○ namespaces ● Generators ○ List ○ Cluster ○ Git ○ Matrix ArgoCD ApplicationSet apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: guestbook spec: generators: - list: elements: - cluster: engineering-dev url: https://1.2.3.4 - cluster: engineering-prod url: https://2.4.6.8 - cluster: finance-preprod url: https://9.8.7.6 template: metadata: name: '{{cluster}}-guestbook' spec: source: repoURL: https://github.com/acme/gitops.git targetRevision: HEAD path: guestbook/{{cluster}} destination: server: '{{url}}' namespace: guestbook