Kubernetes et les technologies cloud sont aujourd'hui les standards pour déployer des applications de toutes sortes dans le cloud: api, batchs, microservices et même des monolithes! Ils apportent des solutions à beaucoup de problèmes mais aussi une grande complexité. Il peut donc être très difficile pour les développeurs et concepteurs d'identifier les contraintes de telles architectures.
Dans cette présentation, vous (re)découvrirez dix astuces et conseils que j'ai pu appliquer et qui m'ont aidé dans mes derniers projets.
Ces derniers traiteront :
de l'environnement de l'application
du choix des solutions techologiques
du développement
des contraintes de conception liées à K8S
et plus encore !
Présentation au Docker Meetup de Nantes le 27 juin 2017
Dans une démarche DevOps, La Poste a choisi de mettre en place l'orchestrateur de conteneur Openshift, basé sur Kubernetes. Nous détaillerons les changements opérés (techniques et humains) pour une mise en place et une adoption réussie d'un Paas. Du POC à la MEP, quelles sont les étapes ?
Conférence donnée au Docker Meetup Nantes, juin 2017
Les équipes de développement se tournent de plus en plus vers des architectures orientées conteneurs.
Une fois les POCs validés, il faut songer à la mise en production de ces solutions. Jonathan est administrateur systéme, il a mis en place et exploité des solutions conteneurisées dont certaines architectures dites ‘star wars’ (cf Devoxx 2015). Jean-Pascal est développeur backend, il a développé Kodo Kojo, une solution de provisionning d’usine logicielle fortement basée sur des conteneurs.
Au cours de cette présentation, ils vont vous présenter les solutions permettant de connaître l’état de vos clusters de conteneurs à un instant T.
Présentation effectuée au Meetup 24 Programmez (5 Avril 2022) par Christophe Villeneuve sur "Infrastructure as code Drupal".
Cette présentation aborde les rappels de l'IaC (infrastructure as code), comment l'utilisé avec le CMS Drupal et déployé automatiquement le contenu et les évolutions dans l'IaC.
Conférence donnée à la Droidcon Tunisia 2015.
Les mises à jour OTA sont partout sur nos téléphones (ok, presque partout) mais comment fonctionnent-elles ?
Au cours de cette présentation, nous verrons :
Ce qu’est une MàJ OTA
Comment l’implémenter (exploration de code : intent, permission système, recovery, etc.)
Quelle architecture backend pour mettre en place une solution d’OTA
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
Présentation au Docker Meetup de Nantes le 27 juin 2017
Dans une démarche DevOps, La Poste a choisi de mettre en place l'orchestrateur de conteneur Openshift, basé sur Kubernetes. Nous détaillerons les changements opérés (techniques et humains) pour une mise en place et une adoption réussie d'un Paas. Du POC à la MEP, quelles sont les étapes ?
Conférence donnée au Docker Meetup Nantes, juin 2017
Les équipes de développement se tournent de plus en plus vers des architectures orientées conteneurs.
Une fois les POCs validés, il faut songer à la mise en production de ces solutions. Jonathan est administrateur systéme, il a mis en place et exploité des solutions conteneurisées dont certaines architectures dites ‘star wars’ (cf Devoxx 2015). Jean-Pascal est développeur backend, il a développé Kodo Kojo, une solution de provisionning d’usine logicielle fortement basée sur des conteneurs.
Au cours de cette présentation, ils vont vous présenter les solutions permettant de connaître l’état de vos clusters de conteneurs à un instant T.
Présentation effectuée au Meetup 24 Programmez (5 Avril 2022) par Christophe Villeneuve sur "Infrastructure as code Drupal".
Cette présentation aborde les rappels de l'IaC (infrastructure as code), comment l'utilisé avec le CMS Drupal et déployé automatiquement le contenu et les évolutions dans l'IaC.
Conférence donnée à la Droidcon Tunisia 2015.
Les mises à jour OTA sont partout sur nos téléphones (ok, presque partout) mais comment fonctionnent-elles ?
Au cours de cette présentation, nous verrons :
Ce qu’est une MàJ OTA
Comment l’implémenter (exploration de code : intent, permission système, recovery, etc.)
Quelle architecture backend pour mettre en place une solution d’OTA
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
L'idée de cette session est de présenter les nouveautés de System Center 2012 Configuration Manager R2 avec notamment la prise en charges des fonctionnalités suivantes : - Déploiement et gestion des clients Windows 8.1 et Windows Server 2012 R2 - Nouveaux types de déploiement d'application (Apps Windows 8.1, Bundle d'application…) - Nouvelles configuration supportées (support SQL, OS, architectures supportées…) - Nouveaux rôles de serveur de site (Certificate Registration Point) - Nouveaux CmdLet pour les tâches d'administration - Améliorations dans la gestion et le déploiement des clients (Resultant Client Settings, Client Assignment) - Nouveautés dans la gestion des périphériques mobiles (Déploiement d'applications en mode requis, gestion des Android, Wipe selectif, personal et company-owned…) - Gestion des clients Max OS, Linux et UNIX servers - Gestion de la configuration de l'environnement utilisateur : Remote Connection Profiles, Certificat, VPN et Wifi Profiles - Nouveautés dans la gestion des applications, des déploiements de système d'exploitation ou de gestion des correctifs de sécurité - Améliorations du reporting Les scénarios / nouvelles fonctionnalités les plus importantes seront illustrées par des démonstrations.
Speakers : Mark Cochrane (Vnext), Aurélien Bonnin (Vnext)
Comment, dans le cadre de la migration vers Google Cloud Platform, MeilleursAgents a revu ses techniques de déploiements d'applications Python pour garantir des releases fiables, testables et reproductibles.
Issue d’une expérience sur un projet transverse chez un client bancaire, cette présentation vous présentera la migration d’une application web initialement déployée sur Windows vers un Paas Openshift.
Le panel de transition des applications vers un PaaS ne se résume pas choisir entre appliquer des migrations de type Lift and Shift. Les organisations et méthodologies à adopter doivent être repensées, tout comme les architectures applicatives déployées sur ces infrastructures.
Nous présenterons au cours de cette session les évolutions réalisées sur une application web initialement déployée sur Windows, mais également les gains du passage à OpenShift qui en découlent, ainsi que les problématiques et difficultés qui ont été résolues au cours de cette transition.
Vous êtes étudiant en dernière année d'étude, orienté(e) Informatique ou Finance ? NeoXam Tunisia vous accorde l'opportunité d'effectuer votre stage de Projet de Fin d'Etudes au sein de ses équipes.
Ci dessous le détail des offres !
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
Premier Meetup Docker sur Nice. A cette occasion nous nous retrouverons dans les locaux d’Epitech Nice pour une conférence suivie d'ateliers.
En partenariat avec :
- Epitech Nice
- Gandi
- Wizishop
http://www.meetup.com/Docker-Nice/events/222345639/
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
"Node.JS, MariaDb, MongoDb, Python, Ruby on Rails, PHP... toutes ces technologies et beaucoup d'autres ont deux points commun : elles sont Open Source et fonctionnent sur Microsoft Azure.
Faisons un point rapide sur la stratégie de Microsoft sur le sujet et démontrons les atouts d'Azure à travers l'exemple d'un projet web professionnel.
Celui-ci s’appuiera sur des technologies ouvertes : Drupal pour le CMS, PHP pour le langage, Linux pour le système d'exploitation, MariaDB pour la base de données ou encore Redis pour le cache distribué.
En plus d’aborder des nouveautés de l’offre Azure, cette session sera également l’occasion d’aborder les différents types de services disponibles dans Azure (infrastructure, plateforme, applicatif) et les questions à se poser pour choisir entre ceux-ci."
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
Le cloud est-il adapté aux besoins du calcul hautes performances ? La réponse par l’expérience : les consultants HPC d'ANEO ont porté et optimisé une application scientifique distribuée développée par Supélec depuis leur cluster Linux vers la nouvelle offre de cloud Microsoft, Big Compute (nœuds reliés en InfiniBand).
This document provides 10 tips for designing cloud native applications using Kubernetes. It discusses determining if Kubernetes is needed based on requirements like scalability and availability needs. It also covers choosing frameworks that work well with containers and Kubernetes, ensuring fast startup times, enabling observability from the start, integrating with CI/CD pipelines, using environment variables and config maps for configuration, and best practices for efficient logging.
Contenu connexe
Similaire à Checklist pour concevoir une application dans le cloud.10 conseils à l'attention des développeurs
L'idée de cette session est de présenter les nouveautés de System Center 2012 Configuration Manager R2 avec notamment la prise en charges des fonctionnalités suivantes : - Déploiement et gestion des clients Windows 8.1 et Windows Server 2012 R2 - Nouveaux types de déploiement d'application (Apps Windows 8.1, Bundle d'application…) - Nouvelles configuration supportées (support SQL, OS, architectures supportées…) - Nouveaux rôles de serveur de site (Certificate Registration Point) - Nouveaux CmdLet pour les tâches d'administration - Améliorations dans la gestion et le déploiement des clients (Resultant Client Settings, Client Assignment) - Nouveautés dans la gestion des périphériques mobiles (Déploiement d'applications en mode requis, gestion des Android, Wipe selectif, personal et company-owned…) - Gestion des clients Max OS, Linux et UNIX servers - Gestion de la configuration de l'environnement utilisateur : Remote Connection Profiles, Certificat, VPN et Wifi Profiles - Nouveautés dans la gestion des applications, des déploiements de système d'exploitation ou de gestion des correctifs de sécurité - Améliorations du reporting Les scénarios / nouvelles fonctionnalités les plus importantes seront illustrées par des démonstrations.
Speakers : Mark Cochrane (Vnext), Aurélien Bonnin (Vnext)
Comment, dans le cadre de la migration vers Google Cloud Platform, MeilleursAgents a revu ses techniques de déploiements d'applications Python pour garantir des releases fiables, testables et reproductibles.
Issue d’une expérience sur un projet transverse chez un client bancaire, cette présentation vous présentera la migration d’une application web initialement déployée sur Windows vers un Paas Openshift.
Le panel de transition des applications vers un PaaS ne se résume pas choisir entre appliquer des migrations de type Lift and Shift. Les organisations et méthodologies à adopter doivent être repensées, tout comme les architectures applicatives déployées sur ces infrastructures.
Nous présenterons au cours de cette session les évolutions réalisées sur une application web initialement déployée sur Windows, mais également les gains du passage à OpenShift qui en découlent, ainsi que les problématiques et difficultés qui ont été résolues au cours de cette transition.
Vous êtes étudiant en dernière année d'étude, orienté(e) Informatique ou Finance ? NeoXam Tunisia vous accorde l'opportunité d'effectuer votre stage de Projet de Fin d'Etudes au sein de ses équipes.
Ci dessous le détail des offres !
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
Premier Meetup Docker sur Nice. A cette occasion nous nous retrouverons dans les locaux d’Epitech Nice pour une conférence suivie d'ateliers.
En partenariat avec :
- Epitech Nice
- Gandi
- Wizishop
http://www.meetup.com/Docker-Nice/events/222345639/
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
"Node.JS, MariaDb, MongoDb, Python, Ruby on Rails, PHP... toutes ces technologies et beaucoup d'autres ont deux points commun : elles sont Open Source et fonctionnent sur Microsoft Azure.
Faisons un point rapide sur la stratégie de Microsoft sur le sujet et démontrons les atouts d'Azure à travers l'exemple d'un projet web professionnel.
Celui-ci s’appuiera sur des technologies ouvertes : Drupal pour le CMS, PHP pour le langage, Linux pour le système d'exploitation, MariaDB pour la base de données ou encore Redis pour le cache distribué.
En plus d’aborder des nouveautés de l’offre Azure, cette session sera également l’occasion d’aborder les différents types de services disponibles dans Azure (infrastructure, plateforme, applicatif) et les questions à se poser pour choisir entre ceux-ci."
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
Le cloud est-il adapté aux besoins du calcul hautes performances ? La réponse par l’expérience : les consultants HPC d'ANEO ont porté et optimisé une application scientifique distribuée développée par Supélec depuis leur cluster Linux vers la nouvelle offre de cloud Microsoft, Big Compute (nœuds reliés en InfiniBand).
This document provides 10 tips for designing cloud native applications using Kubernetes. It discusses determining if Kubernetes is needed based on requirements like scalability and availability needs. It also covers choosing frameworks that work well with containers and Kubernetes, ensuring fast startup times, enabling observability from the start, integrating with CI/CD pipelines, using environment variables and config maps for configuration, and best practices for efficient logging.
Améliorer les compétences et intrastructures avec les katas d'architectureAlexandre Touret
Comment devenir architecte ? Comment progresser dans ce domaine ? A quoi reconnait-on une bonne ou une mauvaise architecture ? Il existe certes un certain nombre d' ouvrages et formations sur le sujet, mais le mieux est quand même de pratiquer ! A la manière des coding dojos, je vais vous présenter les Architecture Katas. Ces derniers ont été initiés par Ted Neward. Son idée est venue du constat suivant :
> "So how are we supposed to get great architects, if they only get the chance to architect fewer than a half-dozen times in their career?"
La solution à ce problème est donc de pratiquer régulièrement sur des sujets très différents pour gagner en expérience.
Je dresserai dans un premier temps un rapide constat sur le besoin de gagner en compétence en architecture. Puis, je ferai un retour d'expérience sur la manière de démarrer une conception. Après tout ça, je vous présenterai les katas d'architecture. Je commencerai par les règles et le déroulement. Enfin, je finirai par les bénéfices que j'en ai tiré.
Comment devenir architecte ? Comment progresser dans ce domaine ? A quoi reconnait-on une bonne ou une mauvaise architecture ? Il existe certes un certain nombre d' ouvrages et formations sur le sujet, mais le mieux est quand même de pratiquer ! A la manière des coding dojos, je vais vous présenter les Architecture Katas. Ces derniers ont été initiés par Ted Neward. Son idée est venue du constat suivant :
"So how are we supposed to get great architects, if they only get the chance to architect fewer than a half-dozen times in their career?"
La solution à ce problème est donc de pratiquer régulièrement sur des sujets très différents pour gagner en expérience.
Après une présentation qui permettra dans un premier temps de donner un retour d'expérience sur ce domaine et de répondre à certaines questions, j'exposerai la démarche du hands'on et le résultat final attendu.
Ensuite, par équipe de 4-5 personnes équipées d'un papier et d'un crayon ( pas besoin de plus ! ), plusieurs sujets seront proposés. Chaque équipe devra en choisir un, définir l' architecture la plus pertinente et la présenter aux équipes adverses.
Un vote définira la meilleure architecture.
Il n'est pas nécessaire d'être architecte pour participer !
Que la meilleure équipe gagne !
15. « les organisations qui conçoivent
des systèmes [...] tendent
inévitablement à produire des
designs qui sont des copies de la
structure de communication de
leur organisation. »
— M. Conway
15
16. Quel est le RACI ?
Est-ce que votre organisation est compatible ?
16
RACI &
Responsabilités
18. 18
Codebase
One codebase tracked in revision
control, many deploys
Dependencies
Explicitly declare and isolate
dependencies
Config
Store config in the environment
Backing Services
Treat backing services as attached
resources
Build, release, run
Strictly separate build and run
stages
Backing Services
Treat backing services as attached
resources
Processes
Execute the app as one or more
stateless processes
Port Binding
Export services via port binding
Disposability
Maximize robustness with fast
startup and graceful shutdown
Dev/prod parity
Keep development, staging, and
production as similar as possible
Logs
Treat logs as event streams
Admin processes
Run admin/management tasks as
one-off processes
Source: https://12factors.net
24. 24
Items à identifier
✓ Rapidité du démarrage
✓ Gestion des arrêts
✓ Capacité à s’intégrer dans Docker et K8S
✓ Observabilité
✓ Mémoire et CPU utilisées
✓ Gestion des dépendances et du patch management
25. TOMCAT vs FAT JARS
→ Un compromis Production - Équipes de développement
25
27. Adresser sur ce sujet
dès la conception !
Ne pas attendre la mise en production :)
Exposer via des endpoints REST l’état de votre système
Faire attention aux FRAMEWORKS utilisés
27
33. Étapes à intégrer
dans votre chaîne
✓ Tests unitaires + intégration
✓ Création d’image Docker automatique
✓ “Smoke tests” de l’image crée
✓ Déploiement continu de la branche develop
✓ Déploiement de vos charts HELM (linter?)
✓ Déploiement d’une release
✓ ... 33
48. Flux de sortie des
containers Docker
stdout & stderr
Inutile de configurer la sortie vers des fichiers
48
49. Bonnes pratiques
Indiquer dans vos LOGS:
Les éléments de votre conteneur (Image, containerID,...)
Les éléments de contexte K8S (IP POD, ID POD,
namespace,...)
Log4j Docker Support – Log4j Kubernetes Support
49
50. Pour aller plus loin
Vous pouvez logger et tracer les appels à vos APIS:
Requête, ID de l’appelant, ID de corrélation,...
zalando/logbook: An extensible Java library for HTTP request and response
logging
50