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

Capstone Project

Academic Mentor: Dr. Ali Elkamel

Pro. Mentor: Ing. Mehdi Ben Cheikh 

Realized By : Hatem Ben Tayeb

Co-Mentor: Khemais abdallah

Academic year: 2019/2020

Plan

  1. Introduction
  2. Devops Tools & Concepts
  3. Legacy Deployment Process
  4. Modern Deployment Process
  5. Production Realization
  6. Conclusion & Prespective

Dev

Ops

Introduction

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

Ansible Playbooks

Infrastructure As Code

Is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model.

GitOps

Requires us to describe and observe systems with declarative specifications that eventually form the basis of continuous everything

Legacy process deployment

Limitation (1/2)

  • Basic CI with Jenkins (not all projects)
  • No CD process
  • Limited usage of containers
  • No monitoring for servers
  • No standard branching system

Limitation (2/2)

  • No Standard environments
  • No Rollback system
  • Manual Backups and certificates renew
  • Manually provisionning servers

Every Deployment operation

Modern process deployment

Pipelines (1/2)

  • Fast & Lite Docker images 
  • Pipeline Stages : Prepare,Build image, Deploy
  • On The fly Docker image Deployment  
  • Generic Pipeline Template
  • Simple way to Rollback deployment

Pipelines (2/2)

Infrastructure

  •  Server provisioning 
  •  kubernetes cluster provisioning
  •  backups for databases
  •  backups for assets (images, configurations ...)
  •  playbooks to install and manage packages

Full Automated

Monitoring

  • Monitor docker containers
  • Collects system metrics
  • Hight quality dashbords
  • Monitor Kubernetes cluster
  • Collects Standlone VMs data
  • It can monitor everything 

Grafana

Azure Insights

Production Realization

Projects with CI/CD

Project Pipeline count Environments
Digipages 9 pipelines Dev | pre-prod | prod
Digishop 10 pipelines Dev | pre-prod | prod
Kickwin 3 pipelines Dev | pre-prod | prod
My*** 3 pipelines Dev | pre-prod | prod
Do**** 3 pipelines Dev | pre-prod | prod
Tun*** 1 pipeline Dev | pre-prod | prod
orga*** 3 pipelines Dev | pre-prod | prod
The striked environments indicates that the pipeline exist but the project still in progress. not deployed yet at  thet environment.

Provisoned Servers

Server Provider Purpose N° of containers
Dedicated server OVH Critical projects 62
Kickwin server Azure Kickwin project 10
Astrolab-dev Azure Dev environment 25
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.

Provisoned Clusters

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).

Conclusion (1/2)

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).

Conclusion (2/2)

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.

Perspective

both IT and the business must decide together which application or service they want to change and why.

BizDevOps

Dev

Ops

Biz

Capstone project

By hatem ben tayeb

Capstone project

This is my capstone project slides, it's about my work during 7 months, sousse tunisia (astrolab-agency)

  • 725