Today Acquia is pleased to announce the release of Acquia Cloud CD.
Acquia Cloud CD is a new service for development process and devops automation which makes life easier for teams working on the Acquia Cloud Platform. It's an evolution of our developer tools which we believe will help to accelerate code delivery and make life easier and more productive for teams.
What is Continuous Delivery?
If you've read my previous blog post, you'll recall I talked about the benefits of making small, frequent releases.
Smaller releases carry less risk, and by getting new features in front of your customers sooner you can take their feedback and pivot your development priorities accordingly. A regular cadence of releases makes it easier to predict when promised new features will be available, meeting your release date commitments.
In effect, you cut down the time spent deploying and move that effort to development. An ideal CD process would see releases several times a day - but clearly you should find a cadence that works for you.
Releasing so often, even if each release is small in scope, clearly opens you up to more risks of things breaking with each release. Manual testing becomes a bottleneck. To enable CD to work, you need some integration and delivery automation tools to help you:
- Something to orchestrate the building of your codebase regularly, ensuring builds are always working and predictable.
- Something to test features in production-like environments as they are developed.
Testing should encompass both automated testing, and human QA with self-service provisioning and deprovisioning of production-like environments.
The trouble with build tools
Implementing build tools is, in programmer parlance, non-trivial. Build tools are complex systems in their own right, and need to be integrated with your existing toolsets and workflows.
There are challenges in implementing these processes within a digital team:
- Identifying, installing, configuring, and managing a suite of build & test [B&T] tools
- Integrating testing tools with your existing dev/test/production workflow
- Orchestrating production-like environments to test on realistic configurations
- Managing access and security
On top of all this, you need to secure budget for testing infrastructure and then convince your Project Manager that spending the time on getting it all going is worth it.
Often, the headroom of just getting started is overwhelming, and project priorities mean that CD processes are discarded under the pressure of getting the next release out.
So today, we are launching Acquia Cloud CD.
Acquia Cloud CD Environments
CD environments are fully featured, production-like Acquia Cloud environments, provisioned on-demand, which stick around until you delete them. They are multi-tier, support Log Streaming, custom DNS, and all the other features of a pre-prod Acquia environment.
CDEs are container backed, and spin up in 60s or less. Once a CDE is live, you can push code, databases, and files to it just like any other environment in the Acquia stack.
CDEs can be created via the Cloud UI, CDE API, or by CD pipelines - either manually, or with Github integration.
CDEs are great for human-driven testing, like QA.
Acquia Cloud CD Pipelines
CD pipelines are short-lived environments that live for the length of a build and test cycle. If a build is successful and tests pass, CD pipelines deploys the resulting codebase to either a CDE or traditional environment. When a Pipelines job is started, a yaml file is read, and a set of instructions followed. Pipelines can build a codebase, run tests, perform deploy steps, and anything else you might normally achieve with shell scripts, Jenkins, or other tools.
A CD pipelines container has a bunch of convenient tools, which makes building and testing Drupal easier. MySQL, composer, Ruby, Drush, ssh, and lots of other things are set up and ready to go.
You can then define any build of test instructions as appropriate, all while being assured of tight integration with Acquia Cloud and the backing of Acquia's Support, Operations, Security, and Customer Success teams.
CD pipelines takes care of making sure that code is in a predictable state before it hits manual testing.
Acquia Cloud CD Github Integration
While CD pipelines jobs can be started manually via the UI or a command line client, Acquia has also implemented Github integration. Pipelines jobs can be started in response to a push of new files, creation of a new branch, or a Pull Request [PR].
If you're already using a PR workflow, CD pipelines can slot right into your process and provide integrated test coverage.
Github integration is ready today. Bitbucket and other systems are coming soon.
Together, these tools reduce the effort in achieving Continuous Delivery for Drupal applications significantly. Used to their potential, you'll have higher quality, more predictable code, fewer bugs, and increased velocity.
We'd love for you to dig in in more detail, so check out the docs, and get in touch today.