About CI/CD

Determine which Continuous Integration and Continuous Deployment (CI/CD) architecture best fits your business needs.

CI/CD aims to build software components and bring them together to ensure that they function and interoperate efficiently with other building blocks. The CI/CD process ensures compliance with required standards, deployment to an environment with either automated or manual decisions, and is fully traceable.

The CI/CD process must be repeatable and consistent. You can visualize the CI/CD process as a manufacturing or delivery pipeline where code passes through the same series of stages every time you build it.

Considerations for a CI/CD Process

While the CI/CD process simplifies achieving your coding goals, it also comes with areas of complexity. When implementing a CI/CD architecture, consider these factors.

Technology Diversity

Identify the various technologies required in a single pipeline to deploy a solution. Both, technologies to be validated, and the potential tools needed from static code analysis to unit, integration, and component testing.

Unique Quality Requirements

Identify if different software builds have individual quality requirements. For example, software for internal use doesn't require to manage sensitive data and won't require the same level of security checks when compared to an internet-facing solution processing individuals medical data.

Technical Skill Requirements

Identify the range of technical skills needed in your team or organization to operate and maintain the pipelines.

Cost-Benefit Analysis

Estimate the cost of establishing the pipeline when compared to the value or requirements of the software you're building.

Product Strategy Requirements

Define the product and cloud strategies involved. For example, vendor-agnostic open source software when compared to prebuilt services (IaaS over PaaS or the reverse respectively).