Published on the 11/01/2018 | Written by Will Bosma
As organisations plan their IT strategies for 2018, increasing attention is being given to DevOps, writes Will Bosma…
Widely embraced by software developers for boosting IT performance, DevOps is also a rethink of IT culture. It helps organisations change the way new software is created and released, taking a path of rapid iteration over getting it right the first time. For example, rather than holding back code until a complex application is finalised, it is instead delivered in discrete components which are improved over time.
While DevOps can boost both IT’s performance and the business’ bottom line, there is an equally important ingredient required to extract maximum value from DevOps: an API strategy. With an API-led approach to connectivity, organisations can quickly turn any asset into a managed API that’s easily discoverable and consumable, ensuring efforts aren’t needlessly replicated across the business. According to MuleSoft’s 2017 Connectivity Benchmark Report, 94 percent of IT leaders said they can deliver products and services to market faster with APIs.
As organisations look to implement DevOps in 2018, a successful pairing with APIs is critical. While great alone, DevOps and APIs are better together.
DevOps is a profound shift in IT culture, a shift that demands a rethink of IT processes, technology and the way people work. Many start the journey by selecting technology that helps development teams remove waste and inefficiency from their software development lifecycle. A common first step is to establish continuous integration processes, taking advantage of tools like Maven and GitHub to automate repeatable aspects of the SDLC. The next step is to produce software artifacts efficiently, creating a complete pipeline that takes code from concept to production in a repeatable and secure fashion.
However, code produced via this pipeline will not necessarily provide maximum business value unless it’s given full visibility to the rest of the organisation. DevOps can only take the code production machine so far. In order to scale securely, IT needs to shift its thinking to an operating model focused on the production as well as the consumption of assets. This new model allows teams to produce reusable assets in a manner visible to central IT, who then can enable the consumption of those assets by making them discoverable through APIs for self service.
Additionally, processes and technology are nothing if teams don’t adopt them and think about them in the right way. If organisations are not embracing agile delivery and thinking about test-driven development, then trying to implement DevOps will not be successful. When done right, DevOps can increase speed to market by allowing organisations to get new products out the door quickly without sacrificing quality.
The importance of APIs
APIs provide a secure approach for connecting and exposing assets. Therefore, when tasked with building a new application or asset, a team can leverage these reusable components, eliminating a great deal of time and resources needed to start every project from scratch. Furthermore, it also makes it much easier to join other value chains by exposing these capabilities to partners, third parties and other consumers.
DevOps pioneer Spotify, for example, uses reusable APIs to support rapid business growth across 60 countries. Because it was so easy for the company to produce and deploy assets under its DevOps model, there were often duplicates of applications created by multiple departments and those applications existed in silos. In order to open up the business more and support rapid customer acquisition, Spotify built an application network to improve information sharing across the business, as well as to securely expose out assets to third parties and partners. As a result, Spotify is creating faster time-to-market for numerous business functions.
For companies looking to strengthen their DevOps environment with APIs, below are five main considerations to get started:
Build automation: As teams build new applications, recipes should be created that allow the application to be reassembled correctly each time it’s taken apart for changes and updates. Applications often contain multiple connectors, file systems, artifacts, databases and even tests. Each in turn have specific configurations, so using built-in and supported automation tools like Maven can streamline delivery and eliminate errors.
Test automation: Most developers wait until their code is complete to author tests. Instead, developers should author tests before writing a single line of code using mock data. As a result, code can be shifted from development to deployment much more rapidly.
Version control: Effective version control allows developers to commit code across a disparate set of teams, driving parallel development and offering instant visibility into changes that are not compatible with what others have been doing. Version control is best managed using systems such as GitHub and SVN.
Deployment automation: As with creating a recipe for how an application is built, a recipe for how applications are deployed should also be created. The recipe should help determine which environments the applications should be deployed to, how they are promoted across environments (e.g., dev, QA, security, production), how the configurations change by environment and how software can be blocked from being deployed if it fails critical tests. A popular solution used to deliver this aspect of the pipeline is Jenkins.
Reuse: Finally, great DevOps practices focus on one additional element: reuse. With an API-led connectivity approach, teams can ensure that as an asset moves through the pipeline others are aware of it, can securely access it and know how to effectively use it.
DevOps can help companies increase reliability and minimise disruption, helping them move faster and adjust to change with greater ease. Yet, it’s an approach that needs to be undertaken with a holistic understanding of how technology, processes and teams work together. Following a combined DevOps and API-led approach to connectivity can ensure this goal is achieved.
Will Bosma is vice president APAC at MuleSoft.