“We could face a future characterised by a ‘spaghetti ball of interconnected microservices'”
It wasn’t so long ago that IT infrastructure comprised elements of decades-old technology, from mainframe computers to copper-based connectivity. In the last decade or so, not only has physical infrastructure transformed almost beyond recognition thanks to technologies such as fibre and the cloud, but our very concept of infrastructure has evolved.
So, what are the big trends that network managers and CIOs need to understand so they can be ready for the future?
O’Reilly spoke at length to technical experts at global enterprises and technology businesses, including Microsoft, Slack, Capital One and The New York Times, for our Infrastructure Now 2018 report, which examines the key trends that will define IT infrastructure in the years ahead.
A Tale of Two Futures
Before delving into the specifics, we should highlight two potential outcomes arising from developments in IT infrastructure. According to the experts, we face two distinct futures: in the first, technologies such as containerisation, serverless computing and “functions-as-a-service” will massively simplify IT infrastructure and free up scarce resources and talent to focus on more strategic projects.
Alternatively, we could face a future characterised by a “spaghetti ball of interconnected microservices” where each new technological advance is rendered “legacy” from the moment it hits production.
Much as this might seem a binary choice, the future of infrastructure promises, paradoxically, to feature a mix of increased complexity and standardisation. The trend toward accessibility and flexibility – not least in the rise of easily composable business applications based on containers and serverless – should make management much simpler. At the same time, however, much legacy infrastructure will remain in place for the foreseeable future.
The Talent Dilemma
The scarcity of talent was a common refrain among our respondents, with several pointing to the difficulties of acquiring and retaining skilled professionals to support ambitious projects. While relevant experience is important – especially for working on large-scale projects – interviewees stressed that a major challenge they face is finding people with the required aptitude and potential.
The Tyranny of Choice
The boom in cloud and infrastructure-as-a-service offerings can present such a bewildering array of choice that it adds a major degree of complexity to network infrastructure. The complex technological landscape, with so many vendors providing overlapping products and services, was cited by several interviewees. No one doubted cloud providers’ capability to deliver on their promises, but they also create the burden of a lot of decisions. With so many options to choose from, end user organisations are often left baffled about what mix of services will suit their business.
One of the respondents raised an interesting corollary to this point, which is that organisations need to strike the right balance between investing in centralised solutions and keeping those investments reversible. Of all the contributions to complexity in the product lifecycle, reversibility is often the only control they have. Agile development practices, continuous integration and delivery, microservices, containerisation and vendor-managed open source services (like Kubernetes) that reduce lock-in are all key technologies that add reversibility, and thus give businesses more control over their infrastructure commitments.
When asked about the biggest infrastructure challenges they faced, the respondents were united in their focus on increasing simplicity, ease-of-use and democratisation. A distinguished Microsoft engineer, for example, highlighted the need to develop APIs that are general enough to be used by anyone, yet powerful enough for developers to build reliable cloud-native infrastructures.
This is a particular pain point for startups: it was pointed out that while new technologies may be highly motivating, a team might introduce a tool as an experiment without sunsetting old code, leading to unnecessary operational complexity down the line.
Cloud vendors might abstract away much of the complexity by enabling more people to build software tools more quickly without having to worry about infrastructure – for example, through containerisation. To get a high degree of resilience, however, one needs to architect applications differently – for example, you need to tolerate servers going away at any moment for no reason.
Overall, however, the respondents were positive about developments in more easily composable business applications. These enable a savvy business user to compose a full application with data analytics and machine learning on a cloud provider without having to carve out a new developer contract for that specific application.
Vendors are making big efforts to simplify infrastructure through investment in containerisation, serverless, and other technologies – but in the short term, this is only adding to the complexity that end users face. As one interviewee noted, “infrastructure is now as dynamic as code and will only get more so.” In an increasingly complex infrastructure landscape, the challenge for vendors and service providers is how to chart a course that simplifies infrastructure as far as possible, enabling businesses to concentrate on building the systems and platforms of tomorrow.