What should you look for if you want to architect an enterprise-scalable continuous delivery solution?
One of the main things you need to do is have automation processes that can be templatized. This means creating automation in such a way that many teams can consume them while still being consistent.
It’s also important to have a standard place to store and manage our deployable assets or artifacts. Many enterprise-level continuous delivery tools will have their own artifact management system built in, so that’s something to consider when looking for a solution.
Make your life easier by replacing automation scripts with plugins or automations. When you do this, you will no longer have to be responsible for maintaining the scripts and how these deployments work. You’ll be able to rely on the plugin vendor for the upgrades and enhancements of these plugins, which means you don’t have to keep up with every new version of all the tools that you’re integrating with.
Make sure you coordinate deployments across tiers. Some applications can have upward of 50 components, so having orchestration among them is very important.
When selecting a deployment tool, think about the types of deployment you’ll want to handle – each of these requires extra coordination. If you’re just using open source tooling, you’ll have to script that coordination yourself, which can often be fragile and difficult to do.
Don’t forget about security and take into consideration role-based access control. Ensure that the person who requests the approval isn’t the one who is doing the approval.
Lastly, make sure your continuous delivery system is audit-friendly. A good continuous delivery solution should be able to help you with the who/what/when/where/how of deployment automation so you can trace changes from code all the way to production knowing exactly what servers were updated, what versions of those deployable assets were put out there on the target servers, and who did it.
Watch this video to get more advice on setting up continuous delivery for the enterprise.