An Introduction to Cloud Computing
Everyone seems to be moving his workload to cloud computing and most of the time this makes sense, but outside of the IT world, what does the shift to the CLOUD really mean 🙂 ?
The concept of cloud computing has been around for many years in some form or another and is basically an evolution of what was once called “Colocation Services”. Today there are many terms used in cloud computing ranging from the “Cloud Computing Deployment Models” to the “Cloud Computing Service Models”.
Let’s start by discussing where this “evolution” is most apparent. Before cloud computing, businesses would buy the IT infrastructure, (the term IT infrastructure here simply implies to a small network switch, maybe a PC/server that would be “serving” files or other data and a small UPS to start with) place it in their office, most of the time without adequate ventilation, maintenance, cooling, backups, redundancy, etc.. (you get the point 🙂 ) and put their application on this infrastructure and then upload or input data into this infrastructure to be later used by the business users.
As time went by and businesses were growing the IT infrastructure might need to be upgraded or updated (according to which one was required first) and once again additional equipment would be bought and so on.
This growth was pushing businesses to co-locate their equipment into datacenters to solve some of the pain points mentioned earlier, (mainly ventilation, cooling, redundant power, physical access security) but there were also some co-location companies who went even further with this and started to offer the remaining services that a business would need to keep their servers appropriately maintained and these included maintenance agreements (which covered most of the time both hardware and software, backups, etc.)
The 3 key points here are that the IT infrastructure was most of the time owned by the business owner, maintained by the business owner and the data was owned by the business owner.
With Cloud computing 2 of those 3 points have migrated to the Cloud.
Servers and Server Connectivity are now part of a shared infrastructure being offered by the Cloud Service Provider (CSP) and are most of the time in the form of a virtual server/instance (In other words, the entire server has ended up being a process on a server). As for the network connectivity, this included varying levels of security offerings by the CSP.
Maintenance has also shifted to the CSP. This includes hardware maintenance, server cooling, power redundancy, hardware redundancy
Now the business owner was left with the ownership of the data only while the other aspects were being offered “as-a-Service”. This is a simplistic approach and I will describe below more details of the differences of the deployment models, the service models and some main characteristics of cloud computing.
Customer / Businesses now had the opportunity to use a portal to control or monitor their resources. There is no need to ask the service provider for a server restart or an unresponsive system as now the customer has access to the resource in multiple ways from the portal and can make their own interactions with the system/service
Since the service is hosted on the internet, then it can be reached also from anywhere as long as you have an internet connection. Please keep in mind that this does not mean that as you can reach it you are allowed to access it, resource (whichever resource) authentication and authorization, are different aspects which are handled separately.
Resources at Scale
At the CSP, resources are usually pooled together in what are often called resource pools where now the tenants can request their workload (whatever it is) from, without actually knowing the technical details of the underlying infrastructure.
Since the user actually requests resources from a common pool of resources (as it is shared), requesting more is just the process of assigning more by the CSP automatically.
With most service models, your consumption is usually measured over time and metered, cloud computing is no different. Every aspect of your usage will be shown in the portal with a timeline of your usage.
The Service Models
There are 3 main types of service models in the cloud computing (aaS) as-a-Service offering and these are IaaS (Infrastructure), SaaS (Software), PaaS (Platform). The main difference in each is that the level of responsibility is shifted from service to service. The diagram describes this in more detail
This is the basic resource offering from CSPs and it revolves around the 3 main pillars of cloud computing, Networking, Storage and Compute (CPU and RAM). The Elasticity mentioned earlier in the “Characteristics” section was mainly focusing on this service model. In case of load in the customer’s instances due to a spike in requests, new instances would be deployed in a matter of seconds to adapt to the load and once the spike levels down these new instances would be removed/deleted
This service model sits between IaaS and SaaS as in which part of the stack is the end-user responsible for. Here the tenant will use the platform to deliver software to his own end customers (which might sometimes be also another department within the same company)
In this service model, the CSP handles all the parts of the offering except for the data which is owned by the customer and remains the responsibility of the customer. This aaS model brings the most advantages to the SMB as the responsibility model is shifted entirely to the CSP. The software is mostly used via a browser without the need to install any additional client software on the end-user device. This service delivery model is paving the way for the concept of BYOD (Bring your own device) where the device ownership is irrelevant and users can work from any place and with any device as long as it has an internet connection.
The Deployment Models
Once again there are 3 main types of deployment models to move to the “cloud”. The public, private and hybrid models. The main advantages and disadvantages are what in the end will allow the business to make the decision. Last but not least each model emphasizes on the security and where the business wants to place the data
Most probably the most common deployment model and what most people understand when talking about cloud computing. Public refers to the “service” being publicly reachable, managed entirely by the CSP and can either be shared or dedicated infrastructure. It might sound strange that in a public cloud, infrastructure can be dedicated, but in fact, it is a model that certain CSPs do offer and it is mainly related to the licensing requirements of the software being installed inside the instances. Although the infrastructure might be dedicated it is still managed by the CSP but the levels of redundancy might differ from the standard shared infrastructure offerings.
The advantage of using a public cloud is the increased efficiency and subsequent cost-effectiveness from shared resources. Public clouds are typically cheaper than private and hybrid cloud solutions (as well as traditional on-premise computing) because they rely on economies of scale. Users don’t have to pay for services they aren’t using and don’t have to worry about managing and maintaining the physical infrastructure.
In this model, the data is placed on servers totally owned by the CSP although it can be encrypted for security at rest.
This model is very similar to the old co-location way of doing things with the main difference being the data residing on privately owned nodes that the business controls. The private cloud is mainly consumed by 1 customer or a number of the customer falling under the same “umbrella” from a corporate point-of-view.
Most of the characteristics of the cloud can still be found in the private cloud model but it is reachable only by a limited “private” number of tenants
This model is basically an implementation of the above models at varying degrees. Despite operating independently, the clouds in a hybrid environment usually communicate over an encrypted connection (security in transit) and allow for the portability of data and applications. Since the data at the public cloud might need additional security, it might be the case that the data needs to be encrypted (security at rest)
This is an increasingly popular cloud solution because it allows organizations greater flexibility to meet their technology and compliance needs.