For most people, the move to cloud computing has been an almost invisible transition from local storage and processing to network-based services. For many, it is akin to some magic that makes everything available, all the time, no matter where you are. For businesses and network architects, it is the biggest game changer since the advent of networked computers and has allowed companies at any scale to gain access to secure, affordable and incredibly powerful infrastructure. It has also fostered the “everything as a service” business model that many organisations and individuals rely on for income, and it has also created an astounding amount of wealth for the infrastructure owners.
What is Cloud Computing?
Most users do not understand the concept of cloud computing. When undergraduate students are asked about what they consider cloud computing to be, at least in my experience, they describe the propagation of files across devices, and streaming movies from services such as Netflix and Amazon Prime.
There is far more to cloud computing than just streaming and file storage. The cloud is a group of services that are offered to large and small organisations and individual consumers. Consumers do not understand it because it is anything but simple to define and it is continuously changing. One of the reasons that it is difficult to understand is that it has been evolving at an incredibly rapid pace over the last decade. However, this is reflected in almost all areas of technology; the pace of change is exponential. Every time a definition for the cloud was generally agreed upon, the technology has outgrown it and changed in a way that has meant a new definition is needed.
The most widely accepted definition that has stuck is the National Institute of Standards and Technology’s (NIST). Firstly, there are five key characteristics, secondly, four deployment models and, finally, three service models.
The first characteristic is that cloud computing is on-demand and self-service. It means the service is available when a user needs it and without the need to have an administrator (i.e. a person) to give access. It is something we have started to take for granted with the services offered over the cloud. For example, Netflix can be contracted instantly and cancelled at any time. For organisations, access to cloud services is offered in a similar manner.
The second characteristic is broad network access. It implies that cloud services have to be accessible easily and wherever a connection to the world wide web is available. For most users, this may seem blindingly obvious but achieving this on an international scale has been hugely challenging, especially outside the United States.
The third characteristic is resource pooling. It relates to the assumption that not all clients will need to be fully utilising their cloud computing resources at the same time. Therefore, cloud providers can allocate the resources of one client to another when that client is idle. It is usually done through the use of virtualisation, which means the data centres can set up shared servers that increase the efficient use of the computing power available. Experts claim that this can increase the level of utilisation of the servers from as low as 10% to as high as 80–90%.
The fourth characteristic is rapid elasticity. It is the ability to meet the needs of the users of a cloud service and increase the capacity available quickly and automatically. Artificial intelligence is handling the management of cloud systems in many modern data centres with areas such as power management and resource allocation increasingly requiring complex and every evolving algorithms.
The fifth and final characteristic is that cloud providers offer a measured service. It means that the service is monitored and the exact usage of clients is reflected in their costs. It means that if a client does not require a massive amount of storage and computing power, they do not have to pay for it. On the other hand, if they do need it, they can reach a certain threshold and automatically have access to a high level of service (whether it be more storage, RAM or processing power). It is essentially a pay-as-you-go model, much like a mobile phone that needs topping up when you run out of credit (but thankfully without the need to buy a top-up card to continue using the service).
There are four primary deployment models for cloud computing. The first is using a public cloud, which is the cloud computing model that most people know. It involves a system that is managed by an external organisation (for example Amazon Web Services (AWS), iCloud, Google, Microsoft, SAP and Oracle offer these types of cloud computing solutions). The customer is only responsible for the software that is installed on the cloud system, and the providers handle the actual day-to-day maintenance and security.
The second deployment model is private, and this is when, in contrast to public, the service is managed by the organisation themselves. The organisations manage and administer the system, and they are often accessed through a corporate Local Area Network (LAN) or Wide Area Network (WAN). Access to these services is often through a Virtual Private Network (VPN). These often provide exclusive services that give an organisation a competitive advantage or higher level of security for data that cannot be put on a public cloud (for example, confidential and legally sensitive data).
The third deployment model is the community model. These are cloud systems that are available to several organisations. It is often used for systems that require an extra level of privacy and which cannot be used on a public cloud for a variety of reasons. It is also a model that is suitable for organisations that want to share a service and the responsibility regarding maintenance and administration.
The final deployment model is one that is popular with larger organisations: the hybrid model. It is more expensive because it involves using a combination of both a public and a private cloud. It allows organisations to maintain a competitive advantage by having their own, in-house managed solution performing their critical business processes. It also allows them to benefit from the services offered by a public cloud that do not require the in-house management and administration (for example for collaboration and non-critical services in the organisation). Hybrid is by far the most flexible and forward-thinking model for cloud deployment and is becoming the norm for larger companies.
The NIST definition of cloud computing has three service models. Firstly, Infrastructure as a Service (IaaS) is the provision of computer systems, i.e. virtual machines, storage, networking and underlying computing power. These systems replace the IT infrastructure that organisations traditionally have in their server rooms or private data centres. Secondly, Platform as a Service (PaaS) is the provision of tools that allow the development of custom cloud applications on a cloud platform. Thirdly, Software as a Service (SaaS) is pre-written software that is normally available through a web browser, typically involving a subscription to gain access (for example, Salesforce CRM).
Cloud computing is, of course, not invisible. Visiting a data centre today is much like entering a prison. Armed guards and razor wire protect the vast arrays of servers, and they are generally in locations that we as humans find inhospitable. The colder and more remote the location, the more suitable for cloud data centres. These factors have allowed systems to run with less air conditioning and to tap into energy sources such as geothermal and renewable energy. Microsoft has even constructed a data centre under the ocean, where air conditioning is not needed, and wave power can provide energy. Computing has become more friendly to our environment thanks to the cloud, and the added physical security means the days of people physically breaking into server rooms in offices and installing rootkits are numbered. There will always be cybercriminals who are smart enough to take advantage of software vulnerabilities, and no system is ever completely safe. Nevertheless, confidence in technology is at an all-time high and businesses, in particular, are beginning to trust in the safety and reliability of cloud computers.
The main advantages of cloud computing are that it is massively cheaper than acquiring hardware and building a custom solution. The costs are spread between all the users, so it is a win-win situation for clients and cloud providers. As previously mentioned, the cloud services are much more secure than a traditional server or data centre. The best security experts in the world are employed to secure the data centres, and they are protected like any valuable or sensitive resource. They offer scalability, elasticity, a measurable service model and give access to tools and platforms that were impossible before the advent of cloud computing.
There are some disadvantages though. In situations where the Internet is unreliable or inaccessible, cloud computing is not feasible. Offline storage, like that offered by Google, Apple and Dropbox, partly solves this but in the case of Software as a Service, lack of a decent connection makes the entire system a step back from traditional IT infrastructure. There have also been cases where cloud computers have proven unreliable. Recently, the Google cloud went offline for an entire business day, and it cost companies that rely on the service millions in lost revenue. There are also situations where having data ownership transferred to an external organisation can be illegal (for example, in the case of legal firms) or open to security threats due to flaws in the software used by the cloud providers.
History of the cloud
Now we have an idea of what the cloud it, it is essential to understand its origins. The term cloud computing can be traced back to Amazon and its Elastic Compute Cloud (EC2) back in 2006. Amazon invested billions in the 1990s in creating a worldwide network to support their e-commerce business. However, they never used the vast majority of the capacity. They decided to start to offer this extra capacity to other organisations. Before doing this though, they wanted to create a system that everyone would want to use, and they developed a toolset that would allow the deployment of advanced cloud applications. They first moved their entire e-commerce system onto the new cloud platform and ensured that it was not just good for their clients but also something they wanted to use. Once they were satisfied with the system themselves, they started offering the service to others.
Amazon Web Services (AWS) was born. To understand how successful this has been for them, we can look at how this system is performing today compared to their e-commerce system. Amazon is now the largest retailer in the world, but AWS represented 56% of their operating profit in 2016 (according to the New York Times). The reason this has become their primary source of profit is that, back in 2006, they offered something unique. AWS was affordable and offered more coverage of geographical locations than any other provider. This global coverage enabled services like Netflix to expand and become truly global. The tools and services Amazon offer are also incredibly flexible. Unlike other cloud providers (i.e. Microsoft, Oracle), they allow any software to be installed and run on the service. Much like the e-commerce side of the business, they have monopolised the cloud sector, and they have proven incredibly popular with businesses ranging from global enterprises to small startups.
AWS is not the only driver of cloud adoption. The network infrastructure of the internet and the advent of fibre optic connections replacing copper lines has meant cloud has flourished. Users began to experience no difference between local and cloud networked applications. The advent of mobile connections has meant that cloud applications are available anytime and anywhere, without the restrictions of being on a particular physical network. Technological advancements have meant consumers and businesses rely more on technology to make important decisions and the reliability of the information from modern enterprise systems have meant improvements across all areas of business on an unprecedented scale. All this has resulted in trust and dependence on technology to a point where the entire landscape of business IT has changed.
Another aspect that has affected software development is the speed and flexibility of the services offered by cloud providers. Changes to services and products traditionally required the purchase of new hardware, deployment and testing that could potentially take days or weeks. Spinning up a new instance on a cloud system take minutes or hours and users can be testing the software immediately. This new development and deployment model has led to the DevOps movement and users of services such as Google becoming unwitting testers, with changes to their service being deployed on a daily basis to select groups of users.
Almost all the services we use today whether in our work or personal lives rely on cloud computing, and in the next two sections, we are going to see how there different areas of our lives have been impacted.
The area affected most profoundly by cloud computing is business. It has enabled the convergence of different industries into single services. For example, Google are able to offer movies, music and YouTube video through their cloud servers. It has also meant that many traditional industries have had to evolve and begin to offer their products as a service. Those that have not evolved have either seen a dramatic change in their profitability or even bankruptcy.
For most businesses, as mentioned previously, the main benefit has been a reduction in operational costs. The ability to have high-quality network-delivered services has meant they can have access to the most powerful infrastructure available without having to buy the physical IT infrastructure.
Upgrade and maintenance have become considerably easier for organisations. In the past, when computer systems were managed in-house, it was a considerable undertaking to ensure that software was updated and security systems maintained. While there is still a need to manage these on private and hybrid cloud systems, the use of public cloud system has meant the updates and upgrades can be left to the experts who manage the cloud data centres. New features can be added to platforms and rolled out to either all or select users depending on the maturity of the software (i.e. if it is in beta or a final release state). Software as a Service (SaaS) provides users with upgrades seamlessly and means software management is a thing of the past. Users do not have to worry about which operating system they use and administrators do not have to tackle complex software dependencies if they are using SaaS.
Some industries cannot use the public cloud. Restrictions and regulations in areas such as government and law mean cloud computing is not feasible. These areas of industry have to rely on private cloud systems or traditional Local Area Networks depending on how strict the regulations are.
In 2007, Dropbox was founded by two MIT students and this became the first successful provider of cloud storage. It provided a service that was embraced by consumers and businesses alike and provided a glimpse of the future. Google and Apple later developed systems with very similar features and sharing large files between devices and people became a reality.
Apple was one of the first companies to invest heavily in cloud technologies, mainly due to it having released the iPod and later the iPhone, which created a need to share data between devices. The initial solution involving plugging all the devices into a Mac was counter-intuitive and inconvenient for users. Apple changed its strategy in 2011 from having a home “hub” for entertainment (i.e. the Mac) to providing a way to sync all the devices in their ecosystem through cloud computing. The key strategy they applied was for the consumer to have no idea that the cloud even existed. Consumers were only conscious of the fact that when a photo was taken on one device, or a file saved, or music bought, it would be propagated to all the other devices. This approach has since been adopted by most major technology providers, especially those involved in mobile technologies.
Music and movies were one of the primary reasons for the adoption of cloud technologies. In 1997, Netflix started their DVD rental service, and ten years later, in 2007, they took the service online. In 2008, the Swedish streaming service Spotify was founded and took the model to the music industry. It took a while for other companies to follow suit. In 2014, Apple launched the iTunes Match service that allowed customers to put their entire MP3 collection online and, if it was part of iTunes, access their music directly from the high-quality iTunes library which was, naturally, stored in the cloud (even if they only had poor quality MP3s). In 2015, Apple Music was launched as a direct competitor to Spotify.
By the mid-2010s, the impact of Spotify, Netflix and Apple were so profound that even traditional cable companies had to change the way they deliver their services. For example, Telefonica in Spain created their cloud streaming service that meant they could remain competitive with the streaming services. They transformed their offerings, making it looked and behave much like Netflix. Consumers could watch any program, on-demand (for 7 days). Internationally cable providers began offering on-demand services. Despite efforts from cable companies they have continued to lose customers as people “cut the cord” and move to services such as Netflix. It has become a trend that young people are mot even signing up for the traditional services.
Recent years have seen a dramatic reduction in illegal copyright infringement due to the new digital services. The main reason for this is the new level of affordability of digital products compared to the cost of the physical products they replaced. Even video games and software have adopted the model, and this has brought massive revenue to an industry that was almost destroyed by digital theft in the 1990s. In 2018, game developers are offering games on a subscription basis, much like Netflix, where customers can access hundreds of games by paying a small monthly subscription.
The impact of the cloud on everyday life has been profound. We no longer have to go to a computer to access all our files and services and working between devices has become seamless. For example, if we need to access contacts, they are always available, and even areas like video games have been affected. Now, having a powerful computer is not necessary to be able to play the most complex and processor-intensive games. Nvidia, one of the biggest graphics card manufacturers, has created a system that allows us to stream games from cloud data centres. All the graphics and processing is done on their servers and, with a fast internet connection, it is possible to play games on any computer with the same resolution and speed as a machine costing thousands of dollars.
The future, according to scientists, is the Web 3.0. It fundamentally relies on cloud technologies to provide us with an “intelligent” internet that can is accessible through virtual assistants that utilise artificial intelligence. Cloud computing means the complex and computationally intense tasks of understanding natural speech and working out what a person needs (not just what they said) can be offloaded from the relatively underpowered mobile devices that we use to interface with the web to the scalable and ultra-fast systems stored in cloud computing data centres. It will mean the web will be able to predict and figure out what we want. In the future, the combination of mobile devices and the intelligent web will mean we no longer need to search and interact with the Internet as much manually.
Privacy is the biggest concern when using the cloud and technology companies have taken dramatically different approaches, all with benefits and drawbacks. Google presumes that their consumers do not mind their personal data being processed in the cloud. For example, they analyse the photos and information that users upload to provide smart image tagging and recognition. Apple, on the other hand, believe their consumers would not want them processing their data in the cloud and restrict processing to their mobile devices. Google’s method is faster but with the compromise of users not maintaining control and complete privacy, Apple’s users have a less speedy service but maintain control and privacy.
Cloud computing has impacted almost all aspects of our digital lives and will continue to do so as technologies become even more pervasive and entrenched in our routines. Most people are entirely unaware of the cloud and how they use it, mainly due to it being complicated and challenging to define. Businesses have seen massive cost savings, and improvements in availability, security and they are more confident that their systems are scalable and can meet all their needs to support decision-making processes. Consumers have seen the way they buy and view media change, to the point where the world of physical media that existed 20 years ago seems nothing but a distant memory. Mobile and cloud have allowed devices to be instantly in sync, allowing devices to work together seamlessly. The future is going to see us speaking to and interacting with artificial intelligence systems that will be able to tap into the vast data stored in cloud computing data centres. This will bring a new kind of world wide web that will be able to intelligently help us in almost every aspect of our lives, whether business or personal. The cloud has enabled this generation of applications and systems and is going to bring us far more life changing advances in the coming years.