An Introduction to Cloud Computing
What is Cloud Computing?
You can think of cloud as renting resources like storage or computational power on some other computer in the same way you rent living space and facilities in someone else’s home where you pay only for what you use. Companies that provide Cloud Computing services are called Cloud providers. Ex: Microsoft(Azure), Amazon(AWS), Google(GCP).
So as a user, you leverage the internet to get better compute power, a bigger storage, better networking capabilities, analytical services and a lot more features on anything you’re working on. Kinda like upgrading your computer with better computation, storage, etc except everything takes place on the internet. This is why I feel cloud computing is so amazing. Don’t have a laptop/desktop that can do all your model training quickly? Just move it to the cloud and use one of the GPU options provided there where you only pay for it based on how long you’ve used it.
How does it work?
The cloud provider takes care of all the physical hardware and keeps your cloud system up-to-date. Depending on the kind of cloud service you choose(IaaS, PaaS, SaaS), your cloud provider also takes care of some software aspects as well.
SaaS is the most commonly utilized cloud service by far. A lot of people use cloud-based applications like Microsoft 365 and storages like OneDrive a lot in their daily life. The best part about SaaS is that you don’t have to worry about stuff like managing, upgrading or developing the software( Makes more sense when you read about IaaS and PaaS below). In SaaS, the user only uses the application while cloud provider manages it completely
2. Platform as a Service(PaaS)
This is a kind of cloud computing service where your cloud provider provides an environment for building, testing and deploying software applications. The user is only responsible for developing their applications and keeping it up-to-date. The cloud provider takes care of system updates, OS, servers, storage and infrastructure. Another feature is that developers can develop their own applications or customize cloud-based software. Ex: MS Excel Macro
3.Infrastructure as a Service(IaaS)
The cloud provider provides VMs(Virtual Machines) or Containers based on your needs where you can run any applications or servers you like. Here, the cloud provider is responsible for ensuring that the hardware works properly while the cloud customer is responsible for ensuring that the service they are using is up-to-date and has the latest security patches. IaaS is mainly used for stuff like testing and developing applications and storage and backup purposes.
Management levels of Cloud Services:
Which Cloud Service should I use?
Well, it depends on what you need. Most people just use cloud storage platforms like OneDrive (SaaS). You could use either PaaS or IaaS for development based on your needs. PaaS is a great platform for developers to roll out Applications quickly and easily without too much coding. IaaS is perfect if you want to specifically run software available only on a particular OS( Ex: ROS can be run only in most Linux-based platforms)
1.Public Cloud
The public cloud is the most commonly used model. It is something similar to everything that’s been described so far. When you use a cloud service like Azure where they provide cloud functionality to a huge number of people on maybe a global or national scale, you are using a Public Cloud Service. Everything runs on your cloud provider’s hardware and you don’t have to worry about anything hardware- related
Some Advantages of opting for public cloud service providers:
•Whatever services you choose can scale. Let’s say you’re website deployed on your cloud platform suddenly gets a huge increase in internet traffic. Public clouds can scale to the needs of your website automatically by having more servers and running more VMs and Containers to host them.
•Pay only for what you use
•Don’t have to worry about hardware
•Simplest model to setup and use
Some Disadvantages include:
- There may be government policies, industry standards, or legal requirements which public clouds cannot meet (Different countries have different policies)
- There may be specific requirements that cannot be met by public clouds. If you want your cloud to be configured in a very very specific way, it may be hard to achieve that with this model
- You don’t own the hardware or services and cannot manage them as you may want to.
- Unique business requirements, such as having to maintain a legacy application might be hard to meet
2.Private Cloud
If you own a private cloud, that means that you are now the cloud provider of your own cloud services. YOU oversee maintenance of hardware and software services and data centers. Your employees or customers are now the end users of your cloud service.
Advantages of Private Clouds
- You can ensure the configuration can support any scenario or legacy application
- You have control (and responsibility) over security
- Private clouds can meet strict security, compliance, or legal requirements
Disadvantages of Private Clouds
- Not suitable unless you’re a huge company with lots of cash to be able to find people with expertise in cloud security and also ensure physical data security
- You have huge initial costs to purchase the hardware for startup and maintenance
- Owning the equipment limits your agility to expand because to scale, you must buy, install, and setup new hardware
- Private clouds require IT skills and expertise that’s hard to come by
Why would one even opt for Private Clouds when it’s such a hassle?
You can for example, use private cloud when an organization has data that cannot be put in the public cloud, perhaps for legal reasons. An example scenario may be where government policy requires specific data to be kept in-country or privately.
A private cloud can provide cloud functionality to your customers as well as to your staff however you want.
3.Hybrid Cloud
Yeah you guessed it right!!!It brings together the best of both worlds from the public and private clouds to conduct specific services in the most appropriate location which is either on the public or private cloud. For example, you could host a website in the public cloud and link it to a highly secure database hosted in your private cloud or on-premises data center(Something like this is possible because cloud providers provide you with a lot of flexibility)
This is especially helpful when you have some things that cannot be put in the cloud, maybe for legal reasons. For example, you may have some specific pieces of data that cannot be exposed publicly (such as medical data) which needs to be held in your private data center.
Another example is one or more applications that run on old hardware that can’t be updated. In this case, you can keep the old system running locally, and connect it to the public cloud for authorization or storage.
Advantages of Hybrid Clouds
- You can keep any systems running and accessible that use out-of-date hardware or an out-of-date operating system
- You have flexibility with what you run locally versus in the cloud
- You can switch between public and private services depending on which is cheaper at a certain time
- You can use your own equipment to meet security, compliance, or legacy scenarios where you need to completely control the environment
Disadvantages of Hybrid Clouds
- It can be more expensive than selecting one deployment model since it involves you to spend money on hardware as well depending on your needs
- It can be more complicated to set up and manage
Which deployment model do I choose?
Are you a student?
The Hybrid or Public Clouds are your best option (Mostly Public Clouds)
Do you have a business idea and want to start working on it?
Again, your best options are either the public or the Hybrid Cloud( In this case, public clouds would be used more frequently)
Are you a big business with a top secret idea that’ll blow your competitors away? Or perhaps a national Government? : )
Using a Private Cloud model or a Hybrid Cloud model would be good (Preferably a private cloud, but only if you can ensure excellent physical security)
Next Steps
To proceed further with what you learnt, you can go through the following articles: