How to Harness the Power of Inner Source to Create Better Delivery Pipelines
June 22, 2023

Glenn Turner Jr. and Andy Smith
Discover

To keep up with modern banking and credit card demands, software delivery teams need to release software in a continuous, reliable fashion. As Discover began adopting an open, hybrid, fit-for-purpose, multicloud approach, we also faced a new challenge: How could we enable teams to release necessary software updates and features while maintaining a secure, reliable infrastructure that customers can trust?


We used the power of open-source principles within our internal community of developers to create a company-wide CI/CD pipeline that enables teams to deliver high quality software iteratively in a reliable, secure manner.

Securing Deployments Across an Enterprise

As we set out toward modernizing our platforms, teams naturally used containerization and the underlying open-source tools that enabled containerization at scale, including React, SpringBoot, Jenkins and Kubernetes. Application teams quickly began working on their own build and deployment processes, resulting in hundreds of solutions for the same problem.

With reliability and security at the forefront of how Discover delivers software, there was a growing need to standardize the way that software was built and deployed.

The architecture team initially created a grassroots CI/CD pipeline known as Trident and planned to improve it with help from the community of engineers at Discover. Even though the pipeline had the right bones and structure in place, it lacked the broad engineering support for company-wide adoption. The Trident team established an inner source model to not only improve the pipeline but also to increase adoption by the engineers who now felt invested in its success.

Standardization Through Inner Source

Collaboration through an inner source model was the key to improving the Trident pipeline at Discover and increasing adoption.

The key onboarding mechanism for educating the company’s engineers was through an online community called the Discover Technology Academy. Here, the core Trident team was able to communicate via a centralized hub for training, documentation, and answering engineer’s ongoing questions around how to use and improve Trident.

The core Trident team is comprised of developers and engineers whose job is to build and maintain the Trident pipeline. All Trident contributors, whether from the Core team or from the inner source community, work from respective feature branches which are created off the currently staged version of the pipeline. Once features are tested, approved, and completed, that feature branch is then merged to the staging branch, where the inner-source teams are configured to use for their own deployment activities.

Weekly, features staged at a given point are merged into the main pipeline branch, releasing new functionalities to the development community.

There are also weekly meetings where the core Trident team and the inner source community meet to discuss current and future implementations and the overall direction of the pipeline. This meeting ensures that the Trident team and the application development community of contributors are aligned.

This inner source model borrows heavily from open-source principles to ensure that as various teams make changes and improvements to the code base, there are mechanisms in place to contribute those changes back to the overall project and community, improving the product for everyone at Discover.

A Refreshed Pipeline Ready for Modern Workloads

With Trident, teams can use automated onboarding processes, configure their applications using our well-documented GitOps approach to CI/CD, and take advantage of standardized processes for building, deploying, and releasing software. The core principles of Trident include:

Consistency and standardization

Trident offers separate pipelines for build, code promotions, and releases that are templatized within release environments to ensure consistency. Teams can simply use these templates and adapt them within the parameters to meet their deployment needs. All subsystems in the CI/CD ecosystem adhere to standardized roles and responsibilities so there is consistency across teams and solutions.

Developer choice and simplicity

Consumable pipelines enable teams to use the test suites and scripts that fit their continuous delivery needs. The Trident solution is agnostic – teams can choose the programming language, platform, and development stacks that suit their needs best.

All changes are submitted via pull requests, with orchestrator and deployment complexity abstracted away to create a simple developer experience.

Quality, governance, and compliance assurance

Built-in traceability, logging, and API-driven interactions create evidence across the various stages of the CD pipeline. If any issues arise, they can be easily addressed and fixed. With Trident, the CD pipeline is stopped to address quality issues instead of finding issues and addressing them later.

Trident uses various quality gates to enforce standards and controls relating to quality, governance, and compliance. This quality gate ensures changes are eligible for automated deployment based on an automated review of gathered evidence, and after ensuring the release pipeline is repeatable and low risk.

The question of how to deliver software in a continuous, secure, reliable nature is one that most large companies have top of mind. By adopting an open-source approach to CI/CD, Discover was able to onboard all its developers and engineers to a model that secures deployments and ensures the ongoing success of the Trident pipeline. Not only does using inner source make a program stronger, it gives engineers a stake in the software and the power to apply their knowledge to help the entire company

Visit the Discover Technology site to learn more about how Discover engineers are shaping the future of fintech through its people, processes, and technology.

Glenn Turner Jr. is a Principal Product Owner and Andy Smith is a Distinguished Engineer at Discover
Share this

Industry News

May 07, 2024

Oracle announced plans for Oracle Code Assist, an AI code companion, to help developers boost velocity and enhance code consistency.

May 07, 2024

New Relic launched Secure Developer Alliance.

May 07, 2024

Dynatrace is enhancing its platform with new Kubernetes Security Posture Management (KSPM) capabilities for observability-driven security, configuration, and compliance monitoring.

May 07, 2024

Red Hat announced advances in Red Hat OpenShift AI, an open hybrid artificial intelligence (AI) and machine learning (ML) platform built on Red Hat OpenShift that enables enterprises to create and deliver AI-enabled applications at scale across hybrid clouds.

May 07, 2024

ServiceNow is introducing new capabilities to help teams create apps and scale workflows faster on the Now Platform and to boost developer and admin productivity.

May 06, 2024

Red Hat and Oracle announced the general availability of Red Hat OpenShift on Oracle Cloud Infrastructure (OCI) Compute Virtual Machines (VMs).

May 06, 2024

The Software Engineering Institute at Carnegie Mellon University announced the release of a tool to give a comprehensive visualization of the complete DevSecOps pipeline.

May 06, 2024

Synopsys has entered into a definitive agreement with Clearlake Capital Group, L.P. and Francisco Partners.

May 02, 2024

Parasoft announces the opening of its new office in Northeast Ohio.

May 02, 2024

Postman released v11, a significant update that speeds up development by reducing collaboration friction on APIs.

May 02, 2024

Sysdig announced the launch of the company’s Runtime Insights Partner Ecosystem, recognizing the leading security solutions that combine with Sysdig to help customers prioritize and respond to critical security risks.

May 02, 2024

Nokod Security announced the general availability of the Nokod Security Platform.

May 02, 2024

Drata has acquired oak9, a cloud native security platform, and released a new capability in beta to seamlessly bring continuous compliance into the software development lifecycle.

May 01, 2024

Amazon Web Services (AWS) announced the general availability of Amazon Q, a generative artificial intelligence (AI)-powered assistant for accelerating software development and leveraging companies’ internal data.

May 01, 2024

Red Hat announced the general availability of Red Hat Enterprise Linux 9.4, the latest version of the enterprise Linux platform.