3. 3
Un exemple de CI/CD autour des outils SUSE
Develop DeployBuild Test
Docker
Registry
1°) Pull du code
2°) Packaging
du code
3°)Build et publication
de l’application Android
4°)Build et push du
web service contenerisé
7°)Tests et assurance
qualité applicatif
Android + Webservice
5°)Tests et assurance
Infrastructure contenaires
6°)Déploiement du Webservice
6. 6
Develop & Build
Develop Build
1°) Pull du code
2°) Packaging
du code
3°)Build et publication
de l’application Android
4°)Build et push du
web service contenerisé
10. 10
Conteneurs, Trucs et Astuces
Zypper ref et rebuild
Sécurité :
• Supprimer ce qui est inutile
• Intégration d’outil d’inspection à Portus
Open Build Service
• Génération d’images docker
12. 12
Un exemple de CI/CD autour des outils SUSE
Develop DeployBuild Test
Docker
Registry
1°) Pull du code
2°) Packaging
du code
3°)Build et publication
de l’application Android
4°)Build et push du
web service contenerisé
7°)Tests et assurance
qualité applicatif
Android + Webservice
5°)Tests et assurance
Infrastructure contenaires
6°)Déploiement du Webservice
13. 13
Test & Deploy
7°)Tests et assurance
qualité applicatif
Android + Webservice
5°)Tests et assurance
Infrastructure contenaires
6°)Déploiement du Webservice
14. 14
Test
• Code : Coveralls, Travis CI, Codecov
• Noyau : Linux Test Project (aka. LTP), kernelci.org
• Web : Selenium, Sahi, SOAtest
• Interface graphique : HP WinRunner/ALM, SmartBear, eggPlant Functional
• Système d'exploitation : LAVA, Linux Desktop Test Project, openQA
• Suivi de tests manuels : Testopia, SystemTestPortal, Kiwi TCMS,
TestLink, Silk Central
• Tests automatisés ou manuels ? Les deux !
15. 15
Un outil SUSE : openQA
• openQA est utilisé au niveau OS pour tester l'installation,
la configuration, la migration, etc.
• Utilisé par : SUSE, Fedora, Debian, Gentoo
• Tous les différents composants fournis sont également testés
quand cela est possible
• Exemple pour openSUSE : Gnome, KDE, Xfce, LibreOffice, Firefox, etc.
• SUSE utilise openQA pour openSUSE
et pour les produits commerciaux comme SLE (depuis la SLE11-SP4),
SLE-HA, SLES4SAP, CaaSP, etc.
• Le but premier était de tester les composants OS plus que les applications,
mais il est capable de tester tout ce qui est interface graphique (ou texte) également !
17. 17
Qu’est-ce que SUSE CaaS Platform?
Accelérer la mise en production d’applications pour supporter l’agilité des métiers
SUSE CaaS Platform est une plateforme de
management de conteneurs niveau
enterprise qui offre les outils nécessaires
aux équipes DevOps pour facilement et
rapidement déployer, manager et étendre
les micro-services contenerisés.
19. 19
SUSE MicroOS pour héberger les Containers
Un OS fait pour hebergé les containers et optimisé pour les
deploiements larges..
Contient tout ce dont vous avez besoin pour vos contenaires en
production
Valeurs ajoutées:
• Easy manage/upgrade OS
• Easily setup/manage a cluster of nodes
• Use core SUSE Linux technologies,
such as btrfs, RPM, autoyast
• Scalable - up to thousands of nodes
• Transactional/Atomic updates
20. 20
Kubernetes for Container Orchestration
Helps you deploy and run large numbers of containers at scale in a production
ready environment
Deploy
Manage
Scale
Clustered
Allows users to manage applications, not machines
• Complete container orchestration solution
• Open source
• Production grade
• Industry-leading container technology
• Designed by Google, now part of Cloud
Native Computing Foundation
21. 21
Kubernetes Deployment is Not Easy
Kubernetes is great for container orchestration but is
notoriously hard to
• Set up/install
• Configure
• Update
• Manage
• Secure
SUSE CaaS Platform takes this pain away
What used to take hours for skilled engineers can be
done in minutes by junior administrators
22. 22
Helm
Package management for Kubernetes
What is Helm? • Tool to manage Kubernetes application
• Streamlines installation and management
• It’s like ‘zypper’ for Kubernetes
• Helm has two parts: a client (helm) and a server (tiller).
• Tiller runs inside of Kubernetes cluster, and manages
releases (installations) of charts*
• During SUSE CaaS Platform set up the server can be
installed on the Kubernetes cluster and then Helm can be
used to deploy containerized applications.
Why Helm? • Ability to deploy applications from SUSE maintained Helm
charts or from 3rd party sources
• Official tool to deploy containerized products such as SUSE
Cloud Application Platform
• Easy to integrate with SUSE CaaS Platform
* “Helm Chart” is the Kubernetes equivalent of an RPM file
24. 24
2017 2018 2019 2020
SUSE CaaS Platform
v1
v2
v2.x
v3
v3+
Container Host OS
(MicroOS)
• Codebase: SUSE Linux
Enterprise 12 SP2
• Designed for containers
and optimized for large
deployments
• Transactional updates
• Cluster dashboard for
deployment and update
Orchestration
• Kubernetes v1.5: Complete
solution for container-based
workloads: deploy, scale,
manage
• Cmdline capabilities
• Docker open source
project version 1.12.6
Ecosystem
• Private registry
• Persistent storage: local,
NFS, SUSE Enterprise
Storage
v1
Container Host OS
• Codebase: SUSE Linux
Enterprise 15
• More flexible set up
• Enhance administration
dashboard
• Further scalability
Orchestration
• Kubernetes version update
• Federation of Kubernetes
cluster
Ecosystem
• Enable SUSE Enterprise
Storage on top of SUSE
CaaS Platform
• Additional container
images for workloads
• Improved processes for
maintenance
• 3+ years general support,
LTSS and overlap support
Container Host OS (MicroOS)
• Codebase: SUSE Linux Enterprise 12 SP3
• Tested with 50 nodes
• Multi-master cluster set up, tested with 100
nodes
• Integration with public cloud (Amazon, Azure,
Google)***
• Enhance administration dashboard
Orchestration
• Kubernetes 1.7
• Add Kubernetes DNS module (kube-dns)
• Docker open source project
version 1.12.6
Ecosystem
• Helm for installing containerizedapplications
• Enable SUSE CAP on top of SUSE CaaS
Platform
Container Host OS
• Codebase and packaging
optimized for transactional
updates
• HA setup of cluster
• Improve isolation options
• Container engine change
• Disaster recovery
• Single node install
Orchestration
• Kubernetes version update
• Network options (CNI and
Callico or Cilium?)
Ecosystem
• Smaller base container
images
• Additional container
images for workloads
Container Host OS
• Codebase: SUSE Linux
Enterprise 12 SP3
• Tested with 200 nodes
• Enhance administration
dashboard
Orchestration
• Kubernetes version update
• Kubernetes dashboard
(kube-dash)
• Multi-user / RBAC support
• Loadbalancer for
bare metal
Ecosystem
• Private registry in
offline mode
• Trusted container images
v2 v2.x v3 v3+
* Information is forward looking and subject to change at any time.
*** Item delivered post-GA