Introduction to Cloud Computing
• • ☕️ 6 min readWhat is Cloud computing ?
Cloud computing is a virtualized pool of resources and computing power that is available on-demand that can be accessed through the internet.
A cloud service has three main characteristics.
Users can access vast amounts of computing power on demand. It is typically sold by the minute or the hour.
It is elastic — a user can have as much or as little of a service as they want at any given time
The service is fully managed and maintained by the provider.
A cloud can be private, public, or hybrid.
Public Cloud
In the public cloud model, a third-party cloud service provider delivers the cloud service over the internet. Public cloud services are sold on demand, typically by the minute or hour, though long-term commitments are available for many services. Customers only pay for the CPU cycles, storage, or bandwidth they consume. Leading public cloud service providers include Amazon Web Services (AWS), Microsoft Azure, IBM, and Google Cloud Platform.
Private Cloud
Private cloud services are delivered from a business’s data center to internal users. With a private cloud, an organization builds and maintains its underlying cloud infrastructure. This model offers the versatility and convenience of the cloud while preserving the management, control, and security common to local data centers. Internal users may or may not be billed for services through IT chargeback. Standard private cloud technologies and vendors include VMware and OpenStack.
Hybrid Cloud
A hybrid cloud is a combination of public cloud services and an on-premises private cloud, with orchestration and automation between the two. Companies can run mission-critical workloads or sensitive applications on the private cloud and use the public cloud to handle workload bursts or spikes in demand. The goal of a hybrid cloud is to create a unified, automated, scalable environment that takes advantage of all that a public cloud infrastructure can provide, while still maintaining control over mission-critical data.
There are three main types of cloud computing services
01. Infrastructure as a service (IaaS)
Cloud infrastructure services, IaaS are made of highly scalable and automated compute resources. IaaS allows businesses to purchase and use necessary resources on-demand and as-needed instead of buying the hardware without awareness of the size of the functionality and the need.
Advantages
The most flexible cloud computing model
High scalability
Resources can be purchased as needed
Hardware can be upgraded or downgraded based on the consumption
Disadvantages
- Security
- While the customer is in control of the apps, data, middleware, and the OS platform, security threats can still be sourced from the host or other virtual machines (VMs). Insider threat or system vulnerabilities may expose data communication between the host infrastructure and VMs to unauthorized entities.
- Internal resources and training
- Additional resources and training may be required for the workforce to learn how to manage the infrastructure effectively. Customers will be responsible for data security, backup, and business continuity. Due to inadequate control into the infrastructure, however, monitoring and management of the resources may be difficult without adequate training
- Legacy systems operating in the cloud
- While customers can run legacy apps in the cloud, the infrastructure may not be designed to deliver specific controls to secure the legacy apps. Minor enhancement to legacy apps may be required before migrating them to the cloud, possibly leading to new security issues unless adequately tested for security and performance in the IaaS systems.
02. Platform as a service (Paas)
PaaS provides cloud components to specific software while being used mainly for applications. PaaS delivers a framework for developers that they can build upon and use to create customized applications. The enterprise or a third-party provider can manage all servers, storage, and networking while the developers can maintain the management of the applications.
Advantages
High Availability
Scalability
Cost-effective and straightforward development and deployments
Automation Support
Disadvantages
- Data Security
- Organizations can run their apps and services using PaaS solutions, but the data residing in third-party, vendor-controlled cloud servers pose security risks and concerns. Your security options may be limited as customers may not be able to deploy services with specific hosting policies
- Integrations
- The complexity of connecting the data stored within an onsite data center or off-premise cloud is increased, which may affect which apps and services can be adopted with the PaaS offering. Mainly when not every component of a legacy IT system is built for the cloud, integration with existing services and infrastructure may be a challenge.
03. Software as a service (SaaS)
Software as a Service, also known as cloud application services, represents the most commonly utilized option for businesses in the cloud market. SaaS uses the internet to deliver applications, which are managed by a third-party vendor, to its users. A majority of SaaS applications run directly through your web browser, which means they do not require any downloads or installations on the client-side.
Advantages
Managed from a central location
Hosted on a remote server
Accessible over the internet
Users not responsible for hardware or software updates
Disadvantages
- Interoperability. Integration with existing apps and services can be a major concern if the SaaS app is not designed to follow open standards for integration. In this case, organizations may need to design their own integration systems or reduce dependencies with SaaS services, which may not always be possible.
- Customization. SaaS apps offer minimal customization capabilities. Since a one-size-fits-all solution does not exist, users may be limited to specific functionality, performance, and integrations as offered by the vendor. In contrast, on-premise solutions that come with several software development kits (SDKs) offer a high degree of customization options.
- Feature limitations. Since SaaS apps often come in a standardized form, the choice of features may be a compromising tradeoff against security, cost, performance, or other organizational policies. Furthermore, vendor lock-in, cost, or security concerns may mean it’s not viable to switch vendors or services to serve new feature requirements in the future.
- Performance and downtime. Because the vendor controls and manages the SaaS service, your customers now depend on vendors to maintain the service’s security and performance. Planned and unplanned maintenance, cyber-attacks, or network issues may impact the performance of the SaaS app despite adequate service level agreement (SLA) protections in place.