Every enterprise recognises the need to change the way they work in order to deal with today’s hypercompetitive business environment. While a DevOps model increases reliability and minimises disruption, with the added side benefit of increasing speed, relying on DevOps alone isn’t enough. It must be balanced with an API strategy for businesses to get the most out of digitisation.
Going cloud native
Innovation has shaped consumer expectations and ultimately APIs are the building blocks in which new consumer experiences are built. As demands and expectations rise and the desire for immediate access to products and services – at any time from anywhere – entire industries are being disrupted.
Adopting a cloud-native approach is crucial in today’s digital age and provides many benefits, from minimising the impact of downtime to increased security and distributed risk, which result in the best possible service and the ability for organisations innovate and adapt quickly.
As a result, cloud APIs are growing in importance, especially in sectors such as banking and retail. Large traditional banks and retailers are facing increasing pressure to innovate, as challenger banks and online-only retailers increasingly offer consumers a trusted experience that fits with modern lifestyles.
To compete with this level of service, competitors need to be agile, launching new services in record timeframes. Many are turning to innovative IT solutions and development methods such as microservices, Kubernetes, GraphQL and agile development. These are sold as if they’re essential to success but must be approached in the right way.
The rise of Kubernetes
Kubernetes is officially an open-source container orchestration platform. In simpler terms, it enables you to treat a swathe of servers as a single massive server, running software on it in the form of containers. Ultimately, it helps to lower the cost of cloud computing expenses and simplifies operations and architecture.
The idea is to allow teams to focus on running production software instead of worrying about the “Ops” of that stack, especially as server applications get bigger.
Kubernetes, while highly complex, allows easier integration of information from other systems, and is ideal for projects that need to “lift and shift” between cloud vendors, run across multiple vendors or be cloud agnostic completely. Finally, services can be independently scaled according to demand, instead of having to scale the whole application to another VM, helping to drive cost savings.
These patterns all build to microservices, and Kubernetes is excellent at helping teams adopt it.
Moving towards Infrastructure as Code and GitOps
The concept of autonomy goes hand-in-hand with the adoption of Kubernetes and Microservices (and the team structure around that). This means looking at how teams deliver their software in the way they see fit, to manage speed-to-market, and adopt “Infrastructure as Code” practices. Infrastructure as Code (IaC) treats infrastructure like software, helping to decrease costs, reduce risks and allow for faster deployments.
IaC means that much of the stack can be strictly defined as testable, version-controlled, code. More importantly these patterns remove human error when rapidly iterating and pushing to production, as well as clear visibility over change control.
The latest evolution of IaC is GitOps, which is key for continuous delivery. Git is used as a source of truth for both declarative infrastructure and applications. Automated delivery pipelines roll out changes to infrastructure when changes are made to Git. This essentially drives the DevOps pipeline through a version control system and its related hooks. It’s a very specific evolution of the IAC movement, and will be a key area of focus for where the DevOps “skill” is moving to.
API Management vendors need to understand that their API management platform needs to work hand in hand with this ops pattern, since software delivery, and API delivery are often the same thing in the modern cloud-native enterprise application.
The pros and cons of microservices
Microservices are becoming incredibly popular, but does it live up to the hype? Microservices can be a godsend for big banks managing huge portfolios, or for Netflix ensuring short load times on any device in any country. These new development approaches are designed to benefit applications and use cases that span a huge number of functions.
However, some companies take it to the extreme where each service has its own mini-team of engineer, product lead, and QA. Imagine a relatively large API, like Twitter or Facebook, and then a team of three people for each endpoint you expose. Organisations need to think: Am I a Facebook? Am I solving problems at that scale? If it’s close, then microservices an awesome way to better organise software and teams. However, as with everything, microservices also brings in a lot of complexity, not only is there Kubernetes to consider, but actually managing the delivery, monitoring, security and management of those services.
There is a trade-off, and it needs to be considered carefully.
As more organisations move away from the monolithic approach, due to the building of applications becoming larger and more complex, will microservices be the answer?
For many, these methods add expense and complexity that simply isn’t justified. Businesses can’t let architecture be defined by the software they buy, it needs to be the other way around. Instead, companies must be guided by their long-term strategic vision by building a list of the right tools for the job.
Digitising legacy infrastructure
There’s no denying that legacy system challenges can hold organisations back from using digital technologies to innovate or improve IT efficiencies. However, APIs hold the key to legacy modernisation and can help solve legacy system dilemmas. APIs expose data in a way that protects the integrity of legacy systems and enables secure and governed success to the underlying data.
In 2020 more business leaders will look to address these challenges – and a strategic cloud-native approach will be key. While Kubernetes and microservices, will absolutely play a role in this for some organisations. It’s crucial that businesses understand the pros and cons of these approaches and adopt a method that is right for them.
Written by Martin Buhr, CEO and Founder at Tyk