Cheshire started by discussing the definition of an utterly fundamental concept: the cloud. He first gave a rough explanation of the cloud to which he would complement not long after that; according to Cheshire, cloud represents infrastructure and application that can be accessed through the Internet, and with which we can have somewhat control over authentication. Personally, I always imagine cloud as a network of remote servers that store, manage and process data over the internet instead of local machines, and the resources can be accessed with an internet connection.
Moreover, as Cheshire added, we should always think of cloud computing as we think of cloud, he suggested to not only consider it as many computing resources connected by network, but a scalable and agile system as well. Still, it remains tricky to clearly understand the cloud definition. At the moment, it is best to dive into three types of cloud deployment model to better understand what cloud computing is.
Public Cloud
The most common and traditional there is, public cloud and SaaS share various similarities. Essentially, it is an infrastructure provided by a third-party provider, resources are shared among all users. Like SaaS, public cloud offers scalability, in-place and pre-configured infrastructure, accessible through the Internet, multi-tenancy and pay-as-you-go pricing. Unlike SaaS, public cloud is not a software application and can include either IaaS, PaaS or SaaS. Some prime examples of public cloud are AWS, Microsoft Azure and GCP. In simplest terms, public cloud is like house rental and SaaS is like hotel.
There are four main drawbacks to public cloud: security risks, limited control, compliance issues and latency. Security threats stem from it being public and can be available to anyone with an internet connection, and from it being a shared resources, meaning high risk of data breach. Cloud providers will of course aide us to some extent, but might not live up to our standards. Just as with SaaS, public cloud also has a control liberty trade-off where we are locked to certain settings and thus are unable to response to specific needs, leading to unnecessary costs and compliance issues. Lastly, the latency, as a matter of course, is caused by its reliance on the Internet.
Private Cloud
An attractive deployment model with notable benefits, private cloud is dedicated to a single organisation coupled with high security features. Firstly, it is either hosted on-premise or by a third-party provider and so it comes with high privacy and control. This is the common motive why companies like financial and healthcare ones choose this model, these organisations usually have strict regulations to comply with and have demands to keep some data inaccessible to public internet. Other advantages might include higher performance and manageable costs.
Obviously, there is always a catch. This option is, as can be expected, more expensive than the previous one, sometimes it costs just as much as hiring an IT team but instead we'll need to hire IT staff to mange software and infrastructure. Additionally, if we want to cut the cost by resorting to a third-party host, we will lose control over data privacy aspect. At the end of the day, nothing is truly perfect!
Hybrid Cloud
A combination of both private and public cloud, hybrid cloud is suitable for companies with legacy on-site systems that want to balance benefits from the cloud and the expensive costs come with it. So, they only move parts of a particular system while store the data on-premise. Keep in mind that this is a just one of the many scenarios where we will need hybrid cloud for the job, there are countless more in which hybrid cloud is the way to go. Hybrid cloud combines the best of both worlds.
On the other hand, a highlighted cons of hybrid cloud is high complexity. It can be a hassle to juggle between public and private, ensuring they are compatible, troubleshooting network infrastructure at third-party providers, and so on. Moreover, we will encounter latency due to the transferring of data between public and private cloud, between the geographical location of the system running the app and the data the app uses. All of these have to be carefully assessed before opting for hybrid cloud.