project-proposal-2025

CODEpendent

Abstract

A common challenge software engineering teams face when scaling to an enterprise-level organisation is inefficiency. This can manifest in various ways, including fragmented tooling, inconsistent processes, and resource wastage, all of which drive up costs and operational complexity. CODEpendent is an Internal Developer Platform (IDP) designed to enable self-service with guardrails, allowing engineers to efficiently manage source control, provision infrastructure, deploy applications, and monitor diagnostics - all within a cohesive ecosystem. The platform supports organisations struggling to manage multiple microservices across different products, environments, and regions. By integrating seamlessly with existing tools, CODEpendent enhances deployability, security, and reliability, reducing friction in the development lifecycle. With CODEpendent, engineering teams can shift their focus to delivering high-quality software rather than battling the complexities of tools and infrastructure.

Author

Name: Mitch Manning

Student number: 45321265

Functionality

CODEpendent supports software engineers from the very start of a new project, accelerating their time-to-business value. It achieves this by providing the following functionality:

Functionality

1. Microservice Lifecycle Management

CODEpendent enables engineers to provision all the necessary resources for a new project through a streamlined process. This is achieved by generating a new repository from a pre-approved API template, designed to meet compliance and company regulations. Engineers can customise the configuration to include or exclude specific components as needed. Once finalised, a new repository is created, containing a sample API, required infrastructure, and pre-configured workflows. By the time the engineer is ready to clone the repository, the project’s infrastructure and code have already been deployed.

2. Continuous Development and Deployment

With the new repository in place, engineers can focus on delivering high-quality software. While code changes and approvals remain managed within the source control system, CODEpendent simplifies infrastructure management and deployments. Additionally, the platform empowers engineers to seamlessly promote or rollback deployed software changes.

3. Monitoring and Diagnostics

Deployed software can be monitored directly within CODEpendent, which provides a unified dashboard for logging, diagnostics, and performance metrics. With built-in support for alert integrations, CODEpendent enables proactive issue detection and resolution, ensuring system reliability and performance.

4. Ongoing Management

CODEpendent acts as a unified control plane for all downstream tools. Engineers can centrally modify workflows and infrastructure templates across active projects, keeping them aligned with best practices. The platform allows for interchangeable tooling, maintaining a consistent developer experience even when switching CI/CD or infrastructure providers. With centralised governance and compliance enforcement, CODEpendent standardises DevOps processes, ensuring operational consistency at scale.

Scope

The following outlines the key functionalities required to deliver a Minimum Viable Product (MVP).

1. Microservice Lifecycle Management

Create a New Microservice

Delete an Existing Microservice

2. Continuous Development and Deployment

Release Management

3. Monitoring and Diagnostics

Microservice Health Monitoring

4. Ongoing Management

Developer Portal

Quality Attributes

The success of CODEpendent relies on key quality attributes to ensure the platform is reliable, adoptable and easy to use.

1. Deployability

In the context of CODEpendent, deployability ensures that the platform’s infrastructure (as well as the infrastructure for all software it provisions) can be easily created, updated, and removed. The platform is designed to empower engineers to quickly set up and manage their microservices with minimal hassle or downtime. High deployability will streamline the development lifecycle, reduce the time to provision new infrastructure and increase the success rate of deployments.

2. Security

Security is critical for CODEpendent, ensuring that sensitive data, infrastructure, and applications remain protected. The platform must enforce robust authentication, authorisation, and access control mechanisms to prevent unauthorised usage. Security can be measured by tracking authentication success rates, access control violations, and vulnerability assessments across the platform.

3. Reliability

Given the platform is intended to accelerate engineering productivity, CODEpendent is required to be reliable and adoptable. The platform must perform consistently under expected workloads, handle failures gracefully and support self-healing where applicable. Reliability can be measured by uptime percentages, mean time to recovery (MTTR), and the success rate of automated failover processes.

Evaluation

The evaluation of CODEpendent will be based on measurable criteria to ensure the platform meets its intended functionality and quality attributes.

Scope

Quality Attributes