Published: May 11, 2022
what is cloud computing: models, types, pros & cons
Cloud computing refers to technologies and services that allow computational and data-related tasks to be stored and delivered through the internet.
In the post-pandemic world, businesses have adopted remote working setups. With it, they’ve transferred processes into the digital space – making cloud computing ubiquitous across almost every industry. This, along with other digital processes, has made cloud computing even more powerful.
What is cloud computing?
A cloud computing solution refers to networking and computer services delivered online or through the cloud. It includes data transmission, processing, and storage services. The resources needed to meet these requirements include servers, networks, databases, software, and even analytics.
How does it work?
The central concept for cloud computing is that the services and processes are mainly done through the internet. It can be divided into the front end, which serves the customer side and the back end, where systems process and store data.
Front end: We see mobile apps or browser-based interfaces or any other portal or point that allows the user to access the data or the process from the cloud. Back-end: Refers to the main component of the cloud computing service. The servers, databases, and computers used to process information beyond the reach of the average user all fall within the back-end aspect.
Essentially, a user types in data or provides input from the front-end. It is then sent online to the cloud service provider's location, where it is processed through their servers and stored in databases. Similarly, user-requested data are pulled from the database, processed through servers, and transmitted through the internet and down to the user’s browser or app.
Types of cloud services
Cloud computing services are divided into three types. Businesses can choose between Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). Businesses can choose the setup that best suits their needs. Each of these cloud computing services has clear differences in terms of resource pooling capabilities, storage, and access to technology.
Businesses can choose the setup that best suits their needs. Each of these cloud computing services has apparent differences in resource pooling capabilities, storage, and access to technology.
Additionally, businesses can avail more than one kind of cloud computing service as any of these three can freely interact. Large enterprises rely on the cloud for varying access and resource requirements. Below is a discussion of the different cloud services and a short description of their uses and disadvantages.
1. Infrastructure as a Service (IaaS)
IaaS is best known as a fully self-service cloud computing service option. In this setup, entire segments of cloud computing infrastructure are offered exclusively for a single client’s use. Customers are given access to virtual servers, their own network and operating systems, and even their own storage drives.
Generally, an IaaS solution can be identified as the most flexible cloud computing model. Since it offers infrastructure, it is often easier to automate the storage, processing, networking, and usage of servers. Also, it provides flexibility as the purchase or subscription of infrastructure can be changed based on the company's needs.
Some examples of IaaS include Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Cisco Metacloud, Linode, and Rackspace. Usually, these are on-demand cloud services with a pay-as-you-go basis that allows customers to change their requirements regularly, with the associated costs changing accordingly.
Who should use IaaS
This is mainly used by businesses looking to utilise the flexibility and scalability inherent with the cloud. This makes it ideal for the following business conditions:
For larger companies looking to retain control and ownership over the entire infrastructure and the applications housed within, IaaS is a viable option.
Small businesses and startups benefit from IaaS since it offers a complete setup, thus saving on upfront costs for purchasing hardware, setting them up, and maintaining them. The same goes for the costs associated with developing their own software.
Companies that are looking for rapid scalability since this setup allows them to easily change or increase their hardware and software resources with their changing needs
Limitations and disadvantages of IaaS
By investing in the entire infrastructure as a service solution, these are particular concerns business owners and decision-makers should be aware of:
Resources and training
A skilled team will be required to manage the infrastructure. In an IaaS setup, the customer is in charge of their own data centre. The cloud provider's teams no longer provide security, data backup, and business continuity.
If the company doesn't have an in-house team, training its own team in the operation, management, and maintenance of its IaaS is necessary. Otherwise, they will need to outsource the entire database management.
As mentioned, security falls to the client for the IaaS model. One possible risk is potential vulnerabilities from virtual machines (VMs) used in the system. These VMs could be the source of an insider threat that exposes exploits or weak spots in the network.
Modifying legacy apps
If the business has its own software, it might also be required to make updates or modifications to ensure compatibility with the cloud infrastructure they have. This means an entire development cycle, including testing for performance and security. Skipping tests for patches or updates could open up vulnerabilities that could put the app and the whole network at risk.
2. Platform as a Service(PaaS)
A platform as a service (PaaS) arrangement provides cloud-based services to software mainly being used to develop an application. Generally, customers can provision, create, run and manage their own computing solution without covering the underlying cloud infrastructure.
Essentially, the customer retains ownership of the application developed, although the infrastructure (servers, networking, storage) remains with the vendor or third-party provider.
Also, instead of delivering only the software that meets the customer requirement, as is the case with software as a service setup, PaaS gives the customer the platform to develop their own software. This app development platform is also delivered via the internet, letting the customers focus on their own app without having to develop, procure, or set up their own development environment, operating system, network, or storage.
Some examples of PaaS include the Amazon Web Services Elastic Beanstalk, a PaaS setup under Windows Azure, the Google App Engine, Heroku, and OpenShift.
Who should use PaaS
Its main advantage is cost-efficiency, especially for development-based requirements. It is also scalable since most of the vendor-customer cloud environment is based on virtualisation, allowing the users to change their application in their native environment or change their platform requirements regarding cloud migration capabilities, disaster recovery plans, or the support offered for mobile devices.
Users can support multi-cloud setups or multiple developers working on the same project by using the same cloud-based platform. Even when external parties such as quality assurance or beta testers are included, customers can be assured of speed, accessibility, and flexibility for the project.
If the application is geared more towards development, PaaS should be more than enough to meet your needs.
Limitations and disadvantages of PaaS
For platform as a service cloud providers, data storage must often remain with the vendor-owned and controlled servers. As such, here are a few points to consider:
The data remains with the third-party cloud providers, creating security concerns. Another consideration regarding data privacy in these often-public cloud services is that their existing hosting regulations might not be aligned with those you plan to implement with your app in development.
Admittedly, PaaS is more complex than the other two models in connecting parts of the application. For legacy projects built with modules intended for on-site deployment and operation, it might pose specific challenges to modify and adapt them for cloud storage and use.
Arrangements with the vendor
There are business requirements that influence the adoption of PaaS solutions. Lock-in periods with cloud providers might be a disadvantage for fast-paced projects with short projected lifespans.
Since it is halfway between IaaS and SaaS, having a platform as a service could find limited utilisation with specific automation workflows, especially for the front-end side.
3. Software as a Service(SaaS)
Also known as cloud application services, software as a service solution is the most commonly used among the three types of cloud computing services. It delivers function-specific applications through the internet. These online apps, delivered through web browsers, a mobile device, or specific application software, are owned and managed by the cloud vendors. This means that SaaS solutions usually require an internet connection to work.
They are usually limited in scale, as they only provide a particular application, and the ability to modify them is generally restricted from the customer's side. However, they are usually cheaper and more convenient, allowing more companies to start their cloud adoption strategies.
Additionally, they no longer need investments for infrastructure hardware (as with IaaS) or the need for skilled IT professionals to develop specific functionalities (as with PaaS). Usually, users only need to download the app or access it through a web browser, and they can start using it almost immediately.
The rest of the responsibilities, such as building the app, managing data, cloud deployment, providing security, and the need to upgrade and maintain, all fall to the vendors and their cloud systems.
Who should use SaaS
Its accessibility and portability make SaaS ideal for a lot of non-specialised applications that don't require specialised networks or big data cloud setups.
It makes SaaS perfect for small companies and startups that are only looking to launch their businesses with specialised automation needs such as HR management, finance tracking, or e-commerce applications. This is perfect for startups who do not require private cloud services or increased computing capabilities, as is the norm with tech or data-centred applications.
Limitations and disadvantages of SaaS
Geared towards cost savings, there are a number of limitations for SaaS that makes it a questionable option for more advanced or more complicated needs. Below are some considerations to check before adopting software as a solution:
For SaaS, large volumes of data from multiple customers go to the vendor's server. This means that the computing resources they have must be able to support customer needs. This means that businesses handling sensitive data might face increased costs for migrating their data into a public cloud service.
Most cloud computing services under SaaS are designed to run independently. As such, it's pretty rare for these programs to use open integration standards. This might be challenging from the customer side since they'll have to create their integration systems or find another that does. However, most solutions today like Trello, Zoom, or Google Workspace are increasing integration with other apps.
Most readily available apps are designed for a specific use, making them lack flexibility or having compromises against performance, cost, or security. Additionally, certain cloud service vendors implement lock-in periods that make it unwise for small businesses to shift providers.
Cloud computing deployment models refer to the specific configuration of cloud resources like storage sizes, deployment infrastructure specifics, and proprietorship of segments included within the cloud services.
There are four main deployment models, depending on who retains ownership and control and where the infrastructure is located. Learn more about these models in the discussion below.
Public cloud services are stored on third-party servers, with their content available to the general public. Usually, infrastructures in a public cloud remain with the service provider, who also oversees the control and management. They are also in charge of pooling cloud resources.
This deployment model eliminates the need for customers to set up and invest in their own hardware. Usually, the services can be offered free or on a subscription basis, allowing users to change plans or scale depending on their needs.
As a public server, this is open to general traffic. Using this model is advisable for businesses with lower privacy requirements. However, it is essential to note that public cloud providers share resources but retain security for each user's data.
Some examples of public cloud include the Amazon Elastic Compute Cloud (Amazon EC2), which essentially lets users "rent" virtual systems from the cloud provider for running and testing their applications. Another example is the IBM Cloud, which contains cloud computing services for users. With IBM Cloud, users can enjoy full-stack support that allows for a wide variety of applications, covering almost all cloud computing needs for their clients.
Advantages of public cloud
Convenience: The third-party provider is in charge of all server-side maintenance and upkeep. Usually, users are limited to using the services included in the cloud platform.
Scalability: With free or pay-as-you-go payment options, you can quickly scale up or down the public cloud computing capabilities you need.
Cost efficiency: There's no need for upfront costs related to setting up your own cloud computing infrastructure or training personnel on the operation and maintenance. Usually, public cloud computing services are cheaper because of the vast market and the increased competition.
Virtually zero downtime: Public cloud providers are usually prepared to handle heavy traffic from different locations. They maintain an extensive network of servers to ensure that the entire system remains online. With virtually zero downtime, businesses can rest easy knowing that they won't suffer tremendous losses with the services offered by their cloud provider.
Disadvantages of public cloud
Although designed to withstand attacks and outages, there are still risks of collapse and process disruptions that cause massive damage. This could happen because of the wide client base public clouds serve. Also, there's a lack of customisation options since public cloud services are standardised.
Public and private clouds are mainly similar in terms of architecture and technical setup. Their main difference, however, is in the proprietorship of systems. As the name suggests, public clouds are designed and made available to the public. On the other hand, private clouds have restricted access to only a single company.
The infrastructure might be hosted on-site or through external facilities from the third-party vendor for a private cloud. Regardless of the physical location, access and control remain with the owner company.
Advantages of private cloud
The main advantage of using a private cloud is its customisability. Companies are usually free to launch modifications, changes, and custom content. Also, with limited access, security risks are reduced. However, this makes certain private cloud providers lack the necessary incentive to continue improving their security measures.
Disadvantages of private cloud
Companies adopting this deployment model usually face much higher costs than other options. It can require specific infrastructure and software investments, plus training for the team.
A hybrid cloud mixes features from private and public clouds. This allows companies to mix functionalities to perfectly meet their unique requirements.
This deployment model allows companies to weigh different options and assign every process or aspect to either a public or private cloud solution. By adopting this setup, you can enjoy the accessibility from public servers while having the security of a private cloud, especially in the more sensitive pieces of information.
However, using hybrid clouds could also require a skilled or experienced team to handle the distribution between cloud deployment models. There's also the integration concern between the systems and the different cloud computing companies.
Cloud computing has become a standard solution for most businesses. Here are a few reasons why cloud platforms are becoming the norm for businesses today.
Minimised costs: One of the most inviting reasons to join in the growing cloud computing work is the cost savings involved. It eliminates the need to make significant investments in handling and processing data. The company can allocate the money they saved for more crucial and valuable expenses.
Accessibility: Since these services are online, businesses worldwide can access the functionalities they need – provided that they are connected to the internet.
Reliability: Cloud adoption is a reliable way of shifting business processes into cyberspace with servers and platforms maintained by dedicated companies.
Huge storage space: Storage sizes are generally large, with additional spaces available for purchase or upgraded subscription plans. Additionally, multiple clouds have different encryption and security measures that ensure all files entrusted to them are kept safe from attacks and breaches.
On the other hand, several limitations remain that make cloud computing unadvisable for all purposes and applications.
Internet connection: The main requirement for cloud computing services is a stable internet connection. Depending on the application or processes, you might want to make sure you have good download/ upload speeds and a large bandwidth to ensure you enjoy these services without delay or interruption.
Control restrictions: Since you're sharing resources with the vendor, there's always a limit to how much you can do with your cloud computing setup. As opposed to having your own on-site infrastructure.
Continuing costs: Most enterprise-level cloud computing services are based on a pay-as-you-go basis, which means that there will be an ongoing cost as you use and rely on their services.
Learning about cloud computing – its technologies, types, and deployment models – is vital to keep your organisation relevant and thrive in the new normal. By understanding how it works and the available cloud applications, you can better make choices on a lot of things, from choosing the right cloud provider to weighing the benefits of cloud computing that works for you.
More importantly, it prepares your organisation for the upcoming technological trends that further empower businesses. For example, most cloud computing solutions now use artificial intelligence. This technology includes automating traffic management or optimising connectivity, known as AI Ops.
As we move forward, technology will only move faster and better. Where we relied on 4G technology for wireless communication, we now have access to 5G and Edge communication systems. These allow for more powerful computing features at much shorter lead times.
It remains important to remember that each organisation has its own unique requirement. Even in adopting cloud computing solutions, there are no one-size-fits-all answers that uniformly meet expectations. It is essential to do your own research or consult industry experts to identify the solution your organisation needs.