Cloud Computing Technology: The Essential Elements
Talk to an Expert
Let's connect to discuss your real-time project.
The world of cloud computing is coming at us—fast. Within the next few years, over 94% of all backend computing will occur in a cloud rather than a privately managed data center. Cloud computing is defined as software maintained on shared servers instead of physical servers to provide on-demand availability of resources like data storage and computing power.
This kind of computing will rely on technology that has driven Amazon Web Services (AWS) to become the most profitable division of Amazon, Adobe to move from perpetual licenses to subscriptions, and salesforce.com to knock out its fiercest rival, Siebel Systems.
The Three Layers of Cloud Computing Technology
There are three fundamental layers of cloud computing technology:
The technology that runs the infrastructure and underlying systems, which enable everything else to function
The software that enables the services offered across the cloud, from data storage to big data analysis to machine learning and artificial intelligence
The Application Programming Interfaces (APIs) and microservices that act as the connective tissue between the far-flung elements of the environment and empower developers to build extraordinary applications
Essentials of Cloud Computing Infrastructure
The technology behind the first layer of cloud computing—the technology that makes it possible for backend software to be nowhere specific, yet everywhere and always available—ranges from the impossibly esoteric and proprietary to the broadly understood and open source. At its heart, though, are some core concepts of cloud computing:
Converged Infrastructure. This is as much a philosophy as it is a networking architecture. All the technological elements of a network intended for cloud computing must be aligned and manageable, rather than as a collection of separate parts. Servers must be virtualized, data storage distributed, and networking organized centrally. These features enable the operator to have multiple sites that are virtually indistinguishable from one another, with data and business logic replicating on an ongoing basis to ensure that the loss of one site would not create a catastrophic failure across the whole environment.
Automated Orchestration. A network simply can’t be used for cloud computing if the technology it uses is decelerated by having to rely too heavily on human interaction. Technology like VMWare opened up the possibilities of virtualization—essentially the ability to run multiple distinct server instances (from the operating system up) on a single machine. Now, we have progressed to containerization, where each instance can share the underlying operating system, making it lighter weight. More importantly, technological advances in containerization from solutions like Kubernetes and Docker make it easier to automate the creation and destruction of capacity. Think of it this way: when tons of people want to use a system, automated orchestration will ensure new server instances are available, which adds to the system cost but provides smooth usage. Once the audience subsides, those additional instances can go back to sleep, reducing system cost with no adverse effect on users. Without automation, the personpower to spin those servers up and down would destroy the economics of the offering.
Self-serve catalog of standard cloud computing offerings. At the highest level, the largest demand areas will be for straight-up storage and compute power to manage the containers customers want to spin up to manage their applications. However, customers' range of services can be extremely broad—from publish/subscribe engines to data pipelines, to machine learning, and beyond. As with the system's administration, automation technology is necessary to create efficiency.
Usage tracking and billing. Not to be forgotten, a cloud computing provider must ensure they leave time and energy for creating the technology that allows them to monetize their offering. Monetization is a non-trivial exercise, as the provider must not only track usage, but decide on the units that will be counted, the cost per unit, and the packaging used to sell on to customers. For instance, will consumers buy a bucket of CPU hours or a number of CPU cycles? Defining the monetization scheme for a cloud is as much art as it is tech.
Talk to an Expert
Let's connect to discuss your real-time project.
Software Needed to Support Cloud Computing
With the infrastructure in place, a prospective cloud provider must now settle on the software that will be the backbone of its cloud computing capabilities. If they act as an Infrastructure-as-a-Service (IaaS) provider, they will need to include more options than a Platform-as-a-Service (PaaS) provider. PaaS commonly provides limited features focused on solving a narrower set of problems. Either way, there are core cloud computing technologies that companies must inevitably include to offer a credible product and service set, such as:
Storage. Arguably the foundation upon which all other cloud computing technology was built, storage represents one of the easiest-to-understand and easiest-to-value features. Whether it’s storing photos on iCloud, saving spreadsheets on Google Drive, or sharing documents through Box.com, every Internet user understands the concept of storing information online for broad access.
Compute. As you look at the history of cloud computing technology, the other big category is compute power—literally, the ability to spin up and spin down virtual server machines. As organizations move away from owning and operating their own physical hardware, the easiest concept to grasp and become comfortable with is the idea of a virtual server: it acts the same way as the old physical ones, you just can’t see it. Moving from a physical to a virtual server is a relatively uncontroversial first step on the journey from monolithic to microservice architectures.
Databases, data pipelines, and machine learning. In today’s market, a cloud will need the technology to ingest, manage, manipulate, analyze, and summarize vast quantities of data. Where once companies like Rackspace and GoDaddy could scratch the itch by providing MySQL, today’s cloud requires technology like Cassandra, Hadoop, Spark, and Shark to store, organize, and analyze the accelerating tsunami of data organizations use to make informed business decisions.
Cloud providers can choose from a vast array of technologies that they feel customers would be ready, willing, and able to pay for, from load balancing to DDoS protection, from functions-as-a-service to Virtual Private Networks (VPNs), and from containerization to auto-scaling.
APIs and Cloud Computing Technology
Tying these pieces together is the core element of cloud computing technology: APIs. Just as organizations had to get used to pushing their computation to the cloud through the simplest concept of virtualizing a physical server, so APIs are helping developers shift from monolithic to microservice architectures. APIs generally represent an easy-to-comprehend entry point into a sophisticated set of services. A simple JavaScript hook, for instance, might identify a user's exact location, provide an up-to-the-second list of their friends who are online simultaneously, or show the value of a given cryptocurrency. The technology behind the API may be deep and complex—but the beauty of the cloud computing paradigm is that that technology is fully abstracted, and the application becomes ever-richer with the addition of just a few lines of code.
Cloud computing ultimately relies upon three layers of technology: the converged and centrally orchestrated infrastructure, software that enables cloud services, and the APIs that knit the infinite possibilities of cloud-resident solutions together.