Over the last few years, we have been participating in a radical transformation of how modern applications are built, deployed and operated. Monolithic applications are being broken down into microservices and serverless functions to exponentially ease development, lifecycle management, increase the velocity of features, and improve the availability of the services offered.
More and more mission-critical workloads have become containerized. Anywhere between 35%-50% of an enterprise's application sprawl is now containerized based on various Gartner and IDC estimates. And it's not just the app front ends, or the dashboards, but mission critical workloads such as revenue generating data analytics pipelines, middleware, and core business logic.
This transition is putting pressure on the processes, data flows and organizational structures to evolve dramatically within the enterprise. As customers continue to invest in digital capabilities to transform their business, build new products and compete aggressively against new competition, with applications as the new currency, Cisco is helping them achieve their business KPIs and stay nimble through 4 technology pillars -
1. Delivering evolvable application platforms
2. Driving new cloud-native networking and security
3. Building AI/ML systems for your data science and ML-Ops needs
4. Nurturing developer-friendly communities for adoption
It is predicted that over the course of the next few years, the absolute number of apps within an Enterprise will continue to rise. In fact, a recent study from IDC predicts a 50 percent increase in the number of applications over next two years.(Source: IDC InfoBrief, sponsored by Cisco, Transforming Applications and Multicloud Operations, August 2019).
There are various drivers for this, but primarily, the "software eats the world" mentality means that everything is being solved (and should be solved) by software. This is Digital Transformation at work.
As this app explosion takes place, the percentage of modern cloud-native applications within an enterprise will only continue to grow. Most of this growth will stem from newer applications taking over the old in performing similar capabilities with much better velocity, availability and efficiency KPIs. These newer apps (shown with Green arrow) will most definitely be born cloud-native, as either microservices or serverless apps. The existing apps and capabilities will slowly migrate to being re-architected as cloud-native, dropping the percentage of monolithic bare-metal and virtual machines apps steadily over the next few years.
Cisco's approach is to provide organizations with software and hardware building blocks that allow you -the enterprise Application Developer, Platform Engineer, Cloud Architect or IT Engineer -to evolve seamlessly along with the technology trends that drive your business. Whether you need a data-hungry on-premises bare metal monolithic app, a cloud-native insights pipeline, or a securely-governed extension of your compute capabilities to your preferred public cloud, the same application platform architecture should power your entire development and software portfolio.
As we have seen, a modern application is not a monolithic, siloed, single-compute application. Cloud-native is a synonym for scaled-out distributed applications. And a well-behaved distributed system relies upon a capable, well-abstracted, highly available and secure Network. You cannot develop a successful cloud-native application without paying attention to the characteristics of the network.
As cloud-native architectures are becoming more pervasive, applications components are becoming thinner and thinner (microservices, functions), and geographically diverse (cloud regions, on-premises, across the globe). The connectivity problem for even a single application is becoming much, much worse.
There is 'more network' in every flow than ever before.
A quick look at the service dependency graph of a cloud-native application (e.g., the Monzo banking app) will give us a sense of the networking and security problem needing to be solved. Each node of a typical application graph such as the one shown below is an API or service endpoint, and in theory, could be anywhere in the world and on any kind of infrastructure -owned or rented.
The Microservice Dependency Graph of the Monzo Banking ApplicationAt Cisco, we have been thinking through what connectivity looks like to the application developer and platform engineer. The cloud-native Network would connect all such service endpoints, and only those endpoints, wherever they happen to be and in whatever form -as modern cloud-native, or traditional monolithic systems. This Network is built for the application developer. It has narrow and deep context and is less worried about all the rest of the traffic flowing through the network below. It follows the principles of simplified connectivity, relevant context, and follows the same activation models that are used in application development.
The necessity of real-time insights on an exploding data universe is driving the need for AI/ML in every industry. A modern and agile enterprise is using AI/ML pipelines for streamlining its operational needs (ML-Ops) as well as for driving critical business insights through its various data science and business insights organizations.
Because of the ubiquitous availability of AI toolchains -both on-premises and in public clouds via pipelines such as Kubeflow -new use cases for AI-Applications in deriving insights in industry verticals, systems design, and solving complex closed-loop operational problems are only going to blossom.
An MIT Review study looking at more than 16,000 papers on AI over the past 15 years already pointed to this trend.
Cisco is building AI/ML hardware and software systems to help enterprises and communities solve their data insights and operational needs. Whether it is helping a large optics manufacturer find defects in their manufacturing process or helping solve the difficult data problems of less-understood genetic disorders.
We are also focusing these systems back into solving the problems we understand best -whether it is helping our customers manage the complexity of networking and computing nodes in their environment, helping them fine tune the performance of their hybrid apps, or alerting them on potential security threats and provide remediation measures before it hits them.
The application-centric nature of all business going forwards implies working closely with developers and fostering communities. Driving code and projects into open source and fostering forums and bodies that enable sharing of knowledge, data sets, processes and use cases are just some of the ways that Cisco has been nurturing open communities.
We have been Platinum members of Cloud Native Computing Foundation (CNCF) and part of their Governing Board since its inception in 2015. We have contributed to the Kubernetes (K8s), compute and networking projects for a few years now, helped create the Network Service Mesh project (currently in Sandbox), and utilize our presence at KubeCon + CloudNativeCon to evangelize adoption of these cloud-native technologies.
In the AI/ML landscape, Cisco has joined forces with Google, Facebook, Microsoft, Stanford, MIT and others in forming the MLPerf (mlperf.org) effort to standardize on AI/ML performance and systems evaluation. We have published our AI/ML research in academic avenues such as NIPS and SysML, and have contributed significant code to the Kubeflow project.
On the networking side, we have assisted in the formation of the Linux Foundation for Networking (LFN) and have been Platinum members since its inception, contributing quite significantly to various projects such as OpenDaylight and FD.io. We have published a significant amount of our research findings in various IEEE and ACM conferences and papers.
This would all be moot if we don't walk the walk together with our customers and help them evolve as well. The Cisco DevNet group was created for that very mission, and just recently, DevNet has released curriculum and certification to help our customers in their skill-set journey.
Finally, and most importantly, we run some of the world's largest SaaS offers in a cloud-native way. Meraki, Umbrella and WebEx are just some cloud-native SaaS production stacks that influence our software and hardware product design and operational paradigm shifts.
Over the course of the next few months, we will be sharing more details behind these use cases, architectures, and deployments with you. Stay tuned.