ClickCease

What is DevOps?

Azure DevOps is Microsoft's software development platform that supports the full development lifecycle. It combines CI/CD pipelines, version control, project management, and testing tools to enable efficient application delivery. These integrated tools improve team collaboration and code quality while accelerating software deployment.

The platform works with any programming language and integrates with popular tools like GitHub and AWS. This flexibility makes it suitable for cloud and on-premises development, letting teams focus on innovation rather than infrastructure.

Advantages of DevOps

DevOps integrates development (Dev) and operations (Ops) teams to streamline software delivery. Through automated CI/CD pipelines, it speeds up time-to-market by automating code integration, testing, and deployment. DevOps enables quick responses to market demands through frequent releases.

By breaking down silos between teams and fostering shared responsibility, DevOps enhances collaboration. Automated testing and continuous monitoring improve software quality while minimising downtime and maintaining high standards.

DevOps uses automation to eliminate manual tasks and consistently manage infrastructure through Infrastructure as Code. Tools like Docker and Kubernetes offer the scalability and flexibility needed to adapt to business changes.

Through DevSecOps, security becomes integral to the process, catching vulnerabilities early. Quick updates and feedback loops improve customer satisfaction and user experience.

The cost advantages are clear: less manual work, fewer late-stage fixes, and better resource use. DevOps builds a culture of continuous improvement, using data to refine processes and stay competitive. This approach makes development faster, more collaborative, and more efficient while improving quality.

DevOps Engineering

Here's a glossary of key terms related to DevOps:

A

Agile

A methodology emphasising iterative development, collaboration, and customer feedback.

Example: Scrum and Kanban frameworks.

Artifact

A versioned file or set of files (e.g., binaries, libraries) generated during software builds.

Example: A compiled JAR file from a Java build.

Automated Testing

The use of tools or scripts to execute tests without human intervention.

Example: Selenium for web application testing.

B

Build Pipeline

An automated series of steps for building, testing, and deploying code.

Example: Jenkins pipeline with stages for build, test, and deploy.

Blue-Green Deployment

See Managed Cloud Services Terminology.

C

Canary Deployment

Gradually rolling out changes to a small subset of users before full deployment.

Example: Deploying a new feature to 5% of users.

CI/CD (Continuous Integration/Continuous Deployment)

Practices aimed at automating software integration, testing, and deployment.

Example: Using GitHub Actions to run tests and deploy code automatically.

Configuration as Code (CaC)

Managing system configuration through version-controlled code.

Example: Ansible playbooks to configure servers.

Containerisation

Packaging applications and dependencies into containers for consistent environments.

Example: Using Docker to containerise a Node.js app.

D

DevSecOps

Integrating security practices into DevOps workflows.

Example: Running static application security tests (SAST) during CI/CD.

Dynamic Infrastructure

Infrastructure that can scale and adapt to changing workloads automatically.

Example: Using Terraform to provision infrastructure on AWS.

G

GitOps

A DevOps practice where infrastructure and application changes are managed through Git.

Example: Deploying Kubernetes configurations from a Git repository.

I

Infrastructure as Code (IaC)

See Managed Cloud Services Terminology.

Immutable Infrastructure

Infrastructure components that are replaced rather than updated.

Example: Creating new server instances for updates instead of modifying existing ones.

K

Kubernetes (K8s)

An open-source system for automating containerised applications' deployment, scaling, and management.

Example: Using Kubernetes to manage Docker containers.

M

Microservices

An architectural style where applications are built as a collection of small, independent services.

Example: An e-commerce app with separate services for payments, inventory, and orders.

Monitoring and Observability

Tools and practices for tracking system health and diagnosing issues.

Example: Prometheus for monitoring and Grafana for observability.

P

Pipeline as Code

Managing CI/CD pipelines as version-controlled code.

Example: Defining a Jenkinsfile in a Git repository.

R

Release Management

Planning, scheduling, and controlling software releases.

Example: Coordinating feature releases during a product launch.

Rolling Deployment

Gradually replacing instances of an application with newer versions.

Example: Updating 10% of servers at a time.

S

Serverless Architecture

A cloud computing model where developers focus on code, and the provider manages servers.

Example: AWS Lambda for running functions on demand.

Site Reliability Engineering (SRE)

A discipline combining software engineering with IT operations to maintain reliable systems.

Example: Writing automation scripts to reduce system downtime.

T

Test-Driven Development (TDD)

Writing tests before coding to define expected behaviour.

Example: Using JUnit to write tests for Java applications.

V

Version Control

A system for tracking and managing changes to code.

Example: Using Git to manage project repositories.

Y

YAML (YAML Ain't Markup Language)

A human-readable format for configuration files.

Example: Writing Kubernetes deployment configurations in YAML.

2024 Adam Weston Hq Oval

Adam Weston is a Founding Director at Invessed

Streamline your operations, optimise investment strategies, and deliver exceptional client experiences. Schedule a demo today and unlock the future of wealth management.

Schedule a demo