Three Strategic Considerations for Choosing a CD Platform
Choosing a platform for continuous delivery is not simple. We will discuss three major things that one must keep in mind before implementing a CD platform.
Join the DZone community and get the full member experience.Join For Free
Every company is trying to deliver software faster. The most important decision for setting up the organization for success is the CD platform. Sometimes the shiny object is not the right solution.
Responding quickly to customer needs is the new key to long-term success for many companies. Since software applications are now central to so many customer interactions, speed in delivering software is a key IT competency. That is why continuous delivery is gaining such a broad following now.
Choosing a platform for continuous delivery (CD) is not simple. The number of integrations required, the process change that CD causes, and the impact of a poor choice all demand thoughtful consideration of all the factors involved in a good decision.
Engineering and IT architects, managers, and leaders have to grapple with requirements and tradeoffs as they make decisions on which Continuous Delivery Platform to choose. Rather than focus on features or technical approaches, this blog highlights 3 strategic dimensions companies leaders should consider in their CD selection process.
1. Extensibility–Ensuring the Capability To Meet Future Needs
Initial deployment of CD platforms can provide a complete solution for your initial applications or targets. However, fast-growing companies and large organizations need the ability to extend their CD tool. Teams need to accommodate new scenarios that arise as more services are added to the CD process, more DevOps tools are added to your toolchain, and more corner cases appear in your environments. These extensions may happen weekly, monthly, or even a year from now, but they will happen.
When the situation comes, a change to the CD platform is simply a requirement; without the change, that service is not able to be deployed with the required speed. With a proprietary solution, your wait time is probably long. You need to request an update from the vendor, hope that your standing is high enough to generate attention, convince other customers to lobby for the feature with you, or compete with other customers for the vendor’s limited bandwidth. Finally, if the change request is accepted, you must wait until a request is implemented, tested, and delivered.
On the other hand, Spinnaker enables you to accommodate extensions quickly.
- Spinnaker has extensibility built-in. At its core, Spinnaker provides extensibility that allows us to bypass the traditional challenges associated with adaptability and change. You can leverage the extensible framework of Spinnaker to deliver new integrations without having to wait for a corresponding software release from a proprietary software vendor. For example, you can add integrations to new or legacy tools in the CI/CD tool change that might be implemented or acquired after the CD platform has been deployed.
- Spinnaker provides flexibility to be able to work with:
- Both traditional and modern applications (monoliths, microservices, and hybrid)
- Extensible pipelines
- Extensible stages without needing code changes
- Custom deployment strategies
- Because Spinnaker is open source and the Spinnaker community is large and vibrant, you are able to work with other companies or on your own to implement the change and add it to Spinnaker.
- For example, someone can easily implement a new scenario by constructing a pipeline to fetch a version/package list from a repository like Artifactory/Git, allowing the user to select/search from the list and deploy to one or more targets.
Additionally, every software product gets defects from time to time. If a proprietary product has a bug that is significant for you, you are again forced to work with the software vendor to prioritize and resolve the issue. With Spinnaker, you are able to make the updates yourself until the change is implemented in the main branch of Spinnaker. This can be a lifesaver when the problem you’ve encountered is important to you but not necessarily too many other organizations.
2. Cost & Risk Mitigation
Cost: Although up-front cost is not an immediate concern for most organizations, it does tend to become a concern at scale and over time.
Customers who have moved away from proprietary solutions to Spinnaker have told us that proprietary solutions tend to be 300% more expensive, and costs are unpredictable in the long-term, as unforeseen charges arise.
Risk Mitigation: Risk mitigation is a top priority for many companies because so many things can go wrong.
3. Culture Fit: The Key To Innovation
Several leaders have told me that they consider the culture of a team to be a big factor in the innovation and scalability of their business. I do agree with them that culture influences direction and success for the team.
Teams that actively embrace open source solutions tend to have higher flexibility, a more collaborative, and a general willingness to do “whatever it takes” to get the job done. We’ve seen that teams with DevOps cultures or with cultures focused on best-in-class toolchains tend to prefer OpsMx and Spinnaker due to their ability to be extensible and flexible, thus minimizing friction to innovation.
Community is another important aspect of the CD culture. The Spinnaker community is growing and has more than 10,000 people actively working to innovate in Continuous Delivery. Of course, breakthroughs can come from anywhere, and having 10,000 people working on a project provides a much higher chance of delivering new features, or of finding help when you need to solve a pressing question on the platform.
The Spinnaker Community provides access to best practices from other companies that are facing similar issues. It does not rely on a single vendor being the arbitrator of the best practices or features. Companies like Google, Netflix, and OpsMx are among the top three leading contributors to the Spinnaker open-source project. These companies routinely bring the best practices to help subscribers optimize and support their implementation.
Published at DZone with permission of Gopal Dommety. See the original article here.
Opinions expressed by DZone contributors are their own.