Devops engineer and automation enthusiast
Implementation of a Devops platform for the industrialization of delivery and infrastructure
TUNISIAN REPUBLIC MINISTRY OF HIGHER EDUCATION OF SCIENTIFIC RESEARCH AND TECHNOLOGY UNIVERSITY OF SOUSSE
Academic Mentor: Dr. Ali Elkamel
Pro. Mentor: Ing. Mehdi Ben Cheikh
Realized By : Hatem Ben Tayeb
Co-Mentor: Khemais abdallah
Academic year: 2019/2020
- Devops Tools & Concepts
- Legacy Deployment Process
- Modern Deployment Process
- Production Realization
- Conclusion & Prespective
DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. "The agile admin"
DevOps Tools & Concepts
Configuration As Code
Is a set of processes and practices that will save you time, increase your flexibility, and improve your system uptime
Infrastructure As Code
Is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model.
Requires us to describe and observe systems with declarative specifications that eventually form the basis of continuous everything
Legacy process deployment
- No Standard environments
- No Rollback system
- Manual Backups and certificates renew
- Manually provisionning servers
Every Deployment operation
Modern process deployment
- Fast & Lite Docker images
- Pipeline Stages : Prepare,Build image, Deploy
- On The fly Docker image Deployment
- Generic Pipeline Template
- Simple way to Rollback deployment
- Server provisioning
- kubernetes cluster provisioning
- backups for databases
- backups for assets (images, configurations ...)
- playbooks to install and manage packages
Projects with CI/CD
|Digipages||9 pipelines||Dev | pre-prod | prod|
|Digishop||10 pipelines||Dev | pre-prod |
|Kickwin||3 pipelines||Dev | pre-prod | prod|
|My***||3 pipelines||Dev |
|Do****||3 pipelines||Dev |
|Tun***||1 pipeline||Dev | pre-prod |
|orga***||3 pipelines||Dev |
The striked environments indicates that the pipeline exist but the project still in progress. not deployed yet at thet environment.
|Server||Provider||Purpose||N° of containers|
|Dedicated server||OVH||Critical projects||62|
|Kickwin server||Azure||Kickwin project||10|
|Backup VM||Azure||Managing backups||-|
|Internship VM||Azure||Internships testing||-|
All azure VMs are provisoned with a full automated pipeline that do provisonning + configuration to produce a ready to go Server.
|Cluster name||Node number||Purpose|
|Digishop cluster||3||Digishop control plane|
|Clients cluster||3+||Digishop clients containers|
Clusters and deployments of digishop control plane and clients containers still in preview, because we are waiting for the first release of the project (production release).
We made a full digital transformation from scratch, that involves a deployment pipelines (~ 32 x 3) with optimized time to market ,docker images (20MB), Rollbacks and a multicloud support (GCP/AWS/AZURE).
The infrastructure pipelines (2) to provision any production grade servers (4) and kubernetes clusters (2). we increased the productivity and velocity of the team, and the production realease cycle.
both IT and the business must decide together which application or service they want to change and why.
By hatem ben tayeb