Over the past few years the adoption of ‘the cloud’ has exploded, making cloud computing a big deal and as developments in the field advance it’s likely to revolutionize computing as we know it. From cloud storage solutions like Google Drive and OneDrive, to cloud-based streaming services like Netflix and Spotify, the cloud is now everywhere.
But what does it mean when tech companies say your data is ‘in the cloud’ and why is it such a big deal?
What is Cloud Computing?
Cloud computing can be thought of as on-demand computing or utility computing. As with other utilities like electricity or water, the cloud computing allows you to access only the computing power you need and only when you need it.
As it’s more efficient and cost-effective to access electricity or water provided externally, when you need it, rather than investing in your own generators or water pumps, cloud computing provides on-demand access to computational power as and when required without having to invest in costly hardware or servers yourself.
With cloud computing, you’re not limited by the physical constraints and maintenance requirements of your own hardware. You get access to additional computing power almost instantly and only pay to do so when you actually need it.
Let’s say you want to create a website. To do this in the pre-cloud days you would need to physically own the hardware to host the website. In this case, that would be a server. The more popular your website became, the more computing power you’d need to serve your website to its readers. This would require investing in faster hardware to meet growing demand and also investing in dedicated people who know how to manage servers. This could become very expensive. Of course, the inverse is also true. If you built a website on your own server and it didn’t have many readers then you’d have redundant server capacity which would still cost money even when not being used.
Cloud computing offered a solution to these problem by introducing the concept of utility computing. The utility providers in this instance aren’t energy or water companies, but rather major tech companies with the clout required to provide increasingly high performance, reliable, and on-demand server access to whoever needs it – and only when they need it.
This is good news if you want a solution that’s flexible and allows your organization to scale up and down as needed. It’s also great for hobbyists who want to create websites for fun or small-scale startups who want to test their ideas out without committing capital to costly servers.
Beyond building websites, cloud-based services like cloud storage and cloud-based streaming gained rapid popularity because they offered users a way to access their data through the internet, regardless of where they were or which device they were on. It also offered a sense of security as the cloud was seen to be more reliable than a laptop or phone, which could break or be stolen.
How Does Cloud Computing Work?
In very simply terms cloud computing is a cluster of computers which are connected and work together but appear as a single resource which can be utilized when needed. This means that cloud computing providers need a significant amount of hardware in the form of server space in order to meet demand.
It’s little surprise then that some of today’s biggest providers of cloud computing are the tech giants such as Amazon, Google, Microsoft, and IBM who are able to offer cloud service for public use through their huge data-centers of servers.
When talking about cloud computing, it’s important to remember that the cloud isn’t just one homogeneous thing. Cloud computing actually refers to a number of different technologies that provide virtual connectivity to accomplish a task or find a solution to a computing problem without the need for physical hardware.
In reality, the cloud consists of three ‘layers’:
1. Infrastructure – The infrastructure is the lowest level of the cloud computing hierarchy and lays the foundation for the rest of the setup. This is where the physical parts of the cloud system are based and also where the hosting element of cloud computing takes place.
2. Platform – The platform is the middle level of the cloud computing structure and is where actual applications (or websites) are built. This is primarily only interacted with by those actually building something for use by their own organization or for resale to consumers.
3. Application/Software – The application or software is where the end-user interacts directly or indirectly with the rest of the cloud. The application here may take the form of a website, a piece of cloud-based software, an app on a phone, or even a connected or smart device which communicates with the cloud through sensors and actuators.
Types of Cloud Services
There are a few different ways in which the cloud is used out in the real world:
Infrastructure as a Service (IaaS)
As in our earlier example, Infrastructure as a Service provides server space to those looking to host things but aren’t interested in investing in server hardware themselves. An IaaS provider holds the physical server hardware and the user pays them for what they need as and when required. So, if a cloud hosted website has an increase in traffic the owner will pay more the additional cloud computing demands, and if the website sees a drop in traffic, the user will pay less for the hosting.
Platform as a Service (PaaS)
Platform as a Service is where back-end services are carried out and is primarily used by programmers who are building something or users, like organizations, that need to run proprietary software. As the name suggests, PaaS provides the foundational ‘platform’ for developers to build on. A great example of PaaS is a web hosting plan which provides everything needed to build a website, while they take care of the technical services and elements like upgrades and maintenance – they provide the serviced platform on which you can build your site.
Software as a Service (SaaS)
For most end-users, Software as a Service is where most interactions with the cloud take place. With SaaS, the running of applications is moved away from individual devices (like laptops, desktops, phones, and tablets) and is instead handled largely, if not entirely, by hardware in the cloud. So, instead of installing software on your computer, the software now lives in servers in the cloud and is connected to by users when needed. As the majority of the processing for SaaS are carried out in the cloud, the computing requirements on individual devices is greatly reduced.
Some common examples of SaaS are cloud-based productivity applications like Microsoft’s Office 365, Adobe’s Creative Suite, or Google Apps, file sharing applications such as Dropbox, streaming services like Netflix and Spotify, and communication programs like Slack.
The Future of Cloud Computing
Cloud computing is a relatively new idea that has only really become mainstream over the past decade or so. In this short period of time, however, rapid increases in computational performance have seen cloud computing grow exponentially as demand continues to increase and hardware gets more advanced.
As computer processing power increases, the cost of cloud hosting will almost certainly decrease. And as costs fall and convenience, power, and reliability increase, the cloud is going to increasingly represent the future of computing in the coming years.
According to Bezos’ Law, named after Amazon CEO Jeff Bezos:
“A unit of cloud computing power price is reduced by approximately 50% every 3 years.”
This is very good news for researchers and startups who now have access to powerful hardware that they would not have otherwise been able to afford. As cloud computing continues to mature it’s likely that we will see significant developments over the coming years, including the adoption of ‘serverless’ cloud computing.
Some areas that are set to see some of the biggest gains include:
Top Level Data Centers (Cloud)
These are the mega data centers owned by big tech players like Google and Amazon. The global distribution of these centers is relatively small, but their size and the number and power of the servers within them is incredibly high and only set to increase over the coming years.
Global Node Network (Fog)
‘Fog’ nodes (see what they did there?) refer to smaller data centers or individual servers which are more numerous and can therefore be situated pretty much anywhere. Effectively any device with adequate processing power, storage space, and the ability to communicate with other devices across a network can act as a Fog node. Again, increases in computing power and lower prices will inevitably accelerate the development of the global Fog node network.
End User Devices (Edge)
Edge devices are devices at the individual level which have internet connectivity and can therefore communicate with the rest of the cloud network. There are significantly more of these kinds of devices as they can include anything that can connect to the net such as mobile phones, personal computers, tablets, smart home devices, and even self-driving cars. When considering the sheer number of Edge devices that will be communicating with the cloud in the coming years (literally billions) the importance of Fog nodes as the middle-man in the cloud network becomes clear. Fog nodes reduce the time that individual devices would take to communicate with the top-level of the cloud network. This is particularly important in applications where timing is everything and delays aren’t an option, such as with autonomous vehicles.
Cloud computing has already radically transformed the way we access computer processing and storage hardware, removing barriers that have historically kept high-level computing power out of the reach of most people and it’s clear that the cloud is going to become faster and even more popular in the coming years.