What is Cloud Computing? Why should we use it?
Today we’re going to talk about cloud computing.
What is cloud computing? Why do we use cloud computing or what is the use of cloud computing?
First of all, I’m going to tell you about the technical definition of cloud computing then we will take one real-life example of cloud computing and it will be easier for you to understand the definition and how does it work.
Technical definition as per Wikipedia:-Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet.
Or in an easy way, we can say that:-
It is the use of remote servers on the internet to store, manage and process the data rather than on local servers.
For example, if you want to develop an application or let’s take an easier example, if you want to host a website there is one and only requirement, that is, servers. But if you have thought that because you bought servers for Webhosting, your expenses will go down then let me tell you they won’t. You have to maintain the servers too by making a proper cooling room to prevent overheating as they are constantly processing or working throughout the day and night. We have to be sure so that no one would penetrate our servers and steal our data. For that, we have installed our own security system. Whatever is required to maintain the servers or anything we have to do it on our own. All the things are in your hands. So, all these things will give you a headache. Also, all the things are going to be managed by you, so the expenses will go up to your rooftop and there will not be an ending for that.
Then, what is the best option to avoid all the things that result in the headache and should be given to someone else so that we can focus on our actual work without getting tensed.
Cloud computing can help us to avoid all this drama or headache.
Local servers are the servers that you have bought on your own.
And remote servers are the servers that are maintained and distributed by some other company giving you the access of servers over the internet. As the servers are not maintained by you so the expenses and headache go down.
So, How cloud computing benefits us?
Let’s understand it by taking an example:-
A company which needs less space on servers, for now, they can make an order on some cloud service provider company saying that we only need this amount of space then that service provider will give the company that amount of space in a matter of minutes and if that company goes larger and then they need more space in servers then they will also get more space and if by chance something goes wrong and company loses some of their employees and then they want to reduce the space then also they can do it.
It means you can get as much space in servers and also change according to your needs.
So, there are 3 different types of cloud computing models
- Iaas is known as Infrastructure as a Service
- SaaS is known as Software as a Service.
- PaaS is known as Platform as a Service.
let’s understand these models one by one.
Cloud computing: Infrastructure as a Service (IaaS): –
Let’s take an example to easily understand this. Suppose, there is a flat in a building but the owner doesn’t want to live in that flat so, he decided to give that flat on rent. So, the person who gives rent to the owner is a client of cloud and who takes rent is a cloud service provider.
So, now flat is just an infrastructure likewise cloud service provider also gives the infrastructure to cloud customer or client.
Now, think like a person who is living in that flat so now the whole flat is yours and you can use it as you want. It’s flexible as you can put things anywhere according to you likewise you can do in IaaS.
You will be provided with a basic model of infrastructure. You have more freedom and control over the system.
You will be provided with depth access to the system. A virtual machine, storage, middleware, IP address, etc. all the things are included in IaaS.
And most importantly you won’t have to worry about any maintenance of the system, physical machine, security problems and any problem which occurs day to day in the system. All such problems will be solved by your service provider.
You have enhanced scalability.
How to access IaaS in Cloud? Or how to know you are dealing with IaaS in Cloud?
The answer is simple
Imagine you have an Amazon web Service account or AWS account and when you log in to your account. Now in your amazon web service dashboard you can see there is a compute section and under this section, you can see an option called EC2. That EC2 is IaaS.
when you open EC2 of compute section in AWS at that time you are dealing with IaaS after that instances are launched and after that you are given with an option of choosing operating system, which type of server do you want to use web server or application server or database server etc. all these options will be there in your IaaS.
Advantages of IaaS are:
- Dynamic: Users can dynamically opt & configure devices such as CPU, storage drive, etc.
- Easy Access: Users can easily access the vast cloud computing power.
- Renting: Flexible and efficient while renting IT infrastructures.
- Full control of computer resources along with portability.
Cloud Computing: Software as a Service (SaaS)
In SaaS, you don’t have to have any technical knowledge of any kind of cloud computing.
So, why then SaaS is called Software as a Service or how does it work?
As in SaaS, you are provided with Software or you call it as Graphical user interface through which you can choose any pick what you want to do. And Who uses SaaS then?
SaaS is mostly used by users like us who don’t want to go in-depth with technical knowledge. We only want our work to be done in an easy way without getting into any trouble.
Here in SaaS all the technical things like a virtual machine, storage, security issues all back end things are managed and run by your cloud provider
You only have to do your work upload your files or anything whichever you want. You just need two things. And what are they?
A high Internet Connection
And Money to pay fees to cloud providers.
That’s it. You can access it from any device which has an internet connection to access the cloud and its services.
Here, you don’t have any platform dependency.
So, here’s an example for you to understand it a little bit easier.
We all order food online. And once we make the payment we don’t worry about who is going to deliver food or who will be the cook what ingredients will be present in our food yaa??
We just care about our food to delivered in time that’s it. So, you are paying them for using their services for getting your food to be delivered at your home.
That’s how here SaaS works in the cloud.
And, also you don’t have any access to technical kinds of stuff.
SaaS applications can be called as Web-based software, on-demand software, or hosted software. Applications of SaaS only runs on SaaS provider’s servers.
You have better access to data from any networked enabled device like mobile, laptop, tablet while making it easier to manage privileges, monitor data use, and can be ensured that everyone sees the same information at the same point in time.
Advantages of SaaS
1. Reduces the customer’s need for dedicated, internal IT resources – personnel and hardware
Instead, the customer “subscribes,” typically on an annual basis, to the right to use the provider’s cloud computing infrastructure and applications on a shared basis with the provider’s other customers.
2. Potentially quicker deployment
There’s no need for the core software applications to be installed in the customer’s computing environment. Instead, they “reside” or are “hosted” in the vendor’s cloud environment. (Still, some configuration of the application may be necessary to optimize it for the customer’s business.)
3. Lower initial acquisition costs
The customer does not need to pay a large up-front license fee for a traditional “perpetual, non-exclusive” license to the software. SaaS applications are typically licensed on a subscription basis with an annual subscription/license fee. Over time, however, subscription costs may exceed the up-front license fee required in a traditional installed software model.
4. No maintenance releases or “patches” to install
Updates, upgrades, enhancements, bug fixes, etc., are made across the entire code base hosted by the vendor and applied to all customers. Often the subscription license fee includes this “maintenance.” However, technical support services will frequently require an additional charge. In the traditional installed software model, combined maintenance and technical support services can cost between 15-20% of the aggregate software license fee annually.
There is no need to purchase additional hardware as the customer’s needs grow, but the customer may need to purchase additional computing capacity from the provider, e.g., bandwidth, data storage, etc.
Cloud vendors typically will commit to a “service level agreement” guaranteeing at least 99.5 and frequently 99.9% uptime/availability, subject to superior force, including Internet outages and other exceptions.
7. Data security
Given the importance of customers’ concerns regarding the security of their data when it resides off-site (not to mention customers’ legal obligations with respect to confidential information, personally identifiable information and sometimes protected health information under HIPAA), reputable SaaS vendors will frequently provide potentially more robust data security than the customer would itself – this is particularly the case where the customer is a smaller company without deep IT resources, staff, controls or expertise.
Now, let’s talk about our last service model…
Cloud Computing: Platform As a Service (PaaS)
So, from the previous example here instead of ordering food online.
We go to the restaurant and there you get a table where you sit, order and eat food. Here you don’t have any access to the back end of cloud-like maintenance, security, etc.
In technical terms:
Platform as a service (PaaS) is a complete development and deployment environment in the cloud, with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud-enabled enterprise applications. You purchase the resources you need from a cloud service provider on a pay-as-you-go basis and access them over a secure Internet connection.
Like IaaS, PaaS includes infrastructure—servers, storage, and networking—but also middleware, development tools, business intelligence (BI) services, database management systems and more. PaaS is designed to support the complete web application lifecycle: building, testing, deploying, managing and updating.
PaaS allows you to avoid the expense and complexity of buying and managing software licenses, the underlying application infrastructure, and middleware, container orchestrators such as Kubernetes or the development tools and other resources. You manage the applications and services you develop and the cloud service provider typically manages everything else.
Advantages of PaaS
By delivering infrastructure as a service, PaaS offers the same advantages as IaaS. But its additional features—middleware, development tools, and other business tools—give you more advantages:
PaaS development tools can cut the time it takes to code new apps with pre-coded application components built into the platform, such as workflow, directory services, security features, search and so on.
Platform as a Service component can give your development team new capabilities without needing to add staff having the required skills.
Some service providers give you development options for multiple platforms, such as computers, mobile devices, and browsers making cross-platform apps quicker and easier to develop.
A pay-as-you-go model makes it possible for individuals or organizations to use sophisticated development software and business intelligence and analytics tools that they could not afford to purchase outright.
Because the development environment is accessed over the Internet, development teams can work together on projects even when team members are in remote locations.
PaaS provides all of the capabilities that you need to support the complete web application lifecycle: building, testing, deploying, managing and updating within the same integrated environment.
Cloud Computing: Cloud deployment Models:
What is Cloud Deployment Model?
A cloud deployment model is a “configuration” of certain cloud environment parameters such as the storage size, accessibility.
There are four main cloud deployment models that differ significantly and for which most of the companies opt: a public, private, hybrid and a community one. There are also web-based organization systems that are not so widespread, such as virtual private, inter-cloud and others.
The name speaks for itself, as public clouds are available to the general public and data are created and stored on third-party servers. As server infrastructure belongs to service providers that manage them and administer pool resources, the need for user companies to buy and maintain their own hardware is eliminated. Provider companies offer resources as a service on a free of charge or pay-per-use basis via the Internet connection. Users can scale them when required.
At the same time, relying on a third party in running their infrastructure deprives users of knowing where their information is kept and who has access to it. Often enough, public clouds experience outages and malfunction.
The pros of a public cloud are:
- Unsophisticated setup and use
- Easy access to data
- Flexibility to add and reduce capacity
- Continuous operation time
- 24/7 upkeep
- Eliminated need for software
The cons of a public model:
- Data security and privacy
- Compromised reliability
- The lack of individual approach
The public cloud deployment model is the first choice of businesses that operate within the industries with low privacy concerns. When it comes to popular cloud deployment models, examples are Amazon Elastic Compute, Google AppEngine, IBM’s Blue, Microsoft Azure, Salesforce Heroku, and others.
There is little to no difference between public and private clouds from the technical point of view, as their designs are very similar. However, unlike in the public one, only one specific company owns a private cloud, which is why it is also called internal or corporate. Because these data center architectures reside within the firewall, they provide enhanced security. Even though one organization runs its workloads on a private basis, a third party can also manage it, and the server can be hosted externally or on-premises of the user company.
Only a clearly defined scope of persons have access to the information kept in a private repository, preventing the general public from using it. In light of numerous breaches, a growing number of large corporations decided on a closed private type as it is expected to be less risky.
The advantages of a private model:
- Individual development
- Storage and network components are customizable
- High control over the corporate information
- High security, privacy, and reliability
The major disadvantage of the private cloud deployment model is its cost intensiveness, as it entails considerable expenses on hardware, software and staff training. That is why this secure flexible computing deployment model is not a choice of small to medium companies. Also, it is especially suitable for companies that seek to safeguard their mission-critical operations or for businesses with changing requirements.
Multiple service providers – including Amazon, IBM, Cisco, Dell and Red Hat – also build private solutions.
A community cloud deployment model resembles a private one to a large extent; the only difference is the set of users. While a private type implies that only one company owns the server, in the case of a community one, several organizations with similar backgrounds share the infrastructure and related resources.
As the organizations have uniform security, privacy and performance requirements, this multi-tenant data center architecture helps companies achieve their business-specific objectives. That is why a community model is particularly suited for organizations that work on joint projects. In that case, a centralized cloud facilitates project development, management, and implementation. Also, the costs are shared across all users.
The strengths of a community computing type include the following:
- Cost reduction
- Improved security, privacy, and reliability
- Ease of data sharing and collaboration
The shortcomings are:
- Higher cost than that of a public one
- Sharing of fixed storage and bandwidth capacity
- It is not widespread so far
Companies can decide on community solutions that Google, Red Hat, IBM, Microsoft or others provide.
As it is usually the case with any hybrid phenomenon, a hybrid cloud encompasses the best features of the above-mentioned cloud computing deployment models – public, private and community ones. It allows companies to mix and match the facets of all three types that best suit their requirements.
As an example, a company can balance its load by locating mission-critical workloads on a secure private cloud and deploying less sensitive ones to a public one. It not only safeguards and controls strategically important assets but does so in the most cost- and resource-effective way possible for each specific case. Also, this approach facilitates data and application portability.
The benefits of a hybrid model are:
- Improved security and privacy
- Enhanced scalability and flexibility
- Reasonable price
However, the hybrid cloud deployment model only makes sense if companies can split their data into mission-critical and non-sensitive.
So, let’s summarize all this above which we have talked about.
I think Cloud computing is going to be the need for companies to run one’s work smoothly and efficiently. The productivity of any work depends upon its outcome and not on the complexity involved in running it.
Cloud computing does the same in a hassle-free manner where you can access the services of the company specially designed to handle all the complexities while you can focus more on your work by just paying such companies an appropriate fee.
We have discussed three types of cloud computing namely- IaaS, PaaS and SaaS. All of the mentioned types have their own advantages such as reliability, data security, scalability, low to no maintenance hassles, etc.
Now, the decision rests upon you to choose the most suitable one according to your needs. Also, there are cloud deployment methods such as public cloud, private cloud, community cloud, hybrid cloud. Public clouds are available to the general public and data are created and stored on third-party servers.
There is little to no difference between public and private clouds from the technical point of view, as their designs are very similar. However, unlike in the public one, only one specific company owns a private cloud.
A community cloud deployment model resembles a private one to a large extent; the only difference is the set of users. Hybrid cloud encompasses the best features of the above-mentioned cloud computing deployment models – public, private and community ones.
I hope the above discussion proves to be my readers and I look forward to keeping doing such work through this website.
Also, don’t forget to share this article with your friends and loved ones. They also need to know about this wonderful lady. Stay tuned to our next upcoming articles!! Goodbye. Have a great day.