Cloud computing has revolutionized the way businesses and individuals access, store, and manage data and applications. By leveraging the power of remote servers hosted on the internet, cloud computing provides scalable, on-demand resources and services that are accessible from anywhere, at any time.
What is Cloud Computing?
Cloud Computing is an internet based service that provides on demand access to shared computer resources and data. In other words, cloud computing means delivery of hosted services and resources over the internet. These resources include storage, server, network and applications. These resources can be quickly equipped and can be freed easily. Virtualization is the driving force behind cloud computing.
Characteristics of cloud computing
The characteristics of cloud computing explain why cloud computing is the go-to destination for building and deploying modern applications. There are many characteristics of cloud computing. Some of those are:
1.On-demand self-service
Cloud computing is based on a self-service model. In this, users can manage their services such as allotted storage, server uptime, and so on, making them their boss. Users can monitor their consumption and use the tools and resources they require directly from the cloud portal.
This enables users to make intelligent decisions and holds them accountable for their consumption. Users can use resources tailored to their needs and specifications. Cloud service providers do not instruct users on managing their services. Instead, they are billed on the payment date depending on one’s usage of the services.
2.Broad network access
One of the most intriguing characteristics of cloud computing is that territorial barriers do not limit it. Cloud computing has a broad range of applications and is accessible online.
You can access your files and documents and upload them from everywhere. To accomplish this, you only require a good internet connection and a device.
3.Resources Pooling
Among the most crucial characteristics of cloud computing is resource pooling. This term refers to a cloud service provider’s ability to share resources among multiple clients, providing each with a unique set of services based on their needs.
It is a multi-client tactic used for data storage, processing, and bandwidth provisioning. The administration process of real-time resource allocation does not conflict with the client’s point of view.
4.Rapid Elasticity
The Computing services should have IT resources that are able to scale out and in quickly and on a need basis. Whenever the user requires services it is provided to him and it is scaled out as soon as its requirement gets over.
5.Measured Service
The resource utilization is tracked for each application and occupant, it will provide both the user and the resource provider with an account of what has been used. This is done for various reasons like monitoring billing and effective use of resources.
Concepts of Virtualization in cloud computing
Virtualization is technology that you can use to create virtual representations of servers, storage, networks, and other physical machines. Virtual software mimics the functions of physical hardware to run multiple virtual machines simultaneously on a single physical machine. Businesses use virtualization to use their hardware resources efficiently and get greater returns from their investment. It also powers cloud computing services that help organizations manage infrastructure more efficiently.
Virtual machines and hypervisors are two important concepts in virtualization.
Virtual machine
A virtual machine is a software-defined computer that runs on a physical computer with a separate operating system and computing resources. The physical computer is called the host machine and virtual machines are guest machines. Multiple virtual machines can run on a single physical machine. Virtual machines are abstracted from the computer hardware by a hypervisor.
Hypervisor
The hypervisor is a software component that manages multiple virtual machines in a computer. It ensures that each virtual machine gets the allocated resources and does not interfere with the operation of other virtual machines. There are two types of hypervisors:
- Type 1 Hypervisor
- Type 2 Hypervisor
Following are the type of Virtualization:
- Hardware Virtualization
- Operating System Virtualization
- Desktop Virtualization
- Storage Virtualization
- Network Virtualization
Cloud Service Models/Cloud Computing Services
There are the following three types of cloud service models –
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
1.Software as a Service(SaaS)
Software-as-a-Service (SaaS) is a way of delivering services and applications over the Internet. Instead of installing and maintaining software, we simply access it via the Internet, freeing ourselves from the complex software and hardware management. It removes the need to install and run applications on our own computers or in the data centers eliminating the expenses of hardware as well as software maintenance.
Software as a Service enables the user to use the deployed applications running on the cloud infrastructure. The consumer is not responsible for managing the underlying infrastructure and the applications.
SaaS provides a complete software solution that you purchase on a pay-as-you-go basis from a cloud service provider. Most SaaS applications can be run directly from a web browser without any downloads or installations required. SaaS applications are sometimes called Web-based software, on-demand software, or hosted software.
For example: The companies providing the cloud services are Salesforce.com, Cloud Switch, Microsoft Office 365, Bigcommerce and Dropbox.
2. Platform as a Service (Paas)
In the PaaS model, cloud providers deliver a computing platform typically
including operating system, programming language execution environment, database,
and a web server. Application developers can develop and run their software solutions on a
cloud platform without the cost and complexity of buying and managing the underlying
hardware and software layers. With some PaaS offers, the underlying computer and
storage resources scale automatically to match application demand such that cloud
the user does not have to allocate resources manually.
Examples of PaaS include: Amazon Elastic Beanstalk, Cloud Foundry, Heroku,
Force.com, EngineYard, Mendix, Google App Engine, Windows Azure
Compute and OrangeScape.
3. Infrastructure as a Service( Iaas)
IaaS refers not to a machine that does all the work, but simply to a facility given to
businesses that offers users the leverage of extra storage space in servers and data
centers.It is also known as Hardware as a Service (HaaS). Infrastructure as a Service provides virtual computing resources such as storage, server, virtual machines and network over the internet. A third party provider provides this infrastructure to the consumer.
Examples of IaaS include: Amazon CloudFormation (and underlying services such
as Amazon EC2), Rackspace Cloud, Terremark, Windows Azure Virtual Machines, Google
Compute Engine, and Joyent.
Cloud Computing Deployment Model:
Cloud computing can be deployed in different models depending on the organization’s needs
and there are several Cloud computing deployment models:
Public Cloud
The public cloud is a type of cloud computing where cloud infrastructure and services are offered over the internet to the general public or large industry groups. Unlike private clouds, the infrastructure in a public cloud is owned and managed by the service provider, not by the individual consumer. This model allows users to access systems and services easily, often at a lower cost, due to the shared nature of resources.
Key Features:
- Accessibility: The public cloud is open to anyone, making it easily accessible for individuals and organizations.
- Cost-Efficiency: It offers flexible pricing models, such as pay-as-you-go, subscriptions, or even free services, making it affordable.
- Scalability: Resources can be scaled up or down based on demand, without the need for significant upfront investment.
- Examples: Services like Google App Engine and Microsoft Azure are popular examples of public cloud offerings.
Public Cloud
A private cloud is a cloud computing environment dedicated to a single organization. Unlike public clouds, where resources are shared among multiple users, the private cloud model ensures that computing resources are reserved exclusively for one entity. This model is designed to deliver greater control, security, and customization compared to its public counterpart. It is also referred to as ‘corporate’ or ‘internal’ Cloud, term used to denote a proprietary computing architecture providing hosted services on private networks.
Some of the key features of public cloud are:
- Dedicated Environment: Resources are reserved exclusively for one organization, avoiding the need for resource sharing with other entities.
- Internal Hosting: Can be hosted on-premises or managed by a third party but remains isolated from external users.
- Enhanced Security: Protected by advanced firewalls and security measures, reducing the risk of data breaches and ensuring compliance with regulations.
- Greater Control: Provides extensive customization and control over the cloud environment, allowing for tailored configurations and performance optimizations.
- Scalability: Resources can be scaled according to the organization’s needs, offering flexibility to adjust capacity and performance.
Community cloud:
The community cloud serves multiple organizations with similar interests or needs, sharing infrastructure among a defined group. This model balances the cost benefits of shared resources with the advantage of a collaborative environment tailored to the community’s specific objectives. Managed either internally or by a third-party, the community cloud provides a more economical option than private clouds while still offering a level of security and customization that public clouds may not. It is particularly useful for industry groups, research consortia, or governmental bodies with common goals.
Some of the key features of community cloud are:
- Shared Infrastructure: Resources are shared among the community members.
- Cost-Effective: More cost-effective than a private cloud due to shared expenses.
- Collaborative: Facilitates collaboration among organizations with common goals or needs.
- Management: Can be managed internally or by a third-party provider.
- Security: Provides a balance between the shared infrastructure of public clouds and the controlled environment of private clouds.
Hybrid cloud:
The hybrid cloud combines elements of public, private, and/or community clouds to create a flexible and optimized IT environment. By integrating different cloud models, organizations can leverage the strengths of each, such as using public clouds for scalability and private clouds for sensitive data. This approach allows for dynamic data and application management across diverse environments, offering cost management, flexibility, and enhanced security. Hybrid clouds enable businesses to adapt their cloud strategy to varying needs, optimizing resources and maintaining control over critical assets.
Some of the key features are:
- Flexible Integration: Allows organizations to use a mix of cloud services to meet their diverse needs.
- Data Portability: Enables the movement of data and applications between different cloud environments.
- Scalability and Flexibility: Combines the scalability of public clouds with the control of private clouds.
- Cost Management: Offers cost management by leveraging public cloud resources for less sensitive tasks while keeping critical data on private clouds.
- Enhanced Security: Provides enhanced security and compliance by keeping sensitive data in private clouds and leveraging public clouds for less critical functions.
Advantages of Cloud Computing
- Cost Savings: Reduces upfront investment and offers pay-as-you-go pricing.
- Scalability: Easily scales resources up or down based on demand.
- Accessibility: Access from anywhere with an internet connection, supporting remote work.
- Disaster Recovery: Includes backup and recovery solutions to minimize data loss.
- Automatic Updates: Providers handle software updates and security patches.
- Enhanced Security: Advanced security features like encryption and multi-factor authentication.
- Collaboration: Facilitates real-time collaboration and sharing among team members.
Disadvantages of Cloud Computing
- Security Concerns: Risks related to data privacy and compliance.
- Downtime and Reliability: Potential for service outages and dependency on the provider.
- Limited Control: Less customization and possible vendor lock-in.
- Performance Issues: Potential latency and bandwidth constraints.
- Cost Management: Risk of unexpected costs and complex pricing models.
- Data Transfer and Migration: Costs and challenges associated with moving data to and from the cloud.
Security in Cloud Computing
Cloud computing has rapidly become one of the most in-demand technologies, with organizations of all sizes adopting cloud services. These services vary based on deployment models and specific requirements, and maintaining security is crucial to protecting cloud environments. Cloud security focuses on safeguarding cloud systems, data, applications, and information from unauthorized access, DDoS attacks, malware, hackers, and other threats.
Planning for Security in Cloud Computing
- Resource Sensitivity: Identify which resources can be migrated to the cloud and assess their sensitivity to risks. This involves evaluating the potential impact of security breaches on these resources.
- Type of Cloud: Determine the appropriate type of cloud (public, private, or hybrid) based on the organization’s needs and security requirements. Each type of cloud presents different security considerations.
- Deployment Risks: Assess the risks associated with deploying various cloud models and services. The risk profile can vary significantly depending on the cloud type and service model chosen.
Type of cloud computing security controls:
Cloud computing security controls are measures implemented to protect cloud environments from security threats and vulnerabilities. These controls can be categorized into different types based on their purpose and functionality.
Here are the main types of cloud computing security controls:
1. Deterrent Controls
Deterrent controls are designed to discourage or block potential attackers, especially those with insider access to a cloud system. These controls act as a barrier, making it difficult for malicious actors to carry out their attacks, and serve as a warning that unauthorized actions will be detected and dealt with. By increasing the effort required to compromise the system, deterrent controls can effectively prevent insider threats from becoming actual security incidents.
2. Preventive Controls
Preventive controls are proactive measures that aim to strengthen the cloud system against potential attacks by eliminating or reducing vulnerabilities. These controls are designed to prevent security incidents from occurring by addressing weaknesses in the system before they can be exploited. By making the system more resilient, preventive controls reduce the likelihood of successful attacks and help maintain the integrity and security of cloud resources.
3. Detective Controls
Detective controls focus on identifying and responding to security threats. These controls are designed to detect suspicious activities or breaches as they occur, enabling timely reactions to mitigate potential damage. Examples of detective controls include Intrusion Detection Systems (IDS) and network security monitoring tools. These tools continuously monitor the cloud environment for unusual patterns or unauthorized activities, triggering alerts that allow administrators to take corrective actions swiftly.
4. Corrective Controls
Corrective controls come into play after a security incident has occurred. These controls are activated to limit the damage caused by an attack and to restore the system to its normal state. Corrective controls may include measures such as data recovery processes, incident response plans, and system patches that address the vulnerabilities exploited during the attack. The goal of corrective controls is to minimize the impact of the incident and ensure that the system can recover quickly with minimal disruption to operations.
By understanding and implementing these controls, organizations can create a multi-layered defense strategy that not only prevents and detects security threats but also responds effectively to incidents, thereby maintaining a secure cloud environment.