Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

meetup devops aix-marseille 27/10/2022

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
2022-11-22 - November Rain
2022-11-22 - November Rain
Chargement dans…3
×

Consultez-les par la suite

1 sur 57 Publicité
Publicité

Plus De Contenu Connexe

Plus récents (20)

Publicité

meetup devops aix-marseille 27/10/2022

  1. 1. Démo d'hiver Ils sont de retour, mais pas forcément pour jouer un mauvais tour ! Jeudi 27 Oct 2022
  2. 2. Un grand merci à
  3. 3. Executive Summary 2022 « Faire de Marseille la capitale du numérique »
  4. 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. 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. 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. 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. 8. Evolution du nombre d’apprenants 2022 2023 2024 2025 2026 615 1215 1890 2580 2860
  9. 9. © Encore Heureux Architects
  10. 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. 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. 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. 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. 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. 15. Thibault PATTIEU, partenariat et développement thibault.pattieu@laplateforme.io 07 86 41 28 07 Contact :
  16. 16. Qui sommes-nous ? Alexis Ducastel Ivan Beauté Fabrique-IT Emilien Escalle Frédéric Léger
  17. 17. Qui sommes-nous ? Emilien Escalle Frédéric Léger Alexis Ducastel Ivan Beauté Fabrique-IT
  18. 18. Sommaire ● L’IA un nouveau copilot ● Github actions FTW ● Pulumi pour les noobs ● Argocd pour les noobs
  19. 19. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  20. 20. GitHub Copilot Théâtre d'Opéra spatial © Jason M. Allen par Midjourney
  21. 21. GitHub Copilot
  22. 22. GitHub Copilot GPT-3 Visual Studio VS Code JetBrains IDE NeoVIM
  23. 23. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  24. 24. Github Actions ● Brief Overview ● Custom actions / reusable workflows ● Tips and tricks ● Showcase
  25. 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. 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. 27. Github actions - Brief Overview And a marketplace 🎉 ! https://github.com/marketplace?type=actions
  28. 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. 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. 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. 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. 32. Github actions - Custom actions - Composite Take away: ● Real world composite action ● Using local custom action ● Using actions/github-script
  33. 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. 34. Github actions - Reusable workflows Take away: ● Structure of reusable workflow ● Handling Inputs & outputs ● Using Secrets
  35. 35. Github actions - Reusable workflows Take away: ● Nested reusable workflows ● Combining reusable and basic workflows
  36. 36. Github actions - Real world Take away: ● Final short full workflow (ci / release / cd) ● Manual deploy validation (env authorized) ● Human readable output
  37. 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. 38. Github actions - Showcase
  39. 39. Pulumi
  40. 40. Pulumi - Infrastructure as code development staging production Infrastructure as Code
  41. 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. 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
  43. 43. Pulumi
  44. 44. Sommaire ● L’IA un nouveau copilot ● Github actions : custom actions / workflow ● Pulumi pour les noobs ● Argocd pour les noobs
  45. 45. Argo CD
  46. 46. Argo Project ● Argo CD ● Argo Workflow ● Argo Rollouts ● Argo Events ● Argo Image Updater ● Créé à l’origine par Intuit ● Projet CNCF (incubating) ● 2017
  47. 47. ArgoCD kesako ? “ Argo CD est un outil déclaratif de déploiement continu pour Kubernetes. ”
  48. 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
  49. 49. GitOps WF
  50. 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. 51. ArgoCD Patterns ● Pattern App of Apps ○ on a tous besoin d’une maman !
  52. 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. 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. 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
  55. 55. Démo https://github.com/webofmars/argocd-base
  56. 56. QUESTIONS ?
  57. 57. meetup.com/Devops-Aix-Marseille ibd.sh/openbar

×