At Oracle Cloud Infrastructure (OCI), we want to make it easier for developers to build, test, deliver, and deploy software to our platforms. In a developer survey from September 2020, we found that 68% of our customers have established tooling for automated builds, tests, and delivery for Continuous Integration, but they lack an automated way to release updates to OCI platforms. With our recent contributions and support for the Spinnaker project, customers now have a way to automate their deployments to Oracle Cloud with an extensible, multicloud pipeline to build confidence in their software release process.
Spinnaker is an open source project that was contributed to the CD Foundation by Netflix and came from Netflix solving their need for a platform to automate and manage multicloud deployments. With Spinnaker, developers can automate their release process with more confidence by building in release strategies and automated rollbacks if the new version has bugs. Developers use Spinnaker's pipelines to automate their release process.
Sandeep Shrivastava recently posted on how to get Spinnaker running for deployments to OCI. We announced the following innovations:
We started an OCI SIG in the Spinnaker open source project for us to share our roadmap and gather feedback.
We contributed to the v1.23 release, enabling Oracle Cloud driver for customers to release to OCI virtual machine (VM) server groups in their Spinnaker pipelines.
We updated our Spinnaker Cloud driver with OCI enhancements, including support for regional load balancers in this latest Spinnaker version and storing Spinnaker configs in Oracle Object Storage.
Supporting the Spinnaker open source project support is part of our belief that OCI gives our customers a choice to use the tools that best meet their software development lifecycle needs.
If you’re like most development teams, you’re already automating continuous integration continuous delivery (CI/CD) in your software delivery lifecycle. The D in CD can mean either delivery or deployment, depending on your unique CI/CD requirements. Delivery means moving the artifact built in CI to a repository. Deployment means moving the artifact from the repository to a platform that hosts the software.
Release is the last mile in your software development pipeline: the process, requirements, tests, and validations to move traffic to the latest version of your software. The release is the process to validate a deployment, and increase confidence in that new version of your release, as you promote it to production.
You might have a release strategy that your team uses to validate your software’s new version before sending production traffic to your new version. The following process might work for your team to promote a new release through environments:
Spinnaker brings automation to the release process in your software development lifecycle with support for Blue/Green, Highlander, and Canary release strategies for VM server groups and Kubernetes.
A release platform, like Spinnaker, enables developers to standardize and enforce a release process to build confidence in the latest version of your software. The combination of Spinnaker and OCI makes it easier for developers to release their software, as shown in our example pipeline. This pipeline has stages to simultaneously release artifacts to both a group of VMs (server group) and OCI’s managed Kubernetes platform: OKE.
With Spinnaker, you use server groups to represent the environments that they release software to.
If you’re evaluating tools to help bring confidence to your release process, check out Spinnaker on Oracle Cloud Infrastructure and other solutions on the Oracle Cloud Customers page. Eventually, we might have the confidence to release to production on Fridays!