2019 will be the year of moving beyond the hype cycles and
figuring out what's real, of looking under the hood and tuning for critical
usage, of sifting through the immature to find the robust.
1. AI for
Infrastructure and Systems: Successful usage of AI has primarily been limited to Image,
Graphics, and Natural Language Processing use cases, with usage in
infrastructure and systems being relegated to straightforward statistical
inference in proof-of-concept or lab scenarios, producing results which are no
better than simple heuristics.
Over the course of 2018, a few critical changes
have occurred, primarily in the ubiquitous availability of AI toolchains - both
on-premises and in the cloud via pipelines such as Kubeflow or MLflow and the
democratization of libraries and language bindings to support these
tools.
This wide availability is prompting systems and
infrastructure engineers to experiment a lot more easily, without the worry of
private data leakage, and we predict that this ecosystem will enable exciting
new use cases for AI in infrastructure design, deployment, and operations.
An MIT Review study looking at more than 16,000
papers on AI over the past 15 years is already pointing at a trend towards more
use cases and less basic research in AI in academia.
2. Cloud-Enterprise Confluence: A few years ago,
the predominant mantra of the cloud companies was to make it easier to
move every workload to the cloud. The agility, the removal of
operational burden, and the promise of scalable cloud native architectures were
the carrots that were widely thrown around and logically and easily accepted.
Over the last few years, as valuable workloads
attempted to migrate to the cloud, it became apparent that it wasn't a binary
situation and there were some workloads, and critically, some data, that needed
to be local. The race to bridge this gap has two sets of players approaching it
from different directions.
The infrastructure vendors have latched on to
Kubernetes as the normalization layer between on-premises and the cloud (with K8s
being supported by virtually every major cloud provider) and are driving the
adoption of hardware + software stacks with K8s deep into the enterprise. The
movement of all enterprise software towards a cloud native (container-based)
architecture is accelerating this adoption.
The cloud providers, for their part, have
acknowledged the data and workload locality problem, and are betting that playing
big in the on-premises market is the key to winning. The cloud providers are
therefore entering the traditional enterprise on-premises infrastructure
market, with a business model that is completely at odds with what they have
been used to.
The equilibrium, as always, is something in between.
Over the course of 2019-2020, we will see both cloud providers and
infrastructure vendors partner even more tightly to provide well-integrated
platforms with clear go-to-market responsibility separation to enable
engineering and sales as well as support scalability.
3. Better Build vs.
Buy Decisions: Over the past couple of years, enterprises and service providers have
slowly begun to realize the value of funneling their development resources
towards applications that directly provide business value and outcomes.
For a while, there was a desire to build and
support everything from the ground up. From the infrastructure software
(sometimes including a desire to build the hardware), to management and
orchestration, to infra operational scaffolding and standing up SRE-like teams,
to business apps and operations.
You couldn't blame them. The lack of a
production-worthy infrastructure software stack, the inflexibility of vendors
in simplifying their systems, and the lack of a unified vision on what a
scalable infrastructure looks like predictably drove this behavior.
As these enterprises and service providers
progressed on their journey, they realized that the skill sets required for
building and supporting this mode of operation was in short supply and wouldn't
allow anyone to scale. While these enterprises and service providers struggled
with technologies, skill sets, and organizational realignments, the cloud (IaaS
and SaaS) providers accelerated their feature and function offerings that
provided even more business value.
A significant percentage of enterprises and SPs
have now settled on the notion this isn't where they should focus their
resources as it doesn't translate quickly to business revenue. The
infrastructure vendors, on the other hand, have realized the need to be flexible
about their hardware, software, and sales models. They are adopting and
supporting open source more readily and, open source software itself, is
becoming operationally more mature. All of this is leading to a clearer
demarcation between where infrastructure vendors provide generalized value and
where the enterprise or service provider needs to step in to provide business-specific
value.
Over the course of 2019-2021, we will see these
customers reach out to infrastructure vendors and develop a deeper partnership
in solving their problems - ranging from co-development to end-to-end managed
products and services.
4. The Action is at the Edge: For the longest
time, there was a feeling that Edge Computing was the proverbial hammer looking
for a nail. There was, of course, the need for a global cache presence for
content providers, and there was always the question of the correct degree of
availability for any workload and the number of geo-local regions needed to
enable that availability metric. And then came the issues of GDPR and data sovereignty.
But none of these use cases truly required hyper-local
edge compute locations as the latency needs weren't strict enough. A few
locations per country (in the case of European and most Asian countries) and a
few per time zone (in larger countries like the U.S.) would suffice for most
people and, at that point, we would blur the line between a data center and a
hyper-local edge compute pod.
As an industry, we dabbled with the notion of
offloading network or other functions into edge compute locations and sometimes
even explore the possibility of "build it and they will come."
With the genesis of streaming gaming - not just
the mobile version, but the transformation and the pending re-architecting of
heavy-client games (think Grand Theft Auto on Xbox) into a streaming version - suddenly
the Edge Compute paradigm has a golden use case, along with strict latency requirements.
The dawn of true, heavy-traffic AR is also a
couple of years away and would need the latency guarantees of an Edge Compute
location.
The Internet needs to get ready for streaming
gaming and AR, as they will become the poster children for the acceleration of
hyper-local Edge Compute buildouts, and we need to start now.
5. Serverless is Now -
But not Now: All engineers and technologists know that Serverless is the
way to build your applications. All application developers are clamoring for a
serverless-only world.
The desire to ignore the idiosyncrasies of
setting up and operating a global scale, highly available infrastructure is
every application developers dream state. It should just work and let them
focus on the applications that generate revenue.
In an ideal world, we would enable a serverless
ecosystem globally today and move every app developer to it. In this ideal
world, all enterprise applications would have been re-architected to be
serverless. In this world, all infrastructure would be easily scalable,
declaratively managed, well instrumented, and globally operated with five 9s of
availability. There would be a common service mesh across all service providers
and on-premises deployments, and a well-standardized set of APIs for all commonly
used functions.
This ideal world does not exist - but we need it
now. Unfortunately, it won't arrive and be practical in 2019. We will continue
to push the architectures, code, and partnerships to make it happen, but it
will take us a few more years to see the light at the end of the tunnel.
There is quite a lot of work
to be done by the community and the industry, but this is also the best technology
environment that users, developers, operators, and providers have ever seen.
Operators and providers are
finally building the highly-available, scalable, and robust multicloud infrastructure
stack that they have always needed. Developers are gradually creating the
abstractions, visibility, and APIs for feature velocity above this infrastructure.
And all of this is becoming a catalyst for an optimal end-user experience.