Content Lifecycle Management DevOps

Overview

A leading learning content company which provides a range of technology and content creative offerings for global enterprises. With end-to-end solutions spanning across all stages of the learning content lifecycle and aims to deliver exceptional business performance within enterprise.

 

As such a cloud based solution for role based management of the content lifecycle across various content delivery methods ranging from Elearning, Video, Material to Instructor Led Training has been designed and developed on the microservices based architecture by leveraging some of the latest technology stack and design principles.

Project Info

Category

CD (DevOps)

Client

Content Central

Tags

Problem Statement

The goal was to set up a completely automated continuous software delivery pipeline for the product from day zero inclusive of automated software delivery lifecycle stages of continuous inspection, continuous testing, continuous verification and continuous deployments.

Product Features

The product was running more than 20+ containerised microservices in the background and was also leveraging some of the leading cloud managed services for delivering the functionality to the end user. We have designed each stage by leveraging and setting up some of the leading open source tools to seamlessly achieve commit based continuous delivery straight from version control system to the cloud platform deployments.
01. Version Control System
02. Continuous Inspection
SonarQube was selected and configured as the static code analysis tool providing continuous inspection around security and coding standard adherence by continuously scanning thousands of lines of code being written daily across different languages.
03. Continuous Integration
A global Jenkins scripted pipeline library was developed in groovy to manage the commit based pipelines across 20+ repositories and execute various automated stages intelligently based on branch aware workflows. The library has support for various build tools like Maven, Gradle, NPM etc. across different languages like Java, Node, Python etc.
04. Continuous Deployments
05. Continuous Testing
06. Artifact Management
JFrog artifactory server was setup as the maven dependency manager for managing the maven libraries and dependencies across all the microservices.

Amazon ECR was used as the docker Image registry to store and manage all the application docker images. Different lifecycle policies were defined in each image repository for automated management & cleanup of images based on tagging.

07. Container Management
08. Release Management
09. Centralised Log Management
10. Continuous Monitoring

CloudWatch metrics were used to setup dashboards which were used for monitoring across all the application containers, cluster namespaces and cluster nodes.

11. Continuous Alerting

CloudWatch alarms were defined on top of aggregated metrics to generate alerts and send timely notifications via Emails to stakeholders.

12. OnDemand Environments
13. Business Availability

The complete Automation & DevOps infrastructure described was set up within 3 months.

Technology Stack

Backend

Frontend

Database

DevOps

Platform Service

Automation

Conclusion

The client now has a seamless commit based continuous delivery ecosystem with zero manual intervention.

This has significantly increased productivity across all the involved engineering teams.

This has increased the velocity of feature development and deliveries across engineering sprints.

The number of defects found in sprint acceptance testing has significantly reduced ensuring high quality of releases.