The challenges of cloud computing are easily overshadowed by the fact that the market is going through a huge boom right now. The cloud computing sector is dominated by a small number of big tech firms including Amazon Web Services (AWS), Microsoft Azure, and IBM. AWS leads the pack in market share, but all of these companies are undergoing staggering growth. AWS reported 49 percent revenue growth in the first quarter of 2018, while Microsoft said its Azure revenue shot up 93 percent.
Sounds like good news? Perhaps, but even in a booming market, the challenges of cloud computing should not be underestimated. Here, we look at how the big tech firms are struggling to keep up with demand, and how decentralization could be one of the critical enablers for cloud computing of the future.
One reason is the development of artificial intelligence (AI). AI algorithms rely on massive quantities of data. Until a few years ago, there just wasn’t the available computing power needed to run AI programs. Now, better hardware means that AI development is eating up computing power as quickly as it becomes available. One analysis showed that AI computing power consumption has doubled every three and a half months since 2012. Compare that to Moore’s Law, which had an 18-month doubling period.
Greedy AI robots ate all the computer pies. Image courtesy of Pixabay.
In light of AI’s voracious appetite for data and therefore computing power, the biggest challenges for cloud computing today are supply and demand. So as the demand increases, cloud computing providers must find ways to either increase their supply or manage the pricing to try and stem demand. They are doing both.
Cloud providers like AWS operate with tiered pricing. This model allows their clients to choose the type of computing power they need for particular jobs. AWS sells premium priced on-demand services that are always on for clients who need a continuous service. It also sells spot instances of cloud computing at variable prices. These work for clients who can queue jobs until there is available server capacity, so they can spend less.
So imagine a software company that’s got one product up and running, and is in the process of developing another. For the live product, the company operates a web-based customer service chatbot for its clients. For the product under development, they need to run some tests but they are fairly flexible in when the tests can be run as they can just queue them to run overnight if needed.
This company buys an on-demand service for its chatbot, so the bot is always available for their clients. For the developing product, they bid on spot instances. They stipulate the maximum limit they will pay for the server capacity. Their cloud computing provider prices server availability according to real-time demand. Once the price of computing power falls below the threshold value our software company has set, their test jobs start to run. If demand goes up partway through a job, the price increases again and their provider diverts power elsewhere.
The client saves up to 90 percent over the premium on-demand price by using the spot instances for flexible jobs. However, not all clients are able to be so flexible with their computing power needs. Plus, this solution only manages existing demand, it doesn’t address the massive growth in demand.
Cloud computing providers run on data centers. So, to address the capacity challenges of cloud computing, a provider can just build more data centers, surely?
They can, but data centers demand huge supplies of energy. One report from 2016 estimated that the world’s data centers had used more energy than the entire UK in the preceding year. It also highlighted a Japanese study that estimated that data centers in the country would consume the entire national electricity supply by 2030 if growth continued uninterrupted.
So, just building more data centers can’t be the only solution.
Decentralization could offer a solution. Distributed networks of computers could work together to provide idle capacity to those in the network who are prepared to pay for it. So, say you own a GPU for mining cryptocurrencies, but you aren’t using it right now. Perhaps Bitcoin mining has become unprofitable in the depths of a price slump. You could put that GPU to use on a distributed cloud computing network. Someone would pay you in digital tokens so that they can use your GPU power to help drive their AI development testing.
DeepBrain Chain is one of the blockchain projects that is aiming to achieve this and is targeted directly at the burgeoning market for AI computing power. In DeepBrain Chain, anyone can earn tokens by contributing their idle computing capacity, which is sold on to AI developers.
Tatau is a similar but newer blockchain project that uses this concept of decentralized computing power for AI.
Decentralization offers a real solution to the problem of data center overdevelopment, as it doesn’t require bringing in new hardware. It’s also more flexible at managing fluctuations in capacity, as there are many smaller operators in the network. Once a data center is built, it has to be used to be efficient, whereas a decentralized computing network has more resilience to idle capacity.
This is just one scenario. Although, there could be plenty of other opportunities for blockchain and cloud computing in the future.
Quantum computing offers a further opportunity to solve the challenges of cloud computing. These computers utilize the ability of subatomic particles to exist in multiple states at the same time. A standard bit of data can only exist in one state at a time, either 1 or 0. A quantum bit, or qubit, can exist in two states simultaneously. This dual state allows them to hold vastly more data than a traditional bit.
Quantum computers could be the future of the cloud
Quantum computing is still in its early days. However, two of the cloud providers, IBM and Alibaba, have now launched their own quantum computers. One startup, Rigetti, is working towards launching its own Quantum Cloud Services. So, quantum cloud computing could be here sooner than we realize.
Cloud computing is definitely here to stay. However, the challenges of cloud computing will soon weigh upon the existing operators if they try to maintain the status quo. Of the scenarios listed here, the future will likely include a hybrid of different models including existing infrastructure, decentralized networks and quantum computers at least for a while. With AI placing ever-increasing demands on the cloud, we need these alternatives sooner rather than later.
This article originally appeared here.
Cloud computing: the synergistic boardroom buzzword that you still pretend know about.
Luckily, it’s a pretty simple idea, technically demanding, but simple none-the-less. On paper, cloud computing is just another way for humans to share resources and increase production.
When you use cloud computing you are essentially outsourcing a computer-related task the same way a company may choose to outsource a task like accounting, manufacturing, customer support, or human resources to name a few.
Cloud computing instead outsources tasks such as data storage, web server hosting, Bitcoin mining (warning), and software management among others.
In order to really understand the perks of cloud computing let’s paint a picture of two similar e-commerce businesses. Both businesses are selling a product and using a website as their primary sales portal. Both are also new businesses with a small customer base but can reasonably expect to increase traffic to their e-commerce store in the future.
The first business, let’s call it Tod’s Toys, is running their website on locally installed servers and hosts all their own data. Not to worry though, Tod’s Toys has an excellent CTO running the operation and has the current hardware/software stack purring along.
The second business, this one named Gupta’s Guitars, is a little more bespoke and decided to instead opt for hosting their website on a cloud server. Gupta’s Guitars also has a capable CTO monitoring the online store’s health.
In their beginning stages, Tod’s Toys and Gupta’s Guitars are seeing similar traffic rate to their stores. However, Tod’s Toys is noticing a higher operating cost coming from their web servers; they have more than they currently need. The toy store doesn’t mind though, as they expect traffic to increase into the server capacity they have.
Gupta’s Guitars, on the other hand, paid for their server use much more ad hoc. Their server access scales with traffic, so the guitar store hasn’t noticed any waste. In fact, while their traffic volume was low so was their cost for using the cloud servers. Naturally, they threw a guitar-fueled pizza party with their savings!
As predicted, both online stores begin to see a precipitous uptick in volume and sales. Gupta’s Guitars rejoices and probably throws another pizza party. Tod’s Toys, on the other hand, doesn’t have as long to celebrate.
The online toy store quickly pivots to scaling their server hardware as demand on their self-hosted platform outpaces their capacity. Potential customers are served 404 error messages instead of the spectacular toys that Tod’s offers. *Sad face*
You can see, cloud computing let Gupta’s Guitars outsource their server needs and as a result, focus on other aspects of their business.
A ridiculously oversimplified example but the key point is there.
Cloud computing for businesses, as in the above example, is typically referred to as enterprise cloud computing. This differs from other cloud computing services that may be more consumer-facing like Google Drive or MegaUpload (R.I.P.).
In either case, cloud computing is actually a stack of three generalized cloud provided services. At the base of the stack is the infrastructure cloud services also known as infrastructure as a service (IaaS). The middle layer is the developer’s layer known as platform as a service (PaaS). The top and the most visible layer is the software as a service (SaaS) layer also known as the application layer.
IaaS (infrastructure as a service) is the foundational layer made up of all the necessary hardware that makes the digital cloud tick. Despite the reference to watery vapor above us, cloud computing is made of some serious hardware, real, tangible, and often loud. IaaS is all of the physical hardware that stores and moves our zeros and ones.
Examples of IaaS providers: CloudSigma, Digital Ocean, Linode, Cisco Cloud Infrastructure Services, Microsoft Azure, Citrix Workspace Cloud
PaaS (platform as a service) is the next layer up, where the developers and programmers get involved. In this middle layer, IaaS providers lease chunks of cloud hardware to developers and programmers pre-installed with developer tools like Apache or MySQL. This middle layer is where IaaS providers and software developers overlap.
Examples of PaaS providers: Oracle Cloud, Salesforce Platform, Google Cloud Platform, Amazon Web Services
SaaS (software as a service) is the topmost and more familiar layer of the cloud stack. This is where applications and software are, and we see some familiar names like Spotify, Adobe Creative Cloud, Google Play Store, Storj, and Dropbox to name a few. The SaaS layer is essentially where cloud services become user-friendly for consumers and businesses alike.
Examples of SaaS providers: Slack, WordPress, Trello, Mailchimp, InVision, Zoom, Buffer, Contently, Netflix
The basic cloud computing stack
Each layer of the cloud service stack enables the one before it. In short, you can think of the three layers like this: first, you need hardware. Second, you need a platform to build from. Third, you need applications so people can use the hardware.
While each use case will have much more granular pros and cons, the following are a few general benefits and drawbacks of cloud computing.
The next evolution to the cloud service stack should be one that can support a distributed infrastructure layer. By fragmenting smaller pieces of a sizable cloud infrastructure, we might be able to shift the centralization of hardware and alleviate that security vector.
If only there were a system of organization that could incentivize hardware providers to come together in a distributed method in order to provide cloud-like services to platform and software developers. If only.
This article originally appeared here.