A Series of Thoughts on the Future of Cloud by Tiffine Wang & Nelu Mihai



Part 1: A VC and Entrepreneur in the Cloud, Cloud 101 & The Future of Cloud (1 of 3) by Tiffine Wang & Nelu Mihai
Hi everyone, I don’t believe that 2018 is coming to an end. This year, I decided to stay put in the Valley. It’s eerily quiet with everyone gone, making it the perfect time to finish this piece
The last few months, I have been exploring the cloud with my friend Nelu Mihai — who happens to be a computer scientist, tech executive and serial entrepreneur and we want you to be part of the discussion. These articles will save you months of research and meetings. If you’re a cloud expert or entrepreneur, we would love to hear from you. Please email us at: tiffinewang@gmail.com.
We’ve broken down the topic into 3 parts.
Part 1: A Brief Introduction & Overview
Although cloud computing has recently come to the forefront of attention, the idea of the cloud isn’t new. The premise is, rather than paying up front to own, and then later paying to maintain IT infrastructure, companies can rent the needed infrastructure on demand — including servers, storage and networking. Consequently, the cloud enables companies to scale easily without worrying about it. The main providers of Cloud Infrastructure-as-a-Service (IaaS) today include: AWS, Microsoft Azure, Google Cloud, Vmware, Oracle Cloud, and Alibaba Cloud.
AWS alone has reached $27B in revenue with 46% year-to-year growth, which in absolute figures is more than $2B in annual growth. Moreover, AWS commands 52% market share, delivering more than 140 services. From blockchain infrastructure, to robotics software to launching satellites, AWS wants to be a part of everything.
Cloud of Clouds:
So where is the cloud going? At the beginning, the internet was a collection of separate networks and in time it evolved into a “Network of Networks”. We think that the cloud will evolve the same way; in time, it will become a “Cloud of Clouds”. In a matter of years, core, edge and fog cloud will effectively fuse into one single logical centralized computer with proprietary distributed cloud implementations which will interoperate with each other using a universal almost standardized interface.
Different, like Everyone Else: What makes each one unique?
Sun Microsystems coined a great term: “The Network is the Computer”. Paraphrasing this, we can anticipate that “Cloud will be the Computer”. The Internet has been built with several principles in mind but one of them is essential: survivability by any means.
The Cloud has required development of a more sophisticated architecture with efficiency, performance and security becoming paramount. Clearly, cloud providers are working hard to differentiate themselves along these criteria. Paradoxically however, the more that providers try to differentiate by innovation, the faster the cloud will become a commodity, available to everyone, regardless of their programming ability.
AWS, Clear Leader
AWS is the clear winner for now, and the most innovative. The amount of open source software aggregated on AWS is simply astonishing. They are moving fast and are building the next generation of distributed IaaS and PaaS global network. One of the main design principles in AWS is “cell based architecture for everything”. This is a distributed architecture, logical centralized, but architected to minimize the impact of failures and to reducing the blast radius.
While AWS includes almost every other cloud’s features, it has distinctive competitive advantages: AWS has created Lambda serverless service, a functional model of programming the cloud and has focus on correctly designing or redesigning all applications for large scale distributed architectures. This focus is essential for a new generation of native cloud applications.
Azure, King of Enterprise Computing:
Azure is making tremendous progress. Microsoft’s priority is on the hybrid cloud, as Microsoft is still the king of enterprise computing. The Azure cloud naturally enables a smooth transition from private enterprise data centers to a public cloud inside the Microsoft ecosystem.
Google, AI and Kubernetes:
The Google Cloud Platform (GCP) has two clear competitive advantages: AI and Kubernetes. The most used AI software frameworks originated in Google. Kubernetes has become almost the de facto standard for container programming. It is used by Google as a beachhead to penetrate the enterprise private cloud market and as a universal bridge for multi-cloud. Google intends for the trio, K8, Istio and Knative to become the next generation of native cloud operating systems.
Oracle, It is all about Cloud Databases and Blockchain:
By contrast, Oracle is focused on blockchain platforms (simply said, blockchain is a distributed database which allows secure peer to peer transactions). Although Oracle was late to the cloud, it remains the dominant vendor of enterprise databases and accordingly has made more progress on cloud-based blockchain databases than any other cloud player. While AWS is redesigning all open source databases for distributed architectures, Oracle is building a secure cloud specialized to support databases better than its competitors. We should not discount this late entrant to the cloud business arena.
Vmware is defending its enterprise virtualization business by adding container support (see Heptio acquisition) to its product line, and partnering with Google and AWS for hybrid cloud. Its business strategy is in a way, similar to Microsoft’s. However, by not being a public cloud player, they depend on partners to promote hybrid cloud. Vmware is, latently but surely, becoming a significant security player for private cloud and SD-WAN
IBM: By acquiring Red Hat, IBM hopes to enter the hybrid cloud business and become dominant. Many have considered this acquisition to be a victory of the open source movement.
On its own, Red Hat’s revenue and market share growth had slowed. As a part of IBM, with its extensive sales channels, Red Hat’s revenue should significantly increase, allowing IBM to become a major player in the hybrid cloud marketplace. This acquisition is good for both companies. However, Red Hat was the flagship of successful companies commercializing open source software and currently there is no other one with the same business mass to replace it.
Chinese Cloud Providers: In the same time, we tend to discount large Chinese cloud companies which are growing rapidly due to the huge market available locally to them. AI and blockchain are an important part of their strategy. Chinese companies have a significant advantage for building and testing clouds at very large scale with their local market of 1.5B users. They will become more and more relevant and a formidable competitive force on a global scale.
Up next, we will discuss Part 2: Multi-Cloud and Hybrid Cloud. We would love to get input from the community whether you agree or disagree with us. These thoughts are our personal thoughts and do not represent the companies we work for. Please email us at tiffinewang@gmail.com. Chat soon!
Tiff & Nelu
December, 2018
--------------


