The phrase “digital transformation” is ubiquitous these days. But what does it actually mean? Often, the heart of a successful digital transformation lies in a company’s ability to migrate data from legacy systems to the cloud for easier access while also updating relevant applications quickly and seamlessly to deliver the most optimal experience to customers and end-users.
To accomplish this journey in modernization, software teams have embraced agile practices founded on the pillars of collaboration, flexibility and continuous improvement and delivery.
This is where continuous integration and continuous delivery (CI/CD) comes in. CI/CD is an agile practice that enables developers to implement small changes on a frequent basis. Conducted in an automated and secure environment that maintains version control, CI/CD not only accelerates app delivery, it also reduces infrastructure costs, minimizes security risks, and allows for zero-downtime deployments and easier rollbacks.
The only problem? Many organizations lack the in-house expertise and resources needed to develop an agile CI/CD solution.
How Cognizant's Next Generation Integrator can help
The “Next Generation Continuous Integrator” is a UI-based, multi-component migration tool which utilizes a template-driven approach for migrating apps from existing CI/CD systems as well as on-boarding new apps to Concourse.
The technology is built on two pillars: Templates and Containers.
A template-driven approach is environment-agnostic (i.e. it can be run on private or public clouds, hybrid clouds, non-cloud, etc.) especially while handling numerous multi-tiered and multi-technology apps.
A container is a standard unit of software that packages up code and all its dependencies and can be published into a Central Hub (public cloud) or a Customer Specific Hub (private). Containers can be used by various teams and applications to run applications reliably from one computing environment to another.
How it works
Based on the various needs of a project, including the services to be migrated or on-boarded, the Next Gen Continuous Integrator’s usage lifecycle is as follows:
- Reusable and shared infrastructure templates are built in association with the source CI/CD DevOps team. These form the core driving artefacts for the tool to work.
- These templates are pushed to GitHub repo and then to MongoDB.
- The templates are then exposed in the tool’s UI for the end user to choose the appropriate job configurations they need for their target pipelines.
- The services, according to the chosen configuration above, are then on-boarded or migrated from source CI/CD (Jenkins, GoCD etc) to Concourse.
- The migration/on-boarding reports are generated and pushed to MongoDB.
Easier and quicker migration — CI/CD allows for system-agnostic migration across a broad spectrum of CI/CD tools through templates
Quicker turn-around time — Easily accommodates Change Requests at any phase
Improved quality — Standardizes processes faster. For instance, Next Gen Continuous Integrator designs a shared services layer for centralized management of the multiple environments and accounts
Increased Savings — Projected cost savings of >70% as automation of the infrastructure leads to freeing up of internal resources who would otherwise be engaged in infrastructure management
Why MongoDB for Next Gen Continuous Integrator tool?
To understand why MongoDB is best positioned for the Next Gen Continuous Integrator tool, we first need to walk through the significant challenges of using relational databases (RDBMS) with the Next Gen Continuous Integrator. Challenges include:
- “Infrastructure-as-Code” templates are unstructured as they vary across teams and tools
- The reports that the tool generates are dynamic in nature, but reporting schema changes are difficult to make in an inflexible RDBMS
- Migrated source services are interdependent with multiple responsibilities and hence can become time-consuming to onboard them to Concourse
- The monolithic architecture of RDBMS affects management, scalability, and continuous deployment
MongoDB, on the other hand, offers significant advantages:
- Flexible schema — Able to handle different data types and has the flexibility to store different templates of migration
- Ease of development — Design supports greater developer productivity and developers find it intuitive to use
- Rich JSON document and query language — Able to query templates at a deep hierarchical level
- Portability — For either the container or template driven approach, MongoDB can run across any platform
There is no one-size-fits-all solution when it comes to workload migrations or onboarding applications for modern businesses. Next Generation Continuous Integrator can help clients develop a template-driven, containerized migration solution that fits the organization’s specific needs with ease and minimal operations support.
Roadmap and contact details
Based on the scale of adoption and performance analysis of Next Gen Continuous Integrator tool across multiple tenants, we may move from on-premise MongoDB to cloud-based MongoDB Atlas.