Published on the 30/06/2017 | Written by Brad Drysdale
When it comes to developing software to create innovative experiences for customers, organisations can choose one of two paths, contends Brad Drysdale...
The first path prioritises stability and requires any new offering to be totally complete before launch. The second is an iterative approach where code is released and then rapidly improved over time.
Increasingly, it’s this second path that’s delivering the biggest advantages. By embracing DevOps in pair with APIs, organisations can be more proactive and responsive to customer demands. They can increase speed to market without sacrificing quality. And some see it as a way to respond quickly to changing market conditions.
Unfortunately, however, the concept of DevOps can seem unnatural to organisations that don’t have a culture of rapid development and automation. They may fear the potential problems that could be caused by releasing new code or applications before they are 100 percent ready.
Yet, there is a way for even the most conservative organisations to reap benefits from the approach. It comes down to tackling the challenge in the right way and being equipped with the right tools for the job.
Many organisations begin their DevOps journey by selecting technology that helps development teams reduce waste and inefficiency in their software development processes. One common first step is to establish continuous integration processes, taking advantage of tools like Maven and GitHub to automate repeatable steps.
The second step is to produce and deploy software artefacts by creating a complete pipeline that takes code from concept to production in a repeatable and secure fashion. Building this pipeline, which is a blend of technology and quality assurance processes, is the goal of most DevOps practices.
Beware the silos
The ability that DevOps provides to generate and release code and apps quickly can be revolutionary, but it also requires an increase in internal communication.
While teams can respond rapidly to changing requirements by creating, testing and releasing new software, they may not communicate their work to the wider organisation. As a result, other groups who could make use of the code may miss out, or end up generating similar work themselves.
In order to scale and, more importantly, scale in a sustainable and secure way, IT teams need to shift their thinking to a model predicated on both consumption and reuse. This reuse will remove the likelihood of development silos being created and ensure that good work is not replicated for no additional business benefit. In this way, the DevOps strategy provides assets that can be reused via APIs and changed with ease depending on how they need to be used.
The path to DevOps
To reap the benefits of a combined DevOps and API strategy, address these five crucial points:
- Build automation: As new applications are developed, effort should be made to ensure they can be reassembled correctly each time they need to be changed or updated. Applications often contain multiple connectors, multiple file systems, artefacts and databases. Each of these elements has specific configurations, which means using the correct tools to automate changes can speed up delivery and eliminate human errors.
- Test automation: Many developers wait until their code is complete before undertaking testing. In DevOps, this task can also be automated and conducted throughout the development process. As a result, code can be shifted from development to deployment much more rapidly.
- Version control: This is important to underpin development across multiple teams. Coding may be happening in parallel so it is important to be able to get visibility into changes that are not compatible with what others might have been doing.
- Deployment automation: Just as the build process should be automated, so too should the deployment phase. Using the right tools, IT teams can ensure new versions of their code can be distributed to all users as soon as it has been built and tested, without the need for manual processes or human intervention.
- Reuse: To ensure maximum value is obtained from all code created, steps need to be in place to promote reuse whenever possible. Mechanisms should be developed that make others in the organisation aware of what is available and how, via APIs, they can make use of it.
DevOps and APIs – better together
To create a DevOps environment that encourages reuse of code, increasing numbers of organisations are adopting what’s called API-led connectivity. This approach provides the answer to producing reusable assets and enabling their consumption to boost innovation.
API-led connectivity is an effective way to connect and expose assets. Under this strategy, every asset becomes a managed API, thereby making it discoverable through self-service without losing any control.
DevOps makes it much easier for organisations to create and release new software. API-led connectivity allows that software to be put to the most effective use, and thereby delivering maximum value.
DevOps alone is a powerful force. However, when combined with the power of APIs, its impact is magnified.
Brad Drysdale is client architect, office of the CTO, APAC, MuleSoft