Part 2: A VC and Entrepreneur in the Cloud (Part 2 of 3)How the Cloud of Clouds will Evolve, Multi-cloud and Hybrid Cloud

By Tiffine Wang & Nelu Mihai
In our previous article, Introduction to the Cloud of Clouds, Nelu and I broke down the various clouds and their unique propositions. Today, we will discuss multi cloud and hybrid cloud.
Choosing the right cloud for the right application from a price, performance, and security perspective is not a simple process. For many customers, AWS provides all the needed functionality, being almost a complete software universe on its own. However, many large customers are afraid of the “one-vendor-trap” and will try to use several cloud providers for different applications. This strategy raises a few significant issues: portability of applications, data management and security.
Security
Securing a multi-cloud or hybrid architecture is complex and will require a multilayered strategy. It has to be part of the architecture’s DNA. Security tools will need to guarantee access to applications without affecting their performance and response time, no matter what proprietary mechanisms cloud providers use.
They need to provide information security for company data hosted in or connected with each provider. Compliance needs to be ensured, as new features are added. For example, Firewall rules are different in AWS than in Azure or on a Palo Alto. There are also huge risks in the seams of the orchestrator (either at cluster boundary or at the boundary between two different orchestration systems).
It is important to understand that threats are often not cloud-specific. Threats such as ransomware and data breaches can occur in cloud environments as well as traditional ones. Blockchain, quantum computing and AI are areas worth exploring to better identify and prevent threats.
Challenges Inherent to Multi-cloud
The heterogeneity of hardware and software infrastructure in a multicloud system can increase security risks, as well as complexity. A truly useful multicloud system needs to provide users and applications a secure and simple centralized interface, which is agnostic of the underlying distributed infrastructure.
But perhaps the biggest challenge in multicloud systems are proprietary applications that constrains portability between cloud systems. Google is trying to overcome such challenges by using Kubernetes containers, as every cloud provider supports it. Google’s trio of Kube, Istio, and Knative frameworks have been designed to work seamlessly with Kubernetes and in doing so provides a universal cloud native quasi operating system which can constitute as the skeleton of a multicloud standard architecture. This is a Multicloud Platform as a Service (MPaaS) with a pure containerized environment. We need to underscore that Kubernetes has a multi-compute architecture, not multi-cloud. In order to support native multicloud new and revolutionary architectures are needed.
Data Management in Multicloud
Another significant challenge of multicloud is data management. Databases have been among the pioneers of distributed computing architectures due to their need to autoscale with great performance and quick recovery from failures. But handling data on multi-cloud is complicated. To manage data and logic placement across multi-cloud distributed architectures, the multi-cloud control plane needs to be able to answer the question, ‘Under which conditions do I put a specific distributed workload (data/logic) on a specific part of a distributed architecture?’
In the case of core/fog/edge IoT architecture, the issue is how to intelligently and dynamically choose and shift where logic is computed (i.e., in the core [cloud], in the fog [nodes], on the edge [devices]), and how to minimize data in motion. Do I move the logic to the data or the data to the logic? Such decisions require detailed analysis of many complex variables beyond just cost. The relationship between logic and data is essential in order to implement an efficient application.
The old model of generic databases loses ground to purpose built databases. In the multi-cloud context it is important to analyze how data will be used. Implementing a large scale warehouse database or data lake strategy is common but unless the correlation between applications and how data is used by execution units is well understood, aggregating huge amounts of data in one logically centralized system will not be efficient.
By contrast, AWS Outpost can be used to create multi-clouds using a master slave paradigm, in which AWS is the master and the customer clouds are akin to satellites. These outposts will become extensions of the AWS cloud, managed by AWS but belonging to customers. This strategy may succeed if the hardware and software architecture used by Outpost is superior in multiple ways.
Multi-cloud is the pinnacle of hyper-distributed cloud computing and will take several innovation cycles to get it right. It is worth noting that there are several startups building multi-cloud platforms.
Hybrid Cloud
Hybrid cloud is an intermediate step in cloud evolution and is a recognition of the fact that public clouds are not the solution for everything. The main reason for the proliferation of public cloud is not technology but a business proposition. Utility computing on one side alleviates the need for enterprises to build data centers. It also provides individual programmers the access to large scale computing resources without the need to own them. Enterprises, however, want to own and control their data exclusively. Most do not fully trust cloud providers.
AWS has partnered with Vmware to support private cloud. The partnership is mutually advantageous allowing Vmware customers to move easier to AWS without giving up VSphere technology and it will enable AWS to get a more significant footprint into enterprise data centers.
Microsoft’s priority is to preserve their current enterprise presence and entice their customers to choose Azure. Azure Stack for private cloud is a mirror of Azure for enterprise data centers. Microsoft is providing a convenient way of transition to Azure while keeping desired applications on private cloud. It is a natural hybrid cloud solution. Azure currently offers competitive pricing at the moment.
After the acquisition of Red Hat, IBM “has thrown the hat in the ring” of hybrid cloud business. It remains to be seen how this acquisition will play out and what the long term strategy for public cloud will be. No doubt, that IBM wants to be a major player in hybrid cloud.
Edge Computing
Data gravity is, for edge computing applications, an essential requirement and it does not make sense to waste time transferring large amounts of data to a public cloud when it is more efficient to process locally. Edge computing is the most relevant incarnation of private cloud.
Hybrid cloud gives enterprise players an opportunity to try out cloud applications in a safe environment. It will be interesting to see how Oracle, IBM, SAP, etc will make this transition.
The success of hybrid cloud may very will be decided by economic reasons. If public cloud becomes a commodity then hybrid cloud will just be a transition to multi-cloud.
Do you agree or disagree with our take on multi-cloud and hybrid cloud? We would love your input. Email us at tiffinewang@gmail.com. Next, we will be discussing Part 3: Serverless & Containers.
----------
Serverless & Containers Containers is the catalyst for microscopic programming, serverless is taking it to a more exacerbated level.
There are several serverless frameworks including Azure, GCP and open source for private clouds but AWS Lambda is currently the most relevant. Launched 4 years ago, it has generated a paradigm shift. Serveless is a great marketing term, but technically speaking, this is incorrect. Serverless in fact, is not serverless. It abstracts the CPUs of computes, but it leaves the other resources such as memory, storage, networking, services at the pre-serverless state, unabstracted.
An analogy would be “Uber for computing functions”, resources coming together only when needed and disappearing when done.
Why Serverless
Serverless is significant because it takes the principle of “microservices” to another level. it splits cloud software into “microscopic” components, which are simple, easy to write and reusable. Functions as a Service (FaaS) move domain experts away from the server level and enables them to focus on specifics of their profession. It allows developers to focus on the business logic and workflows without worrying about the underlying needed resources. In essence, serverless is a functional programming model for the cloud.
Serveless is the perfect example of the “abundance versus disruption” model. Serverless is not a disruptive technology, but a transition to massive abundance for cloud services. Due to its timing restrictions and event based programming, serverless can be a catalyst for creating applications with predictable behavior by inserting time as semantics of software programming. Leslie Lamport and Edward Lee are the pioneers of this concept which, unfortunately has never gotten traction with developers. Time becomes an important resource in serverless, as it is the basic building block of billing, rapid development, cost, performance, and profitability.
Concerns
Security may be a weakness for serverless. Instead of being dispatched on containers, microVMs allow small virtual machines to encapsulate a single serverless function. You are trusting the providers (AWS, Azure, Google) to secure the various components.
Advantages:
  • Rapid development of cloud applications,
  • Automatically scaling of functions with demand
  • Reduce server cost/pay per execution
  • Eliminates management of compute resources
  • Allow developers to focus on logic and workflow of applications without worrying about underlying resources
