The digital world runs on applications
Modern business relies on applications. In fact, 62% of organizations say applications are essential for their business, and a further 36% say applications provide a competitive advantage.2 Fast, reliable application development is critical for success in a digital world. Continuous integration/continuous deployment (CI/CD) approaches can help you rapidly build, test, and deliver high-quality applications.
CI/CD applies automation throughout the application life cycle—from the integration and testing phases to delivery and deployment—to quickly produce tested, verified applications. It incorporates two different but related functions:
- Continuous integration (CI) helps developers rapidly verify functionality and merge their code changes back to a shared branch more frequently. Merged code changes are validated by automatically building the application and running different levels of automated testing—typically unit and integration tests—to ensure the changes work. If testing discovers a conflict between new and existing code, CI makes it easier and faster to fix those bugs.
- Continuous deployment (CD) automates the process of releasing an application to production. There are few manual gates in the development pipeline stage just before production, so CD relies heavily on well-designed test automation. As a result, a developer’s change to a cloud application could go live within minutes of writing it if it passes all automated tests. CD makes it much easier to continuously receive and incorporate user feedback.
Together, CI and CD practices allow you to release changes to applications in smaller pieces, making application deployment more reliable. You can apply CI/CD to many components and assets within your organization, including applications, platforms, infrastructure, networking, and automation code.
Automation is at the core of CI/CD pipelines
By definition, CI/CD pipelines require automation. While it is possible to manually execute each step in your development workflow, automation maximizes the value of your CI/CD pipeline. It ensures consistency across development, test, and production environments and processes, allowing you to build more reliable pipelines. Even so, the automation technology you choose can affect the effectiveness of your pipeline. Ideal automation technologies include these key features and capabilities:
- Unified automation platforms promote consistency and let you standardize automated processes and content across development, test, and production environments.
- Easy, straightforward operations allow more team members to participate and contribute.
- Overall simplicity promotes greater adoption of automation throughout your organization.
- Integration with other tools and products allow you to more easily automate a broader range of tasks and components.
- Platform scalability allows you to simply expand the capacity of your pipeline as adoption grows.
Automate your CI/CD pipeline with Red Hat Ansible Automation Platform
Red Hat® Ansible® Automation Platform is a foundation for building and operating automation across an organization. The platform includes all the tools needed to implement enterprise-wide automation, including CI/CD pipelines. It combines a simple, easy-to-read automation language with a trusted, composable execution environment and security-focused sharing and collaboration capabilities. Programming skills are not required, so roles across your organization can readily use Red Hat Ansible Automation Platform.
An open foundation allows you to connect almost everything in your IT environment—from servers, networking, storage, and operating systems to applications, security processes, and management tools—into complete, automated workflows. Using a common language and desired-state approach, you can use the same automation tools and content for both everyday operations as well as your CI/CD pipeline. And because Red Hat Ansible Automation Platform works with nearly all aspects of your IT infrastructure, you can more easily and quickly deploy consistent development, test, and production environments, increasing the reliability and resiliency of your applications.
Red Hat Ansible Automation Platform subscriptions include access to certified Content Collections and Automation Hub for added value. Content Collections streamline the management, distribution, and consumption of automation content. They also provide tested, verified, supported automation code from Red Hat and Red Hat Certified Partners. Automation Hub supplies a centralized repository for certified automation content, including Content Collections. It gives team members a more secure portal to Content Collections, as well as a private network for internal and third-party automation content.
Automated CI/CD use cases
You can use Red Hat Ansible Automation Platform throughout your CI/CD pipeline and organization.
Use case 1: Provisioning
Infrastructure provisioning is the first step in automating the operational life cycles of your applications. Red Hat Ansible Automation Platform can provision popular cloud platforms, virtualized hosts and hypervisors, network devices, and bare-metal servers. After bootstrapping, you can connect nodes to storage, add them to a load balancer, apply security patches, or perform many other operational tasks.
You can continue to use Red Hat Ansible Automation Platform throughout the rest of the application life cycle.
Use case 2: Configuration management
Configuration management is essential for maintaining consistency, efficiency, and security within your environment. Red Hat Ansible Automation Platform allows you to manage your infrastructure by defining sets of desired-state descriptions. No matter what state a system is in, Red Hat Ansible Automation Platform understands how to transform it to the desired state, allowing you to reliably and repeatably configure your IT infrastructure.
Configuration management tip
Red Hat Ansible Automation Platform gives you more simplicity for managing complex environments. Consistent, secure, and reliable, it provides an easy learning curve for administrators, developers, and IT managers.
Use case 3: Application deployment
Applications must be properly configured and deployed to be useful. Red Hat Ansible Automation Platform allows you to deploy multitier applications reliably, consistently, and simply. Using one common system, you can configure needed applications services and push application artifacts.
Application deployment tip
Using Ansible’s human-readable language and desired-state descriptions, even new team members can understand and contribute to deployment automation.
Use case 4: Continuous deployment
A subset of application deployment, continuous deployment pipelines help you release new software features and updates more frequently to support modern business demands. Red Hat Ansible Automation Platform provides the multitier, multistep application orchestration needed for fast, reliable deployment of new features, bug fixes, and code changes, while reducing the need for human intervention throughout the release process.
Continuous deployment tip
Red Hat Ansible Automation Platform lets you define and order plays that target and assign tasks or roles to specific groups of hosts.
Use case 5: Security automation
Protecting your organization is a critical—but frequently daunting—task. Red Hat Ansible Automation Platform serves as an integration layer between your security teams, tools, and processes to streamline security operations, increase security at scale, and reduce the risk and costs of breaches. Using a supported set of security-focused content collections, you can automate and integrate different security solutions to investigate and respond to threats across your organization in a coordinated, unified way.
Security automation tip
A common framework and language lets security and IT teams share designs, processes, and ideas more easily both internally and across your organization.
Use case 6: Orchestration
Complex, disparate environments can be difficult, if not impossible, to effectively manage manually. Red Hat Ansible Automation Platform allows you to simply, reliably, and repeatedly orchestrate all aspects of complicated IT environments, including clustered applications, geographically dispersed datacenters, network devices, cloud resources, and databases. Using a clear syntax and task-based approach, you can define, arrange, and reuse automated orchestration functions.
You can also orchestrate other domain-specific orchestration tools using Red Hat Ansible Automation Platform through Content Collections.
Use case 7: GitOps
GitOps workflows can increase development productivity and deployment speed by using Git as a centralized repository for declarative infrastructure and application deployments. Red Hat Ansible Automation Platform provides the desired-state engine needed for GitOps. It also integrates with Kubernetes to allow you to manage applications in containers as well as on existing IT infrastructure, including networking and cloud services. Ansible automation webhooks allow you to receive events from your source control system and use them to automatically trigger automation. This eliminates the need for additional tools to monitor repositories and launch automation jobs when changes occur, simplifying your GitOps workflow and streamlining operations. Because Red Hat Ansible Automation Platform works with a wide variety of development and deployment tools, you can tailor your GitOps workflow with your preferred tools and processes.
Red Hat Ansible Automation Platform lets you automate and orchestrate applications across both existing and new platforms, so you can transition to cloudnative and Kubernetes-based technologies using your current skills and tools.
Prepare your CI/CD pipeline for future change
Red Hat Ansible Automation Platform prepares you to adapt to future technology advances and trends, including popular and emerging CI/CD tools like AzureDevOps, GitHub Actions, UrbanCode, TeamCity, and ServiceNow. For example, many companies are adopting cloud-native Kubernetes environments to gain more flexibility, speed, and innovation. Red Hat Ansible Automation Platform integrates with Red Hat Advanced Cluster Management for Kubernetes to allow you to orchestrate Kubernetes clusters within your CI/CD pipeline. You can also use the human-readable automation language to more easily build and maintain Red Hat OpenShift® operators.
Red Hat Ansible Automation Platform gives you the tools and capabilities needed to build and integrate effective CI/CD pipelines and automate across your organization. With an easy-to-read automation language, cross-component interoperability, and security-focused collaboration tools, you can speed application development and deployment.
Learn more at ansible.com/use-cases.
A commissioned study conducted by Forrester Consulting on behalf of Red Hat. “Enterprise Open Source Automation Drives Innovation,” July 2020.
F5 Networks. “2020 State of Application Services Report,” 2020.