Disadvantages:
  • Serverless is not suitable for stateful applications (many enterprise applications are stateful). Nevertheless, progress is made in this direction by persistent functions
  • If applications are not designed carefully, serverless can become more expensive.
  • Debugging can be difficult for applications with many functions
  • More support for security is needed for different serverless frameworks.
Containers
Containers have been used many years ago by Sun Microsystems, promoted firstly by CoreOS, but Docker had the marketing genius to launch them aggressively in the marketplace. From a technology point of view, containers are not difficult to implement. Their main advantages are lightweight and intelligent packaging of the binaries. This gives them portability on different operating systems. Containers triggered a transformational change in the industry and accelerated the wave of “microservices” as methodology to implement cloud software systems.
The winner at the moment appears to be Kubernetes given it’s major support among developers and its comprehensive ecosystem. Kubernetes has adopted an interesting solution for scheduling of containers by creating the concept of “pods”. If applications are split into small pieces, fitting in just one container, then they can include thousands of containers. It makes sense to group them in pods (groups of up to hundreds of containers) and schedule them in blocks. While Google is positioning Kubernetes as solution for multicloud, the reality is that its architecture is multi-compute, not multi-cloud.
We have seen, in the software industry, the evolution of the programming paradigm, from monolithic large applications to virtual machines, containers, microservices, serverless. It is an evolution from “macroscopic” to “microscopic” programming.
Containers may be short lived in applications since they need extra support for stateful applications. The puritans of the containers phenomenon believe that all cloud applications have to be containerized. The fans of virtual machines have made progress by using miniaturization of virtual machines at the hardware level. The distinction between these two types of execution engines is becoming minimum.
Many enterprise applications (legacy software) cannot be converted to containers because of their complexity and monolithic design. They will be virtualized and transitioned into the cloud as virtual machines (lift & shift evolution).
Containers vs. Serverless
New generations of cloud applications will use containers and microservices as architectural concept. Containers are important for the evolution of cloud native applications. A percentage of developers will likely completely leapfrog the “containers era” and write applications using serverless.Virtual machines will survive by getting closer to hardware and become very lightweight. Applications will be structured as combination of serverless and containers. The main priority in cloud technology should not be to answer the question: what is better, programming with virtual machines, containers or serverless? It should be: what are the new inventions needed to build multi-cloud and the universal cloud? For that, multidimensional execution units are needed.
Care to share your thoughts? Email us at tiffinewang@gmail.com.
Tiff & Nelu
Need a review, see below =)

Popular Posts