CHAITANYA (Deemed to be) University
BTech - IV Yr / VII Semester CSE
CLOUD
COMPUTING
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
Course Objective:
·
Study
of different Cloud
service models, service oriented.
·
Cloud
programming and software environments, Resource management .
·
Know the
fundamentals of Cloud, Cloud Architectures and types of services in Cloud.
·
Design
different Applications in cloud.
·
Explore
some important cloud computing driven commercial systems.
Course Outcome:
·
Ability to
understand various service delivery models of a cloud computing architecture.
·
Ability
to
understand the ways in which the cloud can be programmed and deployed.
·
Capability
to identify the association rules, classification and clusters in large data
sets.
·
Understanding
cloud service providers.
·
Understand
the concept of virtualization and how this has enabled the development of
Cloud
Computing, Understand scaling, cloud security and disaster management
UNIT
– I
Cloud
Computing Fundamentals: Definition of Cloud Computing, The Need for Cloud Computing, Defining
Cloud Computing, Principles of Cloud Computing, Five Essential Characteristics
of Cloud computing, Benefits of Cloud Computing, and Cloud Deployment Models.
UNIT–
II
Cloud
Computing Architecture and Management: Applications/Examples of Cloud Computing, Cloud
Architecture, Layer, Anatomy of the Cloud, Managing the Cloud Application,
Migrating Application to Cloud, Phases of cloud Migration Approaches for Cloud
Migration, Virtualization-Types of virtualization, and Hypervisor, Benefits of
Virtualization.
UNIT–
III
Cloud
Computing Services: Cloud Service Models, Infrastructure as a Service (IAAS),
Characteristics of IaaS, Suitability of IaaS, Pros and Cons of IaaS, Summary of
IAAS Providers, Platform as a Service (PAAS), Characteristics of PaaS,
Suitability of PaaS, Pros and Cons of PaaS, Summary of PAAS Providers, Software
as a Service (SAAS), Characteristics of SaaS, Suitability of SaaS, Pros and
Cons of SaaS, Summary of SAAS Providers,
Other Cloud Services Models.
UNIT–
IV
Cloud
Service Providers: Cloud File storage, A Cloud File System, Amazon Web Services (AWS)
Features of AWS, Security in the Cloud Security Overview – Cloud Security
Challenges and Risks – Software Monitoring – Security Architecture Design –
Data Security – Application Security – Virtual Machine Security – Identity
Management and Access Control – Autonomic Security.
TEXT BOOK:
1. Cloud Computing 2nd Edition by Dr. Kumar Saurabh from Wiley India 2012
2. Essentials of cloud Computing: K. Chandrasekhran, CRC press,
2014
REFERENCE BOOKS:
1. Mastering Cloud
Computing by Rajkumar Buyya, Christian Vecchiola, S.Thamarai Selvi from TMH
2013.
2. Cloud Computing: Principles and Paradigms by Rajkumar Buyya,
James Broberg and Andrzej
M. Goscinski, Wiley, 2011.
3. Distributed and Cloud Computing, Kai Hwang, Geoffery C. Fox,
Jack J. Dongarra, Elsevier,
2012.
4. Cloud Security and Privacy: An Enterprise Perspective on Risks
and Compliance, Tim Mather, Subra Kumaraswamy, Shahed Latif, O’Reilly, SPD, rp
2011.
UNIT
– I
Cloud
Computing Fundamentals: Definition of Cloud Computing, The Need for Cloud Computing, Principles
of Cloud Computing, Five Essential Characteristics of Cloud Computing, Benefits
of Cloud Computing, and Cloud Deployment Models.
Cloud Computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale. Rather than buying, owning and maintaining physical data centers, servers, and computing infrastructure, User can access technology services, and anything from applications to storage from a cloud service provider.
(Cloud
Computing, is one of the most demanding technologies of the current
time and is giving a new shape to every organization by providing on-demand
virtualized services/resources. Starting from small to medium and medium to
large, every organization uses cloud computing services for storing information
and accessing it from anywhere and at any time only with the help of the
internet.)
Need for Cloud Computing
Cloud computing addresses several challenges faced by
traditional IT systems:
Cost Efficiency: Reduces capital expenses (CapEx) for hardware and
software. Shifts to operational expenses (OpEx), allowing businesses to pay only for what
they use.
Scalability: Easily scales resources up
or down based on demand, which is ideal for businesses with fluctuating
workloads.
Accessibility &
Flexibility: Users can access applications and data from anywhere with an internet
connection, enabling remote work and global collaboration.
Performance & Speed: Cloud providers offer
high-performance infrastructure with minimal latency and automatic software
updates.
Disaster Recovery &
Backup: Cloud
systems offer built-in data backup and disaster recovery options, improving
business continuity.
Focus on Core Business: Allows businesses to focus on their core operations rather than managing
IT infrastructure.
Security: Major cloud providers invest
heavily in security features, often exceeding what small to medium-sized
businesses could afford.
Innovation & Agility: Cloud platforms offer tools and services (like AI, big data, and machine learning) that drive faster innovation
Principles of Cloud Computing (Five
Core Characteristics identified by NIST
that distinguish Cloud Computing from traditional IT)
The Principles of cloud computing
serve as the foundation for how cloud services are designed, delivered, and
managed. These include:
On-Demand Self-Service: Users can provision
computing resources (e.g., server time,
storage) automatically without requiring human interaction with the service
provider.
(Users can provision computing resources without human
interaction.)
Broad Network Access: Services are accessible over
the network via standard mechanisms (e.g., web browsers, mobile apps), enabling
access through multiple devices.
(Services are available over the internet and
accessible by diverse devices.)
Resource Pooling: The provider’s computing
resources are pooled to serve multiple customers using a multi-tenant model,
with resources dynamically assigned and reassigned according to demand. (Resources are shared among
multiple customers in a multi-tenant model.)
Rapid Elasticity: Capabilities can be rapidly scaled out or in,
automatically or manually, depending on demand. To users, the available
resources often appear to be unlimited.
(Resources can be scaled up or down quickly to meet
changing demand.)
Measured Service: Cloud Systems automatically
control and optimize resource use by leveraging metering capabilities (e.g.,
pay-per-use or subscription billing models).
(Usage is monitored, controlled, and billed based on
consumption.)
Key
Characteristics of Cloud Computing include
·
On-demand
self-service
·
Broad
network access
·
Resource
pooling
·
Rapid
elasticity
·
Measured
service (pay-as-you-go)
Cloud Computing Architecture - refers to the components and subcomponents required
for cloud computing.
The below figure represents an internal architectural view of cloud computing.
1. Front-End (Client
Side) - The user
interacts with the cloud via the front-end.
Frontend
of the cloud architecture refers to the client side of cloud computing system.
Means it contains all the user interfaces and applications which are used by
the client to access the cloud computing services, resources. Sends requests and displays responses. For example, use of a web browser to access the cloud platform, mobile
apps, client applications or custom clients, Devices as
Laptops, smartphones, tablets.
2. Back-End (Server
Side-Cloud Provider Side)
Backend
refers to the cloud itself which is used by the service provider. It contains
the resources as well as manages the resources, services and provides security
mechanisms. Along with this, it includes huge storage, Scalable cloud storage like block storage, object
storage-AWS S3, virtual applications, Physical
or virtual machines hosting the data and applications, traffic control mechanisms, deployment models, etc.
Managed or unmanaged
databases, e.g., MySQL, PostgreSQL, DynamoDB, Virtual networks, load balancers,
firewalls.
Client
Infrastructure: Client Infrastructure is a part of the frontend component.
It contains the applications and user interfaces which are required to access
the cloud platform. In other words, it provides a GUI (Graphical User Interface)
to interact with the cloud.
Application: Application is a part of
backend component that refers to a software or platform to which client
accesses. Means it provides the service in backend as per the client
requirement.
Service
Models:
Service in backend refers to the major three types of cloud based services like SaaS, PaaS and IaaS. Also manages which type of service the user accesses.
IaaS
(Infrastructure as a Service):
o Provides virtualized computing resources over the
internet, Virtual machines, storage, and networking.
o Examples: AWS EC2, Google Compute Engine, Azure VMs.
PaaS
(Platform as a Service):
o Offers a platform to develop, run, and manage
applications without managing infrastructure. Tools and services for developers
(e.g., Google App Engine, Heroku, AWS Elastic Beanstalk).
SaaS
(Software as a Service):
o Delivers software over the internet, on a subscription
basis.
o Examples: Google Workspace, Microsoft 365, Salesforce,
Gmail, Dropbox.
Runtime
Cloud:
Runtime cloud in backend provides the execution and Runtime platform environment
to the Virtual machine, Tools for
provisioning, monitoring, and scaling resources. Automation and orchestration
for managing complex environments
Storage: Storage in backend provides
flexible and scalable storage service and management of stored data.
Infrastructure: Cloud Infrastructure in backend
refers to the hardware and software components of cloud like it includes
servers, storage, network devices, virtualization software etc. Physical
servers and storage, usually virtualized to provide scalability.
Networking components (load balancers,
routers).
Security &
Management: Refers to management of backend components like application,
service, runtime cloud, storage, infrastructure, and other security mechanisms
etc. Security in backend refers to
implementation of different security mechanisms in the backend for secure cloud
resources, systems, files, and infrastructure to end-users. Authentication & authorization mechanisms. Identity
& Access Management (IAM), Encryption (data at rest and in
transit), firewalls, DDoS protection. Monitoring & Logging (e.g.,
AWS CloudWatch, Azure Monitor), Compliance & Governance Tools.
Internet: Internet connection acts as the
medium or a bridge between frontend and backend and establishes the interaction
and communication between frontend and backend.
Database: Database in backend
refers to provide database for storing structured data, such as SQL and NOSQL
databases. Example of Databases services include Amazon RDS, Microsoft Azure SQL
database and Google CLoud SQL.
Networking: Networking in backend services
that provide networking infrastructure for application in the cloud, such as
load balancing, DNS and virtual private networks.
Analytics: Analytics in backend service
that provides analytics capabilities for data in the cloud, such as
warehousing, business intelligence and machine learning.
Virtualization & Containers
Hypervisors: Manage virtual machines (e.g., VMware, Hyper-V).
Container Platforms: Docker, Kubernetes orchestrate lightweight, portable
application environments.
Cloud Computing Architecture Example
The following applications use cloud
computing architecture:
1. Online Learning App (GeeksforGeeks
Classroom): For
storing videos and study materials Geeksforgeeks are using cloud services like
Amazon S3. It also uses AWS Lambda to run small backend tasks like checking
quiz answers or updating progress. For managing users and logins securely,
services like AWS IAM (Identity and Access Management) are used. All of this
helps the application work smoothly, keeps your data safe, and makes sure your
learning experience is always available and fast.
2. Online Store (E-Commerce Website): Everyone is using
online websites like Amazon or Flipkart for online shopping.
It uses cloud computing to run its website and manage orders. When the customer
browse and buy products, customer will access front end. In the background,
cloud services keep track of what’s in the user cart, handle payments, and
update stock. Developers use platforms like AWS Elastic Beanstalk to run the
website easily. The product photos are saved in cloud storage like Amazon S3,
and customer details are stored in databases. Cloud tools also watch over the
site to keep it secure and running fast.
3. Mobile App Backend (Food Delivery App): Think of a food
delivery app like Zomato or Swiggy. Customer use the app to order food, and
everything works smoothly just because of cloud computing. The app customer see
on their phone is the front layer. When the customer orders something, cloud
services handle the process in the background like telling the restaurant,
tracking customer order, and handling payments. Platforms like Firebase help
with storing user info and sending notifications. The servers that run the app
live in cloud data centers like Google Cloud or AWS, and all the customer data
is kept safe using secure login systems.
Cloud Deployment Models
1. Public Cloud: Third-party cloud providers, AWS, Microsoft Azure, Google Cloud).
Available
to the general public or a large industry group. Shared among multiple
customers (multi-tenant).
Startups, testing environments, scalable applications.
Cost-effective
(pay-as-you-go), Scalable and reliable, No maintenance responsibility for
users; Less control over security.
2.
Private Cloud: Used exclusively
by one organization, offering greater
control and security. A single organization. Restricted
to one organization. Can be on-premises or hosted by a third party.
Greater
control and customization, Enhanced security and compliance, Ideal for
sensitive data or regulated industries; Higher cost, Requires in-house
expertise
3. Hybrid Cloud: Combination
of public and
private clouds for flexibility and optimized workloads. Sensitive data stored
in private cloud; less critical workloads run on public cloud.
Flexibility
to move workloads between environments, Cost optimization, Supports data
sovereignty and disaster recovery; Complex management, Integration and security
challenges
4. Community Cloud: Shared infrastructure for a specific
community with common goals or concerns. Several organizations with common
goals (government agencies, healthcare).
One or more of the participating organizations or a
third party.
Shared
cost and infrastructure, Tailored for shared compliance or policy requirements.
Cloud Computing offers a wide range of benefits to
individuals, businesses, and organizations. Here are the key advantages
1. Cost Efficiency: Reduced
Capital Expenditure (No need to invest in physical infrastructure-servers, storage). Pay-as-You-Go (Only pay for the resources which
are in use, reducing unnecessary costs). Lower Maintenance Costs (Cloud providers handle upgrades,
repairs, and security.)
2. Scalability and
Flexibility: On-Demand Resources (Instantly scale up or down based on demand),
Elasticity
(Ideal for
businesses with fluctuating workloads or growth potential.)
3. Accessibility and
Mobility: Anywhere, Anytime Access (Access applications and data from any device with
internet), Remote Work Enablement (Supports distributed teams and
remote work environments.)
4. Disaster Recovery
and Data Backup: Automatic Backups (Data is regularly backed up, reducing risk of loss),
Quick
Recovery (Rapid
restoration in case of hardware failure or disaster).
5. Security and
Compliance: Advanced Security Measures (Encryption, identity management, and firewalls),
Compliance
Support (Helps meet
regulatory requirements (e.g., GDPR, HIPAA).
6. Collaboration and
Integration: Real-Time Collaboration (Teams can work on the same documents simultaneously).
Integration
(Easily
integrates with other tools and platforms - CRM, analytics).
7. Automatic Updates
and Innovation: Always Up-to-Date (Providers manage software and infrastructure
updates.), Access to Latest Technologies (AI, Machine Learning, big data
tools).
8. Environmental
Sustainability: Efficient Resource Usage (Consolidated data centers use
resources more efficiently than traditional IT.), Reduced Carbon
Footprint (Shared
infrastructure means less environmental impact.)
9. Performance and
Reliability: High Availability (Data is stored across multiple servers and locations.),
Low
Latency (Content delivery
networks (CDNs) help reduce response times).
Workflow Overview
1. User
interacts with the front-end through a web or mobile
interface. (Client Service Users –
Clients, Devices. Front-End Interface – Browser, Mobile app )
2. Requests go through the internet to
reach the cloud provider.
3. Based on service type (SaaS, PaaS, IaaS), the back-end
processes the request.
4. Cloud infrastructure handles computation, storage, and
networking. (Cloud Resources &
Infrastructure – Servers, Storage, Network, Virtualization)
5. Results are sent back to the client.
6. Cloud Management – Monitoring, Orchestration.
7. Secure Layer – Authentication, Encryption.
UNIT–II
Cloud Computing Architecture and Management: Applications/Examples of Cloud Computing, Cloud Architecture, Layer Anatomy of the Cloud, Managing the Cloud Application, Migrating Application to Cloud, Virtualization-Types of virtualization, and Hypervisor, Benefits of Virtualization.
Cloud Architecture refers to the design and structure of cloud computing systems, encompassing how various components (hardware, software, services) are interconnectedand managed to deliver on-demand computing resources over the internet. A cloud architecture diagram visually represents this structure, illustrating the relationships between different elements like servers, databases, networks, and security protocols within the cloud environment.
1. Front-End(ClientSide):Theuserinteractswith.
Webbrowserorclientapplication:Usedtoaccessthecloud(e.g.,Gmail,Dropbox). User Interface (UI): Graphical interface for communication with the cloud.
ThinClient:Lightweightcomputersormobiledevicesthatrelyonthecloudforprocessing.
2. Back-End (Cloud Provider Side): The backbone of cloud computing — where the
realcomputation happens.
CoreComponents:
Application:Softwareorplatformsthatend-usersinteractwith.
Service:Thecorecloudservices(IaaS,PaaS,SaaS).
RuntimeEnvironment:Executionenvironmentforapplications.
Storage:Datastoragesystems(e.g.,blockstorage,objectstoragelikeAmazon S3).
Infrastructure: Physical servers, networking, virtual machines (VMs), etc. ManagementSoftware:Overseestraffic,resourceallocation,andbackups. Security: Identity management, access controls, firewalls, etc.
3. Cloud Delivery Services: Defines how the service is delivered to the user IaaS(InfrastructureasaService):ProvidesVMs,storage,andnetworking.
Example: AWS EC2, Google Compute Engine.
PaaS(PlatformasaService):Providesruntimeanddevelopmentenvironments.
Example: Heroku, Google App Engine.
SaaS(SoftwareasaService):End-userapplicationshostedinthecloud.
Example: Google Workspace, Salesforce.
4. CloudDeploymentModels
Howthecloudinfrastructureisdeployed:
PublicCloud:Servicesofferedoverthepublicinternet.Example:
AWS,Azure. Private Cloud: Used by a single organization. Example: VMware vCloud.
HybridCloud:Combinespublicandprivateclouds.
CommunityCloud:Sharedbetweenorganizationswithsimilarrequirements.
Runtime Cloud – A runtime cloud refers to the environment where applications andservices are executed.It acts as the operating system for the cloud, managing the executionof tasks and resources. It provides the necessary infrastructure, such as virtual machines and networking, to support the running of cloud-based applications.
Example:GoogleCloud,AWSLambda,AzureFunctions.
Storage -- Cloud storage isa method of storing digital data on remote servers, managed bya third-partyprovider, accessible over the internet.It allows users to store, access, and manage data online rather than on local devices. This provides flexibility, scalability, and cost- effectiveness for individuals and businesses
ObjectStorage:Suitableforstoringlargeamountsofunstructureddatalikephotos, videos, and backups, stores the data as objects form, object oriented data.
FileStorage:Providesatraditionalfilesystemstructure,similartonetworkdrives,ideal for applications that require file-level access, stores as a file.
Block Storage: Offers high-performance storage for applications that require direct accessto storage blocks, such as databases, stores as blocks.
ExamplesofCloudStorageProviders:AmazonWebServices(AWS),MicrosoftAzure, Google Cloud Storage, Dropbox, OneDrive, iCloud
Cloudcomputingapplicationsarediverseandspanacross manyindustries,offeringsolutions for data storage, big data analytics, application development, and more. Key applications includedata backup and recovery, SaaS applications like Gmail and Salesforce, DevOps automation, artificial intelligence development, and web hosting.
CloudApplications:
1. Data Storage and Backup:Cloud services offer scalable and cost-effective
solutions for storing large amounts of data, including files, images, and
videos.
Cloud-based backup and recovery systems ensure data protection and business continuity in case of disasters or system failures. Cloud platforms provide scalable and secure storage solutions. Businesses and individual store, back up, and access data from anywhere.
Examples:GoogleDrive,Dropbox,OneDrive,AmazonS3,OneDrive
2. Software Development and Testing: Cloud platforms provide virtualized computing
resources for developers to build, test, and deploy applications quickly and
efficiently.
Thisincludesaccessto variousprogramming languages,frameworks,andtools,streamlining the development process.Cloud platforms offer on-demand development and test environments. Developers build, test, and deploy software quickly with CI/CD tools.
Examples:GitHubActions,AWSCodePipeline,Heroku
3.
BigDataAnalytics:Cloudcomputingprovidestheinfrastructureandprocessingpowerto
analyze massive datasets, enabling businesses to gain valuable insights.
Tools like Hadoop and Spark, often deployed on cloud platforms, facilitate data processing and analysis at scale.Market analysis, fraud detection, and business intelligence.
Examples:GoogleBigQuery,AmazonRedshift,AzureSynapse
4. SaaS Applications: Software as a Service (SaaS) is a cloud computing model where
applications are delivered over the internet, allowing users to access them via
a web browser or app.
Examples:Gmail,Salesforce,andMicrosoftOffice365.
5. E-Commerce:Cloud-based e-commerce platforms offer scalability and flexibility to
handle fluctuating traffic and transaction volumes, also provide tools for
managinginventory, logistics, and customer interactions.
Examples:Shopify(hostedSaaS),MagentoonAWS,WooCommerceonGCP
6. SocialNetworking:Social mediaplatformsrelyoncloudcomputingtostore and manage vast
amounts of user data, including posts, images, and videos.
Cloudinfrastructureenablesthemtohandlethemassivescaleofuseractivityanddata generated by millions of users.
7. DisasterRecoveryandBusinessContinuity:Cloud-baseddisasterrecoveryservices
allow businesses to quickly recover from unexpected outages and minimize
downtime.
By replicating data and applications to the cloud, businesses can ensure business continuity and minimize potential losses.
Ensuresbusinesscontinuitybyrestoringdataandsystemsafteroutages.
Examples:AWSBackup,Veeam,Acronis.
8. Art and Entertainment: Cloud computing is used in various art and
entertainment applications,including streaming serviceslike Netflix andSpotify,onlinegamingplatforms, and virtual art galleries.
It provides the infrastructure to handle large media files, high traffic volumes, and complex computing tasks.
9.
Education:Cloudcomputingistransformingeducationbyprovidinge-learning
platforms, online learning portals, and student information systems.
Itenablesaccesstoeducationalresources,facilitatesremotelearning,andsupportscollaborative learningexperiences.Cloud tools support online learning, digitalclassrooms, and content management. Virtual classrooms, file sharing, and collaborative assignments Examples: Google Classroom, Microsoft Teams for Education, Moodle on cloud
10. Business Applications:Cloud computing offers a wide range of business
applications, including customer relationship management (CRM-Salesforce,
Hubspot, Amazon CRM, Microsoft Dyamics), enterprise resource planning (ERP-SAP
S/4HANA, Oracle NetSuite, Microsoft Dynamics 365, and Acumatica), and project
management tools.
These applications help businesses streamline operations, improve efficiency, and enhance collaboration.
(ERP and CRM systems have distinct focuses: ERP systems manage a company's overall operations, including finance, supplychain, and human resources, while CRM systems focus on managing customer relationships. Think of ERP as the back office and CRM as the front office of a business. )
MoreApplications:
Web Hosting: Websites and web applications are hosted in the cloud for better scalabilityand uptime. Hosting business websites, blogs, and e-commerce platforms.
Examples:AWSEC2,GoogleCloudRun,AzureAppService
Email and Communication
Services: Cloud
enables email hosting and collaboration tools. Company-wide communication,
video meetings, and collaboration.
Examples:Gmail,MicrosoftExchangeOnline,Slack,Zoom
Content Delivery Networks (CDNs): Cloud helps deliver content faster by using globallydistributed servers. Speeding up websites, streaming media, and serving global audiences Examples: Cloudflare, AWS CloudFront, Akamai
.
Internet of Things (IoT): IoT devices connect and communicate via the cloud for real-time data processing. Smart homes, industrial automation, and connected vehicles.
Examples:AWSIoTCore,AzureIoTHub,GoogleCloudIoT
MachineLearning&ArtificialIntelligence:Cloudplatformsoffertoolstobuild,train,
and deploy AI models. Image recognition, NLP, predictive analytics, chatbots.
Examples:GoogleAIPlatform,AzureMachineLearning,AWSSageMaker
Healthcare: Cloud is used for managing electronic health records (EHRs), diagnostics, and telemedicine. Storing patient data, running health analytics, and enabling remote consultations.
Examples:IBMWatsonHealth,AWSforHealth,GoogleCloudHealthcareAPI
Layer, Anatomy of the Cloud: Refers to the layered structure of cloud computing. These layers represent the different components and services that make up the cloud ecosystem
Cloud architecture can be broadlycategorized into four main layers: the Infrastructure Layer (IaaS), the Platform Layer (PaaS), the Application Layer (SaaS), and the User Interface Layer.These layers work together to provide a complete cloud computing environment, abstracting away complexity and offering various services to users and developers.
1. Infrastructure Layer (IaaS): This is the foundation of cloud computing, providing
thebasic hardware and software resources.It includes
Servers - Physical or Virtual machines that provide computing power. Storage-Harddrives,SSDs,andotherstoragemedia,block,file,andobject.
Networking-Routers,switches,andfirewalls forcommunication. Physicalfacilitieshousing and maintaining the cloud infrastructure.
Examples:AmazonEC2,GoogleComputeEngine,MicrosoftAzure,VirtualMachines.
2. Platform Layer (PaaS): This layer provides a platform for developing,
running, and deployment environment abstracting the underlying infrastructure,
managing applications.It includes:
OperatingSystems-Platformsforrunningapplications.
Middleware:Software thatconnectsapplicationsandservices. DatabasesSystemsforstoring andmanagingdata. Runtimeenvironments,Developmenttools ProgrammingLanguagesand Tools.
Examples:GoogleAppEngine,Heroku,MicrosoftAzureAppServices
3. Application Layer (SaaS): This layer provides software applications delivered
over the internet.Users access and utilize these applications without needing
to install or manage them locally, End-user interfaces, Business logic, Data
access, access cloud services on mobile devices.
Examples:Google Workspace, Gmail, Outlook, Microsoft 365, Customer Relationship Management software.
4. Security Layer(Cross-cuttingConcern): Securitycontrolsimplementedacrossallcloud
layers. Identity and access management (IAM), Data encryption (in transit &
at rest), Compliance and governance.
Examples: AWS IAM, Azure Active Directory, Cloud-native firewalls & threat detection tools
5. ManagementandMonitoringLayer:Toolsandservicestomanage,monitor,andoptimize cloud
resources.
Resource provisioning, Cost management, Logging & monitoring, Automation, Orchestration.
Examples:AWSCloudWatch,AzureMonitor,GoogleCloudOperations.
These layers work together to create a comprehensive cloud computing environment, enabling userstoaccessresources,developapplications, and utilize servicesin aflexibleand scalable manner.
ManagingtheCloudApplication
Cloud application managementrefers to the processes and tools used to deploy, operate, monitor,andoptimizeapplicationsrunning incloudenvironments(public,private,orhybrid, community).It includes various aspects like configuration management, performance monitoring, security, and cost optimization.Effective cloud application managementensures applications are reliable, scalable, and cost-efficient, contributing to overall business success.
KeyaspectsofCloudApplicationManagement:
DeploymentandConfiguration:Thisinvolvessettingupapplicationsandtheir underlying infrastructure in the cloud, including provisioning resources, configuring networks, and deploying application code.
Monitoring and Performance Management: This focuses on tracking application performance, identifying traffic jams or bottlenecks, and ensuring optimal user experience. Cloud APM tools provide insights into application behavior, infrastructure health, and user interactions.
Security: Cloud application management includes implementing security best practices,such as access controls, data encryption, and vulnerability management to protect applications and data from unauthorized access and cyber threats.
Cost Optimization: Managing cloud resources effectively to minimize costs are crucial. Cloud management tools help track resource consumption, identify potential cost savings, and optimize resource allocation.
Automation: Automating repetitive tasks like deployments, scaling, and backups can significantly improve efficiency and reduce manual errors, auto-updates of applications.
Scalabilityand Elasticity:Cloudenvironmentsoffertheflexibilitytoscaleresourcesup or down based on demand.Effective management ensures applications can handle fluctuating workloads without performance degradation, add and remove resources on demand.
Integration: Cloud applications often need to integrate with other systems, both within the cloud and on-premises. Cloud management tools facilitate seamless integration throughAPIs and other mechanisms.
Compliance: Cloud management practices must adhere to relevant regulatory and compliance requirements, such as data privacy and security standards.
CloudApplicationManagementforPlatforms(CAMP):
A specification called Cloud Application Management for Platforms (CAMP) focuses on managing applications within a Platform as a Service (PaaS) environment. CAMP aims to standardize how applications are managed in PaaS systems, enabling interoperability between different PaaS offerings and simplifying application deployment and management.
ExamplesofCloudApplicationManagementinPractice:
AWS Cloud Adoption Framework: AWS provides tools like Application Manager that help manage applications and their associated resources, providing a centralized view of application health, performance, and cost.
SAP Cloud ALM: SAP offers SAP Cloud ALM, a platform designed to manage andoperate SAP cloud and hybrid business solutions, providing implementation guidance and automated operations.
Cloud Application Manager (ctl.io): This platform provides tools for deploying and managingapplicationsacrossmultipleclouds,offeringfeatureslikeconsolidatedbilling, log monitoring, and security management.
By implementing effective cloud application management practices, organizations can optimize their cloud investments, improve application performance, enhance security, and achieve greater operational efficiency.
GoogleCloudPlatform,MicrosoftAzure,HubSpot,LinkedIn,GoodDrive,Dropbox
MigratingApplicationtoCloud
Cloud migration in cloud
computing involves moving applications, data, and other IT resources from
on-premises infrastructure to a cloud environment like Amazon Web Services (AWS), Microsoft
Azure, or Google Cloud Platform
(GCP). This process can improve scalability, reduce costs, and enhance
flexibility.
KeyAspectsofCloudMigration:
Cloud migration is the process of transferring digital assets from an on-premises or legacy infrastructure to a cloud environment.
Reasons for Migration: Organizations migrate to the cloud for reasons like reducing IT costs, enhancing scalability, flexibility and improving performance and security.
Migration Strategies: Various strategies exist, including re-hosting (lift and shift), re- platforming, refactoring, repurchasing, retiring, and retaining.
Phases of Migration: Cloud migration generally involves assessment, planning, testing, migration, and optimization phases.
Benefits: Cloud migration provides advantages like cost savings, improved quickness or agility, enhanced security, and better disaster recovery capabilities.
Challenges: Potential challenges include data security concerns, application compatibilityissues, and the need for specialized skills.
Tools and Technologies: Various tools and technologies are available to assist with cloudmigration, such as migration services, cloud management platforms, and automation tools.
CloudProviders:CommoncloudprovidersincludeAmazonWebServices(AWS),
Microsoft Azure, and Google Cloud Platform (GCP).
CloudMigrationStrategies:
Rehosting(LiftandShift):Movinganapplicationtothecloudwithminimalchanges.
Replatforming: Moving an application to the cloud
with some optimizations. Refactoring:Re-architectinganapplicationtotakeadvantageofcloud-nativefeatures.
Repurchasing: Switching to a SaaS
solution.
Retiring:Discontinuinganapplication.
Retaining:Keepinganapplicationinitscurrentenvironment.
Relocating:Movingtheinfrastructureatthehypervisorlevel.
ExampleofaCloudMigrationModel:
Assessment:Evaluating current infrastructure and identifying applications for migration. Code, database, storage, APIs, integrations, etc; Understand what other systems or apps it interacts with. Based on features, pricing, compliance, and support.
Isolation:Separatingtheapplicationsandtheirdependencies.
Mapping:Creatingadetailedplanformigration,includingresourceallocationanddependencies.
Re-architecting:Adaptingtheapplicationtothecloudenvironment.Setupnetworking, storage, databases, compute resources. Plan for availability, redundancy, and security Augmentation: Adding new functionalities and features to the application.
Validation:Testing the migrated application in the cloud environment. Conduct integration testing, performance testing, and user acceptance testing (UAT). Validate that all services, APIs, and data work as expected.
Optimization:Monitoring and improving the application's performance and cost- effectiveness, autoscaling, reserved instances. Implement backup, disaster recovery, and logging strategies.
Migrate Data and Application: Transfer databases using tools like AWS Database Migration Service or Azure Data Migration Tool. Upload application code or container images. Test for functionality, performance, and security.
Common Challenges: Data transfer latency for large databases, Downtime duringmigration.
Security misconfigurations, Vendor lock-in concerns, Cost overruns due to underestimating resource needs.
Tools: AWS Migration Hub, Azure Migrate, Google Cloud Migrate, CloudEndure, VMware HCX (for VM migrations).
PhasesofCloudMigrationorApproachesforCloudMigration
Cloud migration typically involves five key phases:Prepare, Plan, Migrate, Operate, and Optimize.These phases encompass the entire process of moving applications, data, and infrastructure from on-premises to the cloud.Each phase builds upon the previous one, ensuring a smooth and successful transition.
1. Prepare: This initial phase focuses on establishing business objectives for
cloud
migration,assessingtheorganization'sreadiness,andbuildingacompellingbusiness
case. It involves understanding the current IT environment, identifying
stakeholders, and defining success metrics.
2. Plan:Theplanningphaseinvolvescreatingadetailedmigrationplan,including
workload prioritization, cloud architecture design, addressing security and
compliance requirements. This phase also includes defining migration strategies
for each application (e.g., rehost, replatform, refactor).
3. Migrate: This phase focuses on the actual execution of the migration plan,
moving workloads,data,andapplicationstothecloud.
Itinvolvesexecutingthemigrationin stages, validating each step, and applying
lessons learned.
4. Operate: Once migrated, the focus shifts to operating and managing workloads in
the cloud environment. This includes monitoring performance, ensuring security,
and maintaining compliance.
5. Optimize: The final phase is about continuously refining cloud operations to
maximize efficiency, optimize performance, and drive business value. This
includes monitoring cloud usage, optimizing costs, and modernizing
applications.
Virtualization, Types of virtualization, and Hypervisor in cloud computing
Virtualizationisatechnologythatallowsmultiplevirtualinstancesof
resources(likeservers, storage, or networks) to run on a single physical
machine.
Virtualization is the process of creating a virtual version of something—like hardware platforms, storage devices, or network resources—allowing multiple operating systems and applications to run on the same physical machine.
Virtualization in cloud computing allows multiple virtual machines (VMs) to run on a single physical server, improving resource utilization and flexibility.
BenefitsofVirtualization
·
Resourceoptimization
·
Costsavings
·
Improvedscalability
·
Betterdisasterrecovery
·
Efficienttestinganddevelopmentenvironments
TypesofVirtualization
Herearethemaintypesofvirtualizationusedincloudcomputing:
1. HardwareVirtualization--Thevirtualizationofphysicalhardwareusinga
hypervisor. Allows multiple
operating systems to run on a single physical machine.
Thisabstractscomputingresourcesfromthesoftwarethatusesthem,allowingformore efficient use of hardware.
Example:VirtualMachines(VMs)usingVMware,KVM,orHyper-V.
2. Operating System Virtualization -- Also called container-based virtualization, it allows multiple isolated
user-space instances (containers) to run on a single OS kernel.
Tools:Docker,LXC,Kubernetes.
Benefits:Lightweight,faststartup,lessoverheadthanfullVMs.
3. ServerVirtualization--Dividesaphysicalserverintomultipleuniqueandisolated
virtual servers each with its own operating system and applications.
Enhancesresourceutilizationandallowsmultipleusers/applications.
4. StorageVirtualization--Abstractsmultiplephysicalstoragedevicestoappearasasingle
storage unit. Simplifies storage management and enhances performance.
Thispoolstogetherphysicalstoragedevicesintoasinglelogicalstorageunit,improving storage management and utilization.
Example:StorageAreaNetwork(SAN),VMwarevSAN.
5. NetworkVirtualization--Thiscreatesvirtualnetworksontopofaphysicalnetwork
infrastructure, enabling greater flexibility and control over network
resources.
Combineshardwareandsoftwarenetworkresourcesintoasinglesoftware-basedentity. Provides flexibility, scalability, and easier network management.
Example:SoftwareDefinedNetworking(SDN),VPNs,VLANs.
6.
DesktopVirtualization--Virtualizesdesktopenvironmentsforremoteaccess.
Centralized management of user desktops.
This allows users to access their desktops remotely from various devices, with the actual desktop environment residing on a central server.
Example:VirtualDesktopInfrastructure(VDI)fromCitrixorVMware
7. ApplicationVirtualization--Thisisolatesapplicationsincontainers,preventing
conflicts and ensuring consistent performance across different environments.
Operating System (OS) Level
Virtualization -- This allows multiple isolated user spacesto run on a single
operating system, providing resource isolation and management.
LibrarySupportLevelVirtualization--ThisusesAPIstocreatevirtualenvironments
without full OS emulation.
HypervisorinCloudComputing:
A hypervisor is the core component of virtualization in cloud computing.It acts as a bridge between the physical hardware and the virtual machines, managing resources and ensuring the smooth operation of multiple VMs.
AhypervisoralsocalledaVirtualMachineMonitororVMMissoftwarethatcreatesand runs virtual machines (VMs).It allows multiple OS’s to share a single hardware host.
A hypervisor is the software that enables this process by managing and allocating resources to these virtual instances.In cloud computing, virtualization is a fundamental technology, enabling the efficient sharing of resources across multiple users and applications.
TypesofHypervisors:
Type 1/Bare-metal: Thistypeofhypervisorrunsdirectly onthehost'shardware,acting as a replacement for the Operating System. More efficient and secure.
Examples:VMwareESXi,MicrosoftHyper-V,Xen,KVM(Kernel-basedVirtualMachine).
Type 2/Hosted: This type of hypervisor runs as a software application on top of an existing Operating System. Easier to set up but with more overhead.
HypervisorsWork:
1.
ResourceAllocation:Thehypervisormanagestheallocationofresources(CPU,memory,
storage, etc.) to each virtual machine.
2.
Isolation:ThehypervisorensuresthateachVMisisolatedorseparatedfromothers,
preventing interference and maintaining security.
3.
Intermediary:ThehypervisoractsasanintermediarybetweentheVMsandthe
physical hardware, handling requests for resources and ensuring efficient
operation. Examples: VMware
Workstation, Oracle VirtualBox, Parallels Desktop.
Cloud Deployment
Models
In cloud computing, we
have access to a shared pool of computer resources (servers, storage, programs,
and so on) in the cloud. You simply need to request additional resources when
you require them. Getting resources up and running quickly is a breeze thanks
to the clouds. It is possible to release resources that are no longer
necessary. This method allows you to just pay for what you use. Your cloud
provider is in charge of all upkeep.
What is a Cloud Deployment Model?
Cloud Deployment Model
functions as a virtual computing environment with a deployment architecture
that varies depending on the amount of data you want to store and who has
access to the infrastructure.
Types of Cloud Computing Deployment Models
The
cloud deployment model identifies the specific type of cloud environment based
on ownership, scale, and access, as well as the cloud’s nature and purpose. The
location of the servers you’re utilizing and who controls them are defined by a
cloud deployment model. It specifies how your cloud infrastructure will look,
what you can change, and whether you will be given services or will have to
create everything yourself. Relationships between the infrastructure and your
users are also defined by cloud deployment types. Different types of cloud computing
deployment models are described below.
·
Private Cloud
·
Community Cloud
Public Cloud
The public cloud makes it
possible for anybody to access systems and services. The public cloud may be
less secure as it is open to everyone. The public cloud is one in which
cloud infrastructure services are provided over the internet to the general
people or major industry groups. The infrastructure in this cloud model is
owned by the entity that delivers the cloud services, not by the
consumer. It is a type of cloud hosting that allows customers and users to
easily access systems and services. This form of cloud computing is an
excellent example of cloud hosting, in which service providers supply services
to a variety of customers. In this arrangement, storage backup and
retrieval services are given for free, as a subscription, or on a per-user basis.
For example, Google App Engine etc.
Public Cloud
Advantages of the Public
Cloud Model
·
Minimal
Investment: Because it is a pay-per-use service, there is no substantial
upfront fee, making it excellent for enterprises that require immediate access
to resources.
·
No
setup cost: The entire infrastructure is fully subsidized by the cloud
service providers, thus there is no need to set up any hardware.
·
Infrastructure
Management is not required: Using the public cloud
does not necessitate infrastructure management.
·
No
maintenance: The maintenance work is done by the service provider (not
users).
·
Dynamic
Scalability: To fulfill your company’s needs, on-demand resources are
accessible.
Disadvantages of the
Public Cloud Model
·
Less
secure: Public cloud is less secure as resources are public so there is
no guarantee of high-level security.
·
Low
customization: It is accessed by many public so it can’t be customized
according to personal requirements.
Private Cloud
The
private cloud deployment model is the exact opposite of the public cloud
deployment model. It’s a one-on-one environment for a single user (customer).
There is no need to share your hardware with anyone else. The distinction
between private and public clouds is
in how you handle all of the hardware. It is also called the “internal cloud”
& it refers to the ability to access systems and services within a given
border or organization. The cloud platform is implemented in a cloud-based
secure environment that is protected by powerful firewalls and under the supervision
of an organization’s IT department. The private cloud gives greater
flexibility of control over cloud resources.
Private Cloud
Advantages of the Private
Cloud Model
·
Better
Control: You are the sole owner of the property. You gain complete
command over service integration, IT operations, policies, and user
behavior.
·
Data
Security and Privacy: It’s suitable for storing corporate information to which
only authorized staff have access. By segmenting resources within the same
infrastructure, improved access and security can be achieved.
·
Supports
Legacy Systems: This approach is designed to work with legacy systems that
are unable to access the public cloud.
·
Customization: Unlike
a public cloud deployment, a private cloud allows a company to tailor its
solution to meet its specific needs.
Disadvantages of the
Private Cloud Model
·
Less
scalable: Private clouds are scaled within a certain range as there is
less number of clients.
·
Costly: Private
clouds are more costly as they provide personalized facilities.
Hybrid Cloud
By bridging the public
and private worlds with a layer of proprietary software, hybrid cloud computing
gives the best of both worlds. With a hybrid solution, you may host the app in
a safe environment while taking advantage of the public cloud’s cost savings.
Organizations can move data and applications between different clouds using a
combination of two or more cloud deployment methods, depending on their
needs.
Hybrid Cloud
Advantages of the Hybrid
Cloud Model
·
Flexibility
and control: Businesses with more flexibility can design personalized
solutions that meet their particular needs.
·
Cost: Because
public clouds provide scalability, you’ll only be responsible for paying for
the extra capacity if you require it.
·
Security: Because
data is properly separated, the chances of data theft by attackers are
considerably reduced.
Disadvantages of the
Hybrid Cloud Model
·
Difficult
to manage: Hybrid clouds are difficult to manage as it is a combination of
both public and private cloud. So, it is complex.
·
Slow
data transmission: Data transmission in the
hybrid cloud takes place through the public cloud so latency occurs.
Community Cloud
It allows systems and
services to be accessible by a group of organizations. It is a distributed
system that is created by integrating the services of different clouds to
address the specific needs of a community, industry, or business. The
infrastructure of the community could be shared between the organization which
has shared concerns or tasks. It is generally managed by a third party or by
the combination of one or more organizations in the community.
Community Cloud
Advantages of the
Community Cloud Model
·
Cost
Effective: It is cost-effective because the cloud is shared by multiple organizations or
communities.
·
Security: Community
cloud provides better security.
·
Shared
resources: It allows you to share resources, infrastructure, etc. with
multiple organizations.
·
Collaboration
and data sharing: It is suitable for both
collaboration and data sharing.
Disadvantages of the Community
Cloud Model
·
Limited
Scalability: Community cloud is relatively less scalable as many
organizations share the same resources according to their collaborative
interests.
·
Rigid
in customization: As the data and resources
are shared among different organizations according to their mutual interests if
an organization wants some changes according to their needs they cannot do so
because it will have an impact on other organizations.
Multi-Cloud
We’re
talking about employing multiple cloud providers at
the same time under this paradigm, as the name implies. It’s similar to the
hybrid cloud deployment approach, which combines public and private cloud
resources. Instead of merging private and public clouds, multi-cloud uses many
public clouds. Although public cloud providers provide numerous tools to
improve the reliability of their services, mishaps still occur. It’s quite rare
that two distinct clouds would have an incident at the same moment. As a
result, multi-cloud deployment improves the high availability of your services
even more.
Advantages of the
Multi-Cloud Model
·
You can mix and match the best features of each cloud provider’s
services to suit the demands of your apps, workloads, and business by choosing
different cloud providers.
·
Reduced
Latency: To reduce latency and improve user experience, you can
choose cloud regions and zones that are close to your clients.
·
High
availability of service: It’s quite rare
that two distinct clouds would have an incident at the same moment. So, the
multi-cloud deployment improves the high availability of your services.
Disadvantages of the
Multi-Cloud Model
·
Complex: The
combination of many clouds makes the system complex and bottlenecks may occur.
·
Security
issue: Due to the complex structure, there may be loopholes to which a
hacker can take advantage hence, makes the data insecure.
What is the Right Choice for Cloud Deployment Model?
As of now, no such
approach fits picking a cloud deployment model. We will always consider the
best cloud deployment model as per our requirements. Here are some factors
which should be considered before choosing the best deployment model.
·
Cost: Cost is an important factor for the cloud deployment model
as it tells how much amount you want to pay for these things.
·
Scalability: Scalability tells about the current activity status
and how much we can scale it.
·
Easy to use: It tells how much your resources are trained and
how easily can you manage these models.
·
Compliance: Compliance tells about the laws and regulations
which impact the implementation of the model.
·
Privacy: Privacy tells about what data you gather for the model.
Each model has some
advantages and some disadvantages, and the selection of the best is only done
on the basis of your requirement. If your requirement changes, you can switch
to any other model.
Overall Analysis of Cloud Deployment Models
The overall Analysis of
these models with respect to different factors is described below.
|
Factors |
Public
Cloud |
Private
Cloud |
Community
Cloud |
Hybrid
Cloud |
|
Initial
Setup |
Easy |
Complex,
requires a professional team to setup |
Complex,
requires a professional team to setup |
Complex,
requires a professional team to setup |
|
Scalability
and Flexibility |
High |
High |
Fixed |
High |
|
Cost-Comparison |
Cost-Effective |
Costly |
Distributed
cost among members |
Between
public and private cloud |
|
Reliability |
Low |
Low |
High |
High |
|
Data
Security |
Low |
High |
High |
High |
|
Data
Privacy |
Low |
High |
High |
High |
Models of Cloud Computing
Cloud Computing helps in
rendering several services according to roles, companies, etc. Cloud computing
models are explained below.
·
Infrastructure as a service (IaaS)
·
Platform as a service (PaaS)
·
Software as a service (SaaS)
1. Infrastructure as a
service (IaaS)
Infrastructure as a Service (IaaS) helps
in delivering computer infrastructure on an external basis for supporting
operations. Generally, IaaS provides services to networking equipment, devices,
databases, and web servers.
Infrastructure as a
Service (IaaS) helps large organizations, and large enterprises in managing and
building their IT platforms. This infrastructure is flexible according to the
needs of the client.
Advantages of IaaS
·
IaaS is cost-effective as it eliminates capital expenses.
·
IaaS cloud provider provides better security than any other
software.
·
IaaS provides remote access.
Disadvantages of IaaS
·
In IaaS, users have to secure their own data and applications.
·
Cloud computing is not accessible in some regions of the World.
2. Platform as a service
(PaaS)
Platform as a Service (PaaS) is
a type of cloud computing that helps developers to build applications and
services over the Internet by providing them with a platform.
PaaS helps in maintaining
control over their business applications.
Advantages of PaaS
·
PaaS is simple and very much convenient for the user as it can
be accessed via a web browser.
·
PaaS has the capabilities to efficiently manage the lifecycle.
Disadvantages of PaaS
·
PaaS has limited control over infrastructure as they have less
control over the environment and are not able to make some customizations.
·
PaaS has a high dependence on the provider.
3. Software as a service
(SaaS)
Software as a Service (SaaS) is
a type of cloud computing model that is the work of delivering services and
applications over the Internet. The SaaS applications are called Web-Based
Software or Hosted Software.
SaaS has around 60
percent of cloud solutions and due to this, it is mostly preferred by
companies.
Advantages of SaaS
·
SaaS can access app data from anywhere on the Internet.
·
SaaS provides easy access to features and services.
Disadvantages of SaaS
·
SaaS solutions have limited customization, which means they have
some restrictions within the platform.
·
SaaS has little control over the data of the user.
·
SaaS are generally cloud-based, they require a stable internet
connection for proper working.
Cloud Migration
·
·
In today’s competitive business world, cloud technology is
capable enough to provide cloud services anytime and anywhere. In the current
time cloud computing whether we like it or not but it is present here and will
be also for our benefit and the benefit of the society at large. It has
improved the way of operating the business activities, it has reduced the cost
of conducting business, it has increased productivity, and on a process to make
life of people more easier and it continues.
Where we are living with cloud technology, there the point cloud
migration comes into the picture. So let’s know more about this cloud migration
by going a little bit deep into this migration concept.
Cloud Migration :
Cloud Migration is a transformation from old traditional
business operations to digital business operations and the process refers to
moving the digital business operations to cloud. That means data, applications
or other business elements are moved into a cloud computing environment. For
example moving data and applications from a local, on-premises data center to
the cloud.
On-premises to cloud migration process :
Every business starting from small to large organizations
follows slightly different process for cloud migrations. Some of the common
elements which are considered before cloud migration are
·
Evaluation of requirement and performance
·
Selection of cloud provider
·
Calculation of operational costs
The basic steps which are followed as follows
·
Establishing migration goals
·
Creating a security strategy
·
Replicating existing database
·
Move business intelligence
·
Then switch production from on-premises to cloud
Cloud Migration Strategy :
5 R’s represents the cloud migration strategy.
1.
Rehost
: It refers to take the application to the new hosted cloud
environment by selecting IaaS (Infrastructure as a
Service).
2.
Refactor
: It refers to reuse the application code and frameworks and
running the application on a PaaS (Platform as a Service).
3.
Revise
: It refers to expanding code base and then deploying it
either by rehosting or refactoring.
4.
Rebuild
: It refers to re-architecting the application from the
beginning up on a PaaS provider’s platform.
5.
Replace
: It refers to replacing the old application with a new
built SaaS (software as a Service).
Benefits of cloud migration :
1.
Scalability: Scalable
enough to support various workloads and users. So it offers to expand without
impacting performance.
2.
Performance: Moving
into cloud provides higher performance and customer satisfaction as compared to
traditional business processes.
3.
Productivity: As it
manages the complexity of infrastructure, so improved productivity is more
focused with a continuous process of growing business.
4.
Flexibility: It
allows to use the services flexibly as well as from any where and any time
cloud services can be accessed as per demand/need.
5.
Cost: Moving
into cloud technology offers reduced cost in managing, operating, upgrading and
maintaining IT operations or infrastructure.
6.
Security: Security
is a major concern which is taken care by cloud service providers.
7.
Profitability: As
it follows pay per use model so it delivers a greater profitability to the
customers.
8.
Agility: It
is flexible enough to go with rapid changes in technology and it provides producing
newer and advanced setup quickly as per requirement.
9.
Recovery: It
provides backup and recovery solutions to businesses with less time and upfront
investment.
Cloud migration Challenges :
1.
Moving a database is a difficult task as there are large amounts
of data involved and mostly transferred over internet.
2.
After data is transferred into cloud database, another problem
is to check the transferred data is intact and secure as well as there is no
data loss has been occurred during this process.
3.
During migration a problem arises as some of operations or data
are already moved into cloud and some are still available on-premises. So
ensuring current system is operational and ensuring on going cloud migration
process is taking place correctly needs a careful attention.
4.
Interoperability becomes a problem as it is not easy to
establish a perfect communication in between existing applications and newer
cloud environments.
5.
Using cloud services, getting good with newer cloud procedures,
managing resources and cloud activities requires trained IT professionals who
can work in the cloud eco system.
Want to learn Software Testing and Automation to help give a kickstart
to your career? Any student or professional looking to excel in Quality Assurance should enroll in our
course, Complete Guide to Software Testing
and Automation, only on GeeksforGeeks. Get hands-on learning
experience with the latest testing methodologies, automation tools, and
industry best practices through practical projects and real-life scenarios.
Whether you are a beginner or just looking to build on existing skills, this
course will give you the competence necessary to ensure the quality and
reliability of software products. Ready to be a Pro in Software Testing? Enroll now and Take
Your Career to a Whole New Level!
Advantages and
Disadvantages of Virtualization
When
the machine resources of some of the first mainframe computers were divided to
run on multiple programmes simultaneously in the 1960s, virtualization became a
practice. When a virtual version of anything rather than the real thing is
created, this is called virtualization. This could involve servers with
contemporary virtualization, as well as storage devices, networks, operating
systems, and so on. Since then, practically every aspect of digital life has
been affected by virtualization. Virtualization has several uses, including
console emulation and virtual machines that perform like actual computers.
Characteristics of Virtualization
It
is a method of creating a virtual replica of computer resources, storage
devices, and hardware. It possesses the following qualities:
Instance Virtualization
The
primary feature is that it virtualizes the whole platform. This implies that an
operating system is separated from the primary platform resources. Without
installing or purchasing additional hardware, it can virtualize the platform.
Vulnerability of Resources
It
permits resource virtualization in addition to operating system-wide
virtualization. It permits the virtualization of particular system resources.
These include namespaces, storage, network resources, and more.
Virtualization of applications
The
fact that it also virtualizes apps is another feature. It refers to running a
programme on various hardware or software. For instance, cross-platform
virtualization, portable programmes, etc.
Execution Control
The
execution process is more controlled and secured when virtualization is used in
the environment. Additionally, it makes it possible to use more features. These
include loneliness, sharing, and other things.
Process transparency
The
existence of transparency is one of the most crucial traits. The procedure
becomes more transparent and safe because it is moved entirely online. On
virtual machines, which represent a clean and regulated environment, all
operations are carried out.
Observation of the Infrastructure
Continuous
monitoring is made possible via virtualization in the cloud. As a result, it is
simple to keep tabs on all activities around-the-clock.
People
all around the world now have several options to explore the technologically
limitless universe where anything is possible while seated in one location
thanks to virtualization. Organizations anticipate using virtualization to the
fullest extent possible. Virtualization can, however, be a concern because it
depends on the cloud and occasionally even the servers take time to resolve
issues. Before a tool or strategy is fully implemented for the company, virtualisation's
pros and cons must be discussed.
Advantages of virtualization
Virtualization
is being pursued with great attention by numerous IT businesses. One of the
main benefits of virtualization for platforms that support remote working is
their integration with the cloud.
1. Cheap
IT
infrastructures find virtualization to be a more affordable implementation
option because it doesn't require the use or installation of actual hardware
components. Dedicating substantial amounts of space and money to create an
on-site resource is no longer required. We need a licence or access from a
third-party vendor to begin using the hardware, just as if it were locally
produced.
2. Efficient
By
downloading the new versions of the software and hardware from a third-party
supplier, efficient virtualization also enables automatic upgrades of both. By
handling the problem themselves and saving money, IT specialists are able to
avoid having to hire specialists. Virtualization also lessens the difficulty of
managing resources to increase the effectiveness of virtual environments.
3. Disaster recovery
When
servers are virtualized, disaster recovery is relatively simple thanks to fast
backup restoration and current snapshots of your virtual machines.
Organizations were better able to create a low-cost replication location thanks
to virtualization. If a disaster occurs in the data centre or server room
itself, you can still relocate such virtual machines to a cloud provider.
Having the flexibility level guarantees that the disaster recovery plan will be
simpler to implement and will have a 99% success rate.
4. Deployment
Resources
may be deployed much more quickly when employing virtualization technology. It
is feasible to significantly reduce the amount of time required for setting up
physical devices or creating local networks. As a result, users really need is
at least one connection to the virtual world. Additionally, the implementation
of virtual machines is frequently simpler than the installation of actual
models.
5. Encourages digital entrepreneurship
Prior
to widespread virtualization, the average person found it nearly impossible to
start a digital business. Thanks to the multiple networks, servers, and storage
devices that are now accessible, almost anyone can start their own side
business or turn into a business owner. Everyone can hang out their shingle and
start looking for employment.
6. Saves energy
Both
individuals and businesses can save energy by using virtualization. The rate of
energy consumption can be reduced because no local hardware or software
alternatives are being employed. To boost the total ROI of virtualization,
monies can be used over time for other operational expenses rather than paying
for a data centre's cooling costs and equipment operation costs.
7. improved uptime
Virtualization
technologies have increased uptime dramatically. An uptime of 99.9999% is
offered by some providers. Even low-cost carriers now offer uptime at a rate of
99.99%.
8. Consistent cost
People
and corporations can have predictable expenses for their IT requirements
because third-party vendors frequently offer choices for virtualization.
Disadvantages of virtualization
Numerous
complex dimensions that digital technology had to explore have been resolved
through virtualization. However, virtualization still shows signs of minor but
significant problems. As a result, virtualization has a lot of drawbacks, which are
listed below:
1. Exorbitant costs of implementation
Virtualization
would result in very low costs for the common person or business. In a
virtualization environment, the suppliers, however, may incur very significant
implementation expenses. It follows that devices must either be created, made,
or purchased for implementation when hardware and software are eventually
required.
2. Restraints
Virtualization
is hampered by a number of issues. Virtualization cannot be used with every
server and application currently in existence. Therefore, certain firms' IT
infrastructures would not be able to support the virtualized solutions. They no
longer receive support from a number of vendors as well. The demands of both
individuals and organisations must be served using a hybrid approach.
3. Problems with availability
The
accessibility of a company is another important factor. Long-term data linking
is required. If not, the business would become less competitive in the market.
Because every document from and for the client is essential to the service
provider, availability difficulties might be seen as one of the drawbacks of
virtualization. It seems as though the virtualization servers are taken
offline. Additionally, hosted websites would be useless. The user has no
control over this; it is completely the responsibility of the third-party
providers.
4. Time-intensive
In
comparison to local systems, virtualization takes less time to implement, but
it ultimately costs users time. This is due to the fact that there are
additional procedures that need to be completed in order to attain the desired
result.
5. Threats to security
Information
is our current currency. Having money allows you to make money. Without it,
people will forget about you. The success of a corporation depends on
information, hence it is frequently targeted.
6. Problems with scalability
People
can grow a business or opportunity quickly owing to virtualization, but won't
be able to grow it as large as they would like. In a virtualization network,
growth generates latency since multiple firms share the same resources. There
wouldn't be much that could be done to stop it, but one powerful presence could
syphon money away from other, smaller businesses.
7. A Number of links must interact
If
users have access to local equipment, they have complete control over their
options. With virtualization, people lose control because numerous ties are
required to cooperate in order to complete the same task. We can take the
example of saving a document file. Using a local storage device like a flash
drive or HDD, users can instantly save the content and even create a backup. In
order to use virtualization, the ISP connection must be reliable.
Characteristics of
Cloud Computing
Last Updated
: 24 May, 2024
·
·
·
There are many characteristics
of Cloud Computing here are few of them :
1.
On-demand
self-services: The Cloud computing services does not require any human
administrators, user themselves are able to provision, monitor and manage
computing resources as needed.
2.
Broad
network access: The Computing services are generally provided over standard
networks and heterogeneous devices.
3.
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 require
services it is provided to him and it is scale out as soon as its requirement
gets over.
4.
Resource
pooling: The IT resource (e.g., networks, servers, storage,
applications, and services) present are shared across multiple applications and
occupant in an uncommitted manner. Multiple clients are provided service from a
same physical resource.
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 resource.
6.
Multi-tenancy: Cloud
computing providers can support multiple tenants (users or organizations) on a
single set of shared resources.
7.
Virtualization: Cloud
computing providers use virtualization technology to abstract underlying
hardware resources and present them as logical resources to users.
8.
Resilient
computing: Cloud computing services are typically designed with redundancy
and fault tolerance in mind, which ensures high availability and reliability.
9.
Flexible
pricing models: Cloud providers offer a variety of pricing models, including
pay-per-use, subscription-based, and spot pricing, allowing users to choose the
option that best suits their needs.
10.
Security: Cloud
providers invest heavily in security measures to protect their users’ data and
ensure the privacy of sensitive information.
11.
Automation: Cloud
computing services are often highly automated, allowing users to deploy and
manage resources with minimal manual intervention.
12.
Sustainability: Cloud
providers are increasingly focused on sustainable practices, such as
energy-efficient data centers and the use of renewable energy sources, to
reduce their environmental impact.
Fig – characteristics of cloud computing
Are you ready to unleash
the power of DevOps to
streamline your Software
Development and Deployment? Learn about our DevOps Live Course at GeeksforGeeks,
created for all professionals in practice with continuous integration,
delivery, and deployment. Learn about leading tools, industry best practices,
and techniques for automation through
an interactive session with hands-on live projects. Whether you are new to
DevOps or looking to improve your skills, this course equips you with
everything needed to streamline workflows and deliver excellent quality
software in the least amount of time. Learn to take your skills in DevOps to
the next level now, and harness the power of streamlined software development!
Principles of Cloud
Computing
Last Updated
: 14 Mar, 2022
·
·
·
The
term cloud is usually used to represent the internet but it is not just
restricted to the Internet. It is virtual storage where the data is stored in
third-party data centers. Storing, managing, and accessing data present in the
cloud is typically referred to as cloud computing. It is a model for distributing
information technology in order to gain access to resources from the internet
without depending on a direct connection with the server. It uses various
web-based tools, and applications to easily receive resources.
Accessing resources over
the internet makes these resources available anytime and anywhere thereby
allowing the user to work remotely. In general, cloud computing is nothing but
the use of computing resources such as hardware and software that are
distributed as services across the network. It centralizes the data storage,
processing, and bandwidth which in turn provides efficient computing to the
user. The services are made available by a cloud vendor based on pay-per-use.
In
order to serve large computing resources for solving a single problem, the
concept of computing escalated from grid computing to cloud computing. This
computing makes use of potential ideas of computing power in the form of
utility. The main differences between grid and cloud are
that the former substantiates the use of multiple computers concurrently for
solving a specific application. On the other hand, cloud computing
substantiates the use of multiple resources which includes computing resources
in order to serve unified service to the end-user.
Typically, cloud
computing holds IT and business resources including servers storage, network,
applications, and processes. It provides the user needs and workload
dynamically. Apart from supporting the grid, the cloud also supports a non-grid
environment including three-tier web architecture.
Basic Principle of Cloud
Computing:
·
Federation: A cloud
computing environment must be capable of providing federated service providers
which means that, these providers, must be capable of collaborating and
resource sharing at any point irrespective of their type. This is usually
needed when an organization extends its computing paradigm from the private to
the public cloud. Moreover, This federation must be kept transparent so that the
virtual application can be used on all the sites. This makes the application be
handled remotely and allows it to migrate from one site to another. Apart from
this, the federation must be carried out in a secure and independent way.
·
Independence: The
user of cloud computing services must be independent of the provider’s specific
tool and the type of service. According to this principle, a user must be
allowed the required virtual resource irrespective of the type of provider.
Moreover, it is the responsibility of service providers to handle
infrastructure while hiding confidential information.
·
Isolation: According
to this principle, a service provider must ensure the user with respect to the
isolation of their data from others. Even the data in the same cloud must be
separated from different users and therefore should not be accessed.
·
Elasticity: The
user of cloud computing must be provided with ease of accessing and releasing
the resources as required. This is typically referred to as elasticity. The
rules associated with elasticity must be included within the contract made
between consumers and services providers.
·
Business
Orientation: To develop a more efficient computing environment, an efficient
platform must be developed before the applications are included in the cloud.
This typically ensures the quality of services and assist SLA
(Service-Level-Agreement).
·
Trust: To
build a successful cloud computing environment, one of the major factors is
trust between consumers and service providers. Therefore, effective mechanisms
must be included to develop a trustworthy computing environment.
Cloud Computing
Architecture
As
we know, cloud computing technology is used by both small and large
organizations to store the information in cloud and access it from anywhere at anytime using the internet connection.
Cloud
computing architecture is a combination of service-oriented
architecture and event-driven
architecture.
Cloud
computing architecture is divided into the following two parts -
- Front
End
- Back
End
The
below diagram shows the architecture of cloud computing -
Front End
The
front end is used by the client. It contains client-side interfaces and
applications that are required to access the cloud computing platforms. The
front end includes web servers (including Chrome, Firefox, internet explorer,
etc.), thin & fat clients, tablets, and mobile devices.
Back End
The
back end is used by the service provider. It manages all the resources that are
required to provide cloud computing services. It includes a huge amount of data
storage, security mechanism, virtual machines, deploying models, servers,
traffic control mechanisms, etc.
Note: Both front end and back end are
connected to others through a network, generally using the internet connection.
Components of Cloud Computing Architecture
There
are the following components of cloud computing architecture -
1. Client Infrastructure
Client
Infrastructure is a Front end component. It provides GUI (Graphical User
Interface) to interact with the cloud.
2. Application
The
application may be any software or platform that a client wants to access.
3. Service
A
Cloud Services manages that which type of service you access according to the
client’s requirement.
Cloud
computing offers the following three type of services:
i. Software as a Service (SaaS) – It is also known as cloud application
services. Mostly, SaaS
applications run directly through the web browser means we do not require to
download and install these applications. Some important example of SaaS is
given below –
Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco
WebEx.
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar to SaaS, but the difference is that PaaS
provides a platform for software creation, but using SaaS, we can access
software over the internet without the need of any platform.
Example: Windows Azure, Force.com, Magento Commerce Cloud,
OpenShift.
iii. Infrastructure as a Service (IaaS)
– It is also known
as cloud infrastructure services. It is responsible for managing applications data, middleware,
and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine
(GCE), Cisco Metapod.
4. Runtime Cloud
Runtime
Cloud provides the execution and runtime environment to the virtual machines.
5. Storage
Storage
is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It
provides services on the host level, application level, and network level.
Cloud infrastructure includes hardware and software components such as servers,
storage, network devices, virtualization software, and other storage resources
that are needed to support the cloud computing model.
7. Management
Management
is used to manage components such as application, service, runtime cloud,
storage, infrastructure, and other security issues in the backend and establish
coordination between them.
8. Security
Security
is an in-built back end component of cloud computing. It implements a security
mechanism in the back end.
9. Internet
The
Internet is medium through which front end and back end can interact and
communicate with each other.
Anatomy of Cloud
Computing
·
·
·
Provisioning
and Configuration Module:
It is the lowest level of cloud and typically resides on bare hardware (as a
firmware) or on the top of the hypervisor layer. Its function is to abstract
the underlying hardware and provide a standard mechanism to spawn instance of
virtual machine on demand. It also handles the post-configuration of the operating
systems and applications residing on the VM
Monitoring
and Optimization:
This layer handles the monitoring of all services, storage, networking and
applications components in cloud. Based on the statistics, it could perform
routine functions that optimize the behavior of the infrastructure components
and provide relevant data to the cloud administrator to further optimize the
configuration for maximum utilization and performance,
Metering
and Chargeback:
This layer provides functions to measure the usage of resources in cloud. The
metering module collects all the utilization data per domain per use. This
module gives the cloud administrator enough data to measure ongoing utilization
of resources and to create invoices based on the usage on a periodic basis.
Orchestration:
Orchestration is a central to cloud operations. Orchestration converts requests
from the service management layer and the monitoring, chargeback modules to
appropriate action item which are then submitted to provisioning and
configuration module for final closure. Orchestration updates the CMDB in the
process.
Configuration
Management Database (CMDB):
It is a central configuration repository wherein all the meta data and
configuration of different modules, resources are kept and updated in the
real-time basis. The repository can then be accessed using standards protocols
like SOAP by third-party software and integration components. All updates in
CMDB happen in real time as requests get processed in cloud.
Cloud
Life cycle Management Layer (CLM):
This layer handles the coordination of all other layers in cloud. All requests
internal and external are addressed to the CLM layer first. CLM may internally
route requests and actions to other layers for further processing.
Service
Catalog:
It is central to the definition of cloud, SC defines what kind of services the
cloud is capable of providing and at what cost to the end user. SC is the first
thing that is drafted before a cloud is architecture. The service management
layer consults SC before it processes any request for a new resource.
Hypervisor
Last Updated : 29 Jun, 2022
·
·
·
A
hypervisor is a form of virtualization software used in Cloud hosting to divide
and allocate the resources on various pieces of hardware. The program which
provides partitioning, isolation, or abstraction is called a virtualization
hypervisor. The hypervisor is a hardware virtualization technique that allows
multiple guest operating systems (OS) to run on a single host system at the
same time. A hypervisor is sometimes also called a virtual machine
manager(VMM).
Types
of Hypervisor –
TYPE-1 Hypervisor:
The hypervisor runs directly on the underlying host system. It is also known as
a “Native Hypervisor” or “Bare metal hypervisor”. It does not require any base
server operating system. It has direct access to hardware resources. Examples of
Type 1 hypervisors include VMware ESXi, Citrix XenServer, and Microsoft Hyper-V
hypervisor.
Pros & Cons of Type-1
Hypervisor:
Pros: Such kinds of hypervisors are very
efficient because they have direct access to the physical hardware
resources(like Cpu, Memory, Network, and Physical storage). This causes the
empowerment of the security because there is nothing any kind of the third
party resource so that attacker couldn’t compromise with anything.
Cons: One problem with
Type-1 hypervisors is that they usually need a dedicated separate machine to
perform their operation and to instruct different VMs and control the host
hardware resources.
TYPE-2 Hypervisor:
A Host operating system runs on the underlying host system. It is also known as
‘Hosted Hypervisor”. Such kind of hypervisors doesn’t run directly over the
underlying hardware rather they run as an application in a Host system(physical
machine). Basically, the software is installed on an operating system.
Hypervisor asks the operating system to make hardware calls. An example of a
Type 2 hypervisor includes VMware Player or Parallels Desktop. Hosted
hypervisors are often found on endpoints like PCs. The type-2 hypervisor
is very useful for engineers, and security analysts (for checking malware, or
malicious source code and newly developed applications).
Pros & Cons of Type-2
Hypervisor:
Pros: Such kind of hypervisors allows quick
and easy access to a guest Operating System alongside the host machine running.
These hypervisors usually come with additional useful features for guest
machines. Such tools enhance the coordination between the host machine and the
guest machine.
Cons: Here there is no direct
access to the physical hardware resources so the efficiency of these
hypervisors lags in performance as compared to the type-1 hypervisors, and
potential security risks are also there an attacker can compromise the security
weakness if there is access to the host operating system so he can also access
the guest operating system.
Choosing the right
hypervisor :
Type 1 hypervisors offer
much better performance than Type 2 ones because there’s no middle layer,
making them the logical choice for mission-critical applications and workloads.
But that’s not to say that hosted hypervisors don’t have their place – they’re
much simpler to set up, so they’re a good bet if, say, you need to deploy a
test environment quickly. One of the best ways to determine which hypervisor
meets your needs is to compare their performance metrics. These include CPU
overhead, the amount of maximum host and guest memory, and support for virtual
processors. The following factors should be examined before choosing a suitable
hypervisor:
1. Understand your needs: The company and its
applications are the reason for the data center (and your job). Besides your
company’s needs, you (and your co-workers in IT) also have your own needs.
Needs for a virtualization hypervisor are:
a.
Flexibility
b. Scalability
c. Usability
d. Availability
e. Reliability
f. Efficiency
g. Reliable support
2. The cost of a
hypervisor: For
many buyers, the toughest part of choosing a hypervisor is striking the right
balance between cost and functionality. While a number of entry-level solutions
are free, or practically free, the prices at the opposite end of the market can
be staggering. Licensing frameworks also vary, so it’s important to be aware of
exactly what you’re getting for your money.
3. Virtual machine
performance: Virtual
systems should meet or exceed the performance of their physical counterparts,
at least in relation to the applications within each server. Everything beyond
meeting this benchmark is profit.
4. Ecosystem: It’s tempting to
overlook the role of a hypervisor’s ecosystem – that is, the availability of
documentation, support, training, third-party developers and consultancies, and
so on – in determining whether or not a solution is cost-effective in the long
term.
5. Test for yourself: You can gain basic
experience from your existing desktop or laptop. You can run both VMware
vSphere and Microsoft Hyper-V in either VMware Workstation or VMware Fusion to
create a nice virtual learning and testing environment.
HYPERVISOR REFERENCE MODEL :
There are 3 main modules coordinates in order to emulate the underlying
hardware:
1.
DISPATCHER:
The dispatcher behaves like the entry point of the monitor and reroutes the
instructions of the virtual machine instance to one of the other two
modules.
2.
ALLOCATOR:
The allocator is responsible for deciding the system resources to be provided
to the virtual machine instance. It means whenever a virtual machine tries to execute
an instruction that results in changing the machine resources associated with
the virtual machine, the allocator is invoked by the dispatcher.
3.
INTERPRETER:
The interpreter module consists of interpreter routines. These are executed,
whenever a virtual machine executes a privileged instruction.
IAAS
Infrastructure as a Service | IaaS
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud computing platform. It allows customers to outsource their IT infrastructures, such as servers, networking, processing, storage, virtual machines, and other resources. Customers access these resources on the Internet using a pay-as-per-use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time, with pre-determined hardware configuration. The client paid for the configuration and time, regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients can dynamically scale the configuration to meet changing requirements and are billed only for the services actually used.
The IaaS cloud computing platform layer eliminates the need for every organization to maintain its IT infrastructure.

IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that the infrastructure resides at the customer's premise. In the case of the public cloud, it is located at the cloud computing platform vendor's data center, and the hybrid cloud is a combination of the two in which the customer selects the best of both public cloud and private cloud.
Some of the Primary Characteristics of IaaS are:
- Scalability: IaaS enables users to adjust computing capacity according to their demands without requiring long lead times or up-front hardware purchases.
- Virtualization: IaaS uses virtualization technology to generate virtualized instances that can be managed and delivered on-demand by abstracting physical computer resources.
- Resource Pooling: This feature enables users to share computer resources, such as networking and storage, among a number of users, maximizing resource utilization and cutting costs.
- Elasticity: IaaS allows users to dynamically modify their computing resources in response to shifting demand, ensuring optimum performance and financial viability.
- Self-Service: IaaS offers consumers "self-service" portals that let them independently deploy, administer, and monitor their computing resources without the assistance of IT employees.
- Availability: To ensure the high availability and reliability of services, IaaS providers often run redundant and geographically dispersed data centers.
- Security: To safeguard their infrastructure and client data, IaaS companies adopt security measures, including data encryption, firewalls, access controls, and threat detection.
- Customization: IaaS enables users to alter the operating systems, application stacks, and security settings of their virtualized instances to suit their unique requirements.
IaaS, or infrastructure as a service, is a cloud computing model that offers users virtualized computer resources on a pay-per-use basis.
Users can scale their resources up or down in accordance with their demands while taking advantage of high availability, security, and customization possibilities.
Advantages of IaaS Cloud Computing Layer
There are the following advantages of the IaaS computing layer -
1. Shared infrastructure
IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources
Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model
IaaS providers provide services based on a pay-as-per-use basis. The users are required to pay for what they have used.
4. Focus on the core business
IaaS providers focus on the organization's core business rather than on IT infrastructure.
5. On-demand scalability
On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry about upgrading software and troubleshooting issues related to hardware components.
Disadvantages of IaaS Cloud Computing Layer
Security: In the IaaS context, security is still a major problem. Although IaaS companies have security safeguards in place, it is difficult to achieve 100% protection. To safeguard their data and applications, customers must verify that the necessary security configurations and controls are in place.
Maintenance and Upgrade: The underlying infrastructure is maintained by IaaS service providers, but they are not required to automatically upgrade the operating systems or software used by client applications. Compatibility problems could come from this, making it harder for customers to maintain their current software.
Interoperability Issues: Interoperability Problems: Because of interoperability problems, moving virtual machines (VMs) from one IaaS provider to another can be difficult. As a result, consumers may find it challenging to transfer providers or integrate their IaaS resources with other platforms or services. This may result in vendor lock-in.
Performance Variability: Due to shared resources and multi-tenancy, the performance of VMs in the IaaS system can change. During times of high demand or while sharing resources with other users on the same infrastructure, customers' performance may fluctuate.
Dependency on Internet Connectivity: Internet access is crucial to IaaS, which is largely dependent on it. Any interruptions or connectivity problems could hinder access to cloud infrastructure and services, which would have an impact on productivity and business operations.
Learning Curve and Complexity: Learning Curve and Complexity: Using and administering IaaS calls for a certain amount of technical know-how and comprehension of cloud computing principles. To efficiently use and manage the IaaS resources, organizations may need to spend money on IT employee training or turn to outside experts.
Cost Management: Cost Control: IaaS provides scalability and flexibility, but it can also result in difficult cost control. In order to prevent unforeseen charges, customers must keep an eye on and manage their resource utilization. Higher costs may be the result of inefficient use of resources or improper resource allocation.
PAAS
What Is Platform as a Service (PaaS)? Definition, Examples, Components, and Best Practices
What Is Platform as a Service (PaaS)?
Platform as a service (PaaS) is a cloud computing platform
where a third party offers the necessary software and hardware resources. These
offerings enable clients to develop, run, and manage business applications
without maintaining the infrastructure required for such software development
processes.
Today’s digital world is constantly bombarding organizations with
newer technologies and data. This large volume of information is making it
difficult for legacy environments to keep up. Owing to the data explosion,
businesses are shifting to cloud infrastructure as a feasible option. PaaS
solutions cope with modern business requirements while considerably reducing
costs and complexities of buying, installing, and managing in-house hardware
and software.
Platform as a service (PaaS) is defined as a
cloud computing platform where a third party offers the necessary software and
hardware resources. PaaS solutions cope with modern business requirements
while considerably reducing costs and complexities of buying, installing, and
managing in-house hardware and software. This article explains the basics of
PaaS, along with some examples and the 10 best practices to implement PaaS in
2021.
Platform as a service (PaaS) is a cloud
computing platform where a third party offers the necessary software and
hardware resources. These offerings enable clients to develop, run, and
manage business applications without maintaining the infrastructure required
for such software development processes.
Today’s digital world is constantly bombarding
organizations with newer technologies and data. This large volume of
information is making it difficult for legacy environments to keep up. Owing to
the data explosion, businesses are shifting to cloud infrastructure as a feasible
option. PaaS solutions cope with modern business requirements while
considerably reducing costs and complexities of buying, installing, and
managing in-house hardware and software.
SaaS vs. PaaS vs. IaaS
A typical PaaS model encompasses the physical
infrastructure, cloud applications, and a graphic user interface (GUI). PaaS architectures are similar to serverless computing or
function-as-a-service (FaaS) models. In such models, the operating
infrastructure is not in sight of the developers and users. This compels the
cloud service provider to control the operations of underlying servers and
resources. The PaaS framework uses a dynamic financial
model. The computing services are priced based on computations, storage space,
and network resources.
Examples of PaaS
The cloud services offered by
today’s leading PaaS providers are equipped to operate across languages,
libraries, containers, and equivalent tools. These include computing, storage,
databases, developer and management tools, and security.
Let’s look at some of the
leading providers of PaaS.
1. SAP Cloud
SAP offers cloud PaaS as an
open business platform. The platform has been developed for the smooth and
seamless deployment of applications. Besides, its PaaS service integrates cloud
and on-premise apps and offers many supporting
services. This includes a library of over 1,300 apps built on the same PaaS
platform.
2. Microsoft Azure
Microsoft Azure is a
development environment that harnesses the properties of PaaS. It supports the
entire web app development lifecycle, from building to deploying and managing
the app thereafter. Additionally, Azure is compatible with a wide range of
languages, libraries, and frameworks. This allows developers to access multiple
associated cloud computing services offered by Microsoft. Owing to the size of Azure,
it covers all three cloud models—SaaS, PaaS, and IaaS.
3. Salesforce Lightning
Lightning is Salesforce’s
next-generation PaaS platform. It is a component-based framework meant for app
development. It provides a user-friendly user interface (UI) with advanced
features that boost the experience of both business users and IT teams. The
platform offers a rapid application development feature that includes the use
of reusable building blocks.
4. AWS Lambda
AWS Lambda is a part of Amazon
Cloud and supports the effective management of Amazon Web Services (AWS)
resources. This implies that users can run code without provisioning the
resources or managing the server. This PaaS environment is multi-code capable, and
therefore, enables any kind of software development. The serverless
architecture of the platform allows it to handle
micro-service architecture quite easily and, as such, has garnered the
attention of numerous enterprises worldwide.
5. Google App Engine
Google
App Engine is a part of the Google Cloud
ecosystem. It is a scalable serverless PaaS platform meant for rapid
deployment. Google generally provides a set of highly capable servers that can
cope with growing volumes of queries. Developers, however, have raised concerns
regarding Google App Engine’s services. Some of the prominent issues include
lack of support in some language environments, inadequate development tools,
and failure to plug-and-play some applications, besides many others.
6. Pivotal Cloud Foundry
Pivotal Cloud Foundry (PCF) is
a PaaS platform managed by the Cloud Foundry Foundation. It is open-source,
user-friendly, and can be deployed on IaaS platforms such as vSphere. Cloud
Foundry is used to execute container-based applications via Kubernetes.
PCF allows quick and efficient application deployment and maintenance. It can
also streamline app updates.
Also Read: What Is Cloud Storage? Definition, Types, Benefits, and Best
Practices
7. AWS Elastic Beanstalk
AWS Elastic Beanstalk allows
enterprises to quickly deploy and manage applications within the AWS cloud
infrastructure without having to know the fundamentals
of the underlying infrastructure. The platform dynamically handles the
details of resource provisioning, load balancing, and application health
monitoring.
8. IBM Cloud Foundry
IBM Cloud Foundry is an
open-source version of IBM’s PaaS, which is powerful as well as agile. Cloud
Foundry allows coordinated linkage of coding parameters (related to building
and deployment) to associated cloud services. As a consequence, applications are
deployed quickly and consistently.
9. Red Hat OpenShift
Red Hat’s OpenShift offers
users a seamless way to build and deploy applications. It also provides
extensive API support, thereby extending its capability beyond the platform
itself. OpenShift is also known to be an incredibly secure platform. Multiple
layers integrated within the environment come into action if users try to
perform unexpected actions or operations, such as running
containers without proper user permissions.
10. Oracle Cloud Platform
Oracle is an industry that has
high expertise in all aspects of the cloud. PaaS service is one of the leading
products among those offered by the company. The platform was initially
designed to work with Oracle SaaS applications, but it also works with other
apps. Despite the wide offerings, users have raised concerns over the
inadequacies of the control panel, high complexity, and increased time taken,
for instance, provisioning.
Key Components of Platform as a
Service
Different PaaS vendors offer
different types of services. The core components of these services are listed
below.
Development tools:
The most important component of platform as a service is the tools required by
engineers for software development
purposes. These include a source code editor, debugger, compiler, and other
essential tools that assist in writing, deploying, debugging, and managing
code. These developmental tools may be offered together as a
framework. Depending on clients’ needs, vendors offer specific tools, but
a PaaS model should essentially include everything that a developer would
require to build an application.
Middleware:
Middleware is similar to an invisible entity (i.e., software) that allows users
to interact with the software. It acts as an intermediate bridge between
user-facing applications and machine operating systems. Middleware enables applications to
understand keyboard entries or mouse clicks that are input by a user.
Operating system (OS):
PaaS provides any or all operating systems that developers need to work on and
on which applications run. The developer, however, need not worry about
using the latest version of the OS or updating it for security patches. Hence,
the OS is a fundamental component provided by PaaS vendors.
Databases:
PaaS allows developers to create, query, and maintain
databases needed to develop and deploy
applications.
Infrastructure:
In PaaS, all infrastructure components, including storage and servers, are
taken care of while developing and deploying applications. A PaaS vendor either
manages servers, storage, and physical data centers or purchases them from a
third-party provider. This allows development teams to focus on
application-building rather than worrying about the infrastructure itself.
AWS features
Features of AWS
The
following are the features of AWS:
- Flexibility
- Cost-effective
- Scalable
and elastic
- Secure
- Experienced
1) Flexibility
- The
difference between AWS and traditional IT models is flexibility.
- The
traditional models used to deliver IT solutions that require large
investments in a new architecture, programming languages, and operating
system. Although these investments are valuable, it takes time to adopt
new technologies and can also slow down your business.
- The
flexibility of AWS allows us to choose which programming models,
languages, and operating systems are better suited for their project, so
we do not have to learn new skills to adopt new technologies.
- Flexibility
means that migrating legacy applications to the cloud is easy, and
cost-effective. Instead of re-writing the applications to adopt new
technologies, you just need to move the applications to the cloud and tap
into advanced computing capabilities.
- Building
applications in aws are like building applications using existing hardware
resources.
- The
larger organizations run in a hybrid mode, i.e., some pieces of the
application run in their data center, and other portions of the
application run in the cloud.
- The
flexibility of aws is a great asset for organizations to deliver the
product with updated technology in time, and overall enhancing the
productivity.
2) Cost-effective
- Cost
is one of the most important factors that need to be considered in
delivering IT solutions.
- For
example, developing and deploying an application can incur a low cost, but
after successful deployment, there is a need for hardware and bandwidth.
Owing our own infrastructure can incur considerable costs, such as power,
cooling, real estate, and staff.
- The
cloud provides on-demand IT infrastructure that lets you consume the
resources what you actually need. In aws, you are not limited to a set
amount of resources such as storage, bandwidth or computing resources as
it is very difficult to predict the requirements of every resource.
Therefore, we can say that the cloud provides flexibility by maintaining
the right balance of resources.
- AWS
provides no upfront investment, long-term commitment, or minimum spend.
- You
can scale up or scale down as the demand for resources increases or
decreases respectively.
- An
aws allows you to access the resources more instantly. It has the ability
to respond the changes more quickly, and no matter whether the changes are
large or small, means that we can take new opportunities to meet the
business challenges that could increase the revenue, and reduce the cost.
3) Scalable and elastic
- In
a traditional IT organization, scalability and elasticity were calculated
with investment and infrastructure while in a cloud, scalability and
elasticity provide savings and improved ROI (Return On Investment).
- Scalability
in aws has the ability to scale the computing resources up or down when
demand increases or decreases respectively.
- Elasticity
in aws is defined as the distribution of incoming application traffic
across multiple targets such as Amazon EC2 instances, containers, IP
addresses, and Lambda functions.
- Elasticity
load balancing and scalability automatically scale your AWS computing
resources to meet unexpected demand and scale down automatically when
demand decreases.
- The
aws cloud is also useful for implementing short-term jobs,
mission-critical jobs, and the jobs repeated at the regular intervals.
4) Secure
- AWS
provides a scalable cloud-computing platform that provides customers with
end-to-end security and end-to-end privacy.
- AWS
incorporates the security into its services, and documents to describe how
to use the security features.
- AWS
maintains confidentiality, integrity, and availability of your data which
is the utmost importance of the aws.
Physical security: Amazon has many years of experience in
designing, constructing, and operating large-scale data centers. An aws
infrastructure is incorporated in AWS controlled data centers throughout the
world. The data centers are physically secured to prevent unauthorized access.
Secure services: Each service provided by the AWS cloud
is secure.
Data privacy: A personal and business data can be
encrypted to maintain data privacy.
5) Experienced
- The
AWS cloud provides levels of scale, security, reliability, and privacy.
- AWS
has built an infrastructure based on lessons learned from over sixteen
years of experience managing the multi-billion dollar Amazon.com business.
- Amazon
continues to benefit its customers by enhancing their infrastructure
capabilities.
- Nowadays,
Amazon has become a global web platform that serves millions of customers,
and AWS has been evolved since 2006, serving hundreds of thousands of
customers worldwide.
Security Issues in
Cloud Computing
In
this, we will discuss the overview of cloud computing, its need, and mainly our
focus to cover the security issues in Cloud Computing. Let’s discuss it one by
one.
Cloud Computing is a type of technology that provides remote
services on the internet to manage, access, and store data rather than storing
it on Servers or local drives. This technology is also known as Serverless
technology. Here the data can be anything like Image, Audio, video, documents,
files, etc.
Need of Cloud Computing :
Before using Cloud Computing, most of the large as well as small
IT companies use traditional methods i.e. they store data in Server, and they
need a separate Server room for that. In that Server Room, there should be a
database server, mail server, firewalls, routers, modems, high net speed
devices, etc. For that IT companies have to spend lots of money. In order to
reduce all the problems with cost Cloud computing come into existence and most
companies shift to this technology.
Security Issues in Cloud Computing :
There is no doubt that Cloud Computing provides various Advantages
but there are also some security issues in cloud computing. Below are some
following Security Issues in Cloud Computing as follows.
1.
Data
Loss –
Data Loss is one of the issues faced in Cloud Computing. This is
also known as Data Leakage. As we know that our sensitive data is in the
hands of Somebody else, and we don’t have full control over our database. So,
if the security of cloud service is to break by hackers then it may be possible
that hackers will get access to our sensitive data or personal files.
2.
Interference
of Hackers and Insecure API’s –
As we know, if we are talking about the cloud and its services it
means we are talking about the Internet. Also, we know that the easiest
way to communicate with Cloud is using API. So it is important to protect the
Interface’s and API’s which are used by an external user. But also in cloud
computing, few services are available in the public domain which are the
vulnerable part of Cloud Computing because it may be possible that these
services are accessed by some third parties. So, it may be possible that with
the help of these services hackers can easily hack or harm our data.
3.
User
Account Hijacking –
Account Hijacking is the most serious security issue in Cloud
Computing. If somehow the Account of User or an Organization is hijacked by a
hacker then the hacker has full authority to perform Unauthorized Activities.
4.
Changing
Service Provider –
Vendor lock-In is also an important Security issue in Cloud
Computing. Many organizations will face different problems while shifting from
one vendor to another. For example, An Organization wants to shift from AWS Cloud to Google Cloud Services then they face various problems like shifting of
all data, also both cloud services have different techniques and functions, so
they also face problems regarding that. Also, it may be possible that the
charges of AWS are different from Google Cloud, etc.
5.
Lack of
Skill –
While working, shifting to another service provider, need an extra
feature, how to use a feature, etc. are the main problems caused in IT
Companies who doesn’t have skilled Employees. So it requires a skilled person
to work with Cloud Computing.
6.
Denial
of Service (DoS) attack –
This type of attack occurs when the system receives too much
traffic. Mostly DoS attacks occur in large organizations such as the banking
sector, government sector, etc. When a DoS attack occurs, data is lost.
So, in order to recover data, it requires a great amount of money as well
as time to handle it.
7.
Shared
Resources: Cloud computing relies on a shared infrastructure. If one
customer’s data or applications are compromised, it may potentially affect
other customers sharing the same resources, leading to a breach of
confidentiality or integrity.
8.
Compliance
and Legal Issues: Different industries and regions have specific regulatory
requirements for data handling and storage. Ensuring compliance with these
regulations can be challenging when data is stored in a cloud environment that
may span multiple jurisdictions.
9.
Data
Encryption: While data in transit is often encrypted, data at rest can be
susceptible to breaches. It’s crucial to ensure that data stored in the cloud
is properly encrypted to prevent unauthorized access.
10.
Insider
Threats: Employees or service providers with access to cloud systems
may misuse their privileges, intentionally or unintentionally causing data
breaches. Proper access controls and monitoring are essential to mitigate these
threats.
11.
Data
Location and Sovereignty: Knowing where your data
physically resides is important for compliance and security. Some cloud
providers store data in multiple locations globally, and this may raise
concerns about data sovereignty and who has access to it.
12.
Loss of
Control: When using a cloud service, you are entrusting a third party with
your data and applications. This loss of direct control can lead to concerns
about data ownership, access, and availability.
13.
Incident
Response and Forensics: Investigating security
incidents in a cloud environment can be complex. Understanding what happened
and who is responsible can be challenging due to the distributed and shared
nature of cloud services.
14.
Data
Backup and Recovery: Relying on cloud providers for data backup and recovery can
be risky. It’s essential to have a robust backup and recovery strategy in place
to ensure data availability in case of outages or data loss.
15.
Vendor
Security Practices: The security practices of cloud
service providers can vary. It’s essential to thoroughly assess the security
measures and certifications of a chosen provider to ensure they meet your
organization’s requirements.
16.
IoT
Devices and Edge Computing: The proliferation of IoT
devices and edge computing can increase the attack surface. These devices often
have limited security controls and can be targeted to gain access to cloud
resources.
17.
Social
Engineering and Phishing: Attackers may use social
engineering tactics to trick users or cloud service providers into revealing
sensitive information or granting unauthorized access.
18.
Inadequate
Security Monitoring: Without proper monitoring and alerting systems in place,
it’s challenging to detect and respond to security incidents in a timely
manner.
Software as a Service | SaaS
SaaS is also known as "On-Demand Software." It is a software distribution model in which services are hosted by a cloud service provider. These services are available to end-users over the internet, so the end-users do not need to install any software on their devices to access these services.

Characteristics of SaaS:
- Web-based Delivery: SaaS apps can be accessed from anywhere with an internet connection because they are supplied over the internet, often through a web browser. Users no longer need to install and maintain software programs on their local machines as a result.
- Multiple Users or "tenants" can access SaaS applications from a single instance of the program thanks to the concept of multi-tenancy. As a result, the provider can serve several clients with the same application without administering unique program instances for every client.
- Automatic Updates: SaaS providers are in charge of keeping the software up to date and making sure that everyone has access to the newest features and security patches. Users are no longer required to manually install updates or fixes as a result.
- Scalable: SaaS systems are scalable, which can readily grow or shrink in response to user demand. This frees up enterprises from worrying about infrastructure or licensing fees and lets them add or remove users as needed.
- Pricing on a Subscription Basis: SaaS programs are frequently sold using a subscription-based pricing model, in which customers pay a monthly or yearly price to access the program. As a result, companies won't need to invest significantly in software licenses upfront.
- Data Security, including data encryption, access restrictions, and backups, is the responsibility of SaaS providers. Users no longer need to handle their own data security because of this.
In conclusion, SaaS is a type of cloud computing where software applications are distributed online.
Web-based SaaS solutions provide multi-tenancy, providing data protection, automatic updates, scalability, and subscription-based pricing. Businesses can access and use software applications cost-effectively with SaaS without having to worry about infrastructure or program upkeep.
Access to Software Applications Over the Internet:
- The majority of the time, SaaS companies host software programs on their own servers and provide them online. Using their login information, users can access the software through a web browser or mobile app, authenticating and gaining access to it.
- Users don't need to install or maintain any software on their local machines because the provider hosts and maintains it. As a result, users may easily access the program from any location with an internet connection and on any device that can run mobile apps or web surfing.
- All users have access to the most recent features and security updates because the provider is in charge of keeping the program updated and maintained. Users are no longer required to manually install updates or fixes as a result.
- Users often pay a monthly or yearly charge to access the software through subscription-based SaaS providers. Because they don't have to make a significant upfront investment in software licenses, businesses are able to budget for their software costs more effectively as a result.
- In general, SaaS gives enterprises a practical way to use and access software programs without having to worry about infrastructure or software upkeep. Providers are in charge of keeping the software up to date so that all users have access to the newest features and security patches. Users can access the software from any location with an internet connection.
Pricing Models: Subscription or User-Based
- Most SaaS companies use a subscription-based pricing structure; however, some may also provide a usage-based pricing structure. Users that choose a subscription-based pricing model for their software access pay a set monthly or yearly charge.
- The cost may vary according to the usage of the software's capabilities or the number of users. Businesses benefit from predictability and consistency thanks to this strategy because they can more efficiently budget for their software expenses.
- In a usage-based pricing model, the costs are determined by how the program is actually used, such as the volume of data processed, the number of API requests, or the number of transactions.
- For companies with erratic usage patterns or those that only want the program sometimes, this model may be more adaptable and economical.
- According to their business strategy and the demands of their clients, SaaS providers may offer either a subscription-based or a usage-based pricing plan. SaaS offers organizations a cost-effective option to access and use software products without having to worry about infrastructure or software maintenance, regardless of the price model.
Services Provided by SaaS:
Business Services - SaaS Provider provides various business services to start up the business. The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), billing, and sales.
Document Management - SaaS document management is a software application offered by a third party (SaaS provider) to create, manage, and track electronic documents.
Examples: Slack, Samepage, Box, and Zoho Forms.
Social Networks - As we all know, social networking sites are used by the general public, so social networking service providers use SaaS for their convenience and handle the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-mail providers offer their services using SaaS.
Collaboration Tools: SaaS companies provide collaboration solutions that let teams collaborate effectively no matter where they are physically located. Platforms for project management, apps for team communication, and file-sharing services are some of these resources.
Examples include Slack, Microsoft Office 365, and Google Workspace (formerly G Suite).
Human Resources Management: SaaS-based HR management systems give companies tools to simplify key HR procedures, such as employee onboarding, payroll administration, timekeeping, performance reviews, and employee self-service portals.
Workday, BambooHR, and ADP Workforce Now, as examples.
Customer Support and Help Desk: SaaS platforms provide customer support and help desk solutions that enable firms to manage customer inquiries, track support tickets, and promptly address customer issues.
For instance, Salesforce Service Cloud, Freshdesk, and Zendesk.
Marketing and Sales Automation: To increase productivity and boost income, firms can automate marketing campaigns, lead generation, customer relationship management, and sales activities using SaaS marketing and sales automation technologies.
Examples include Marketo, Pardot, and HubSpot.
E-commerce Platforms: SaaS-based e-commerce platforms make it simpler for businesses to launch and run online storefronts, maintain product catalogs, handle payments, and keep track of orders.
Advantages of SaaS Cloud Computing Layer
1. SaaS is easy to buy
SaaS pricing is based on a monthly fee or annual fee subscription, so it allows organizations to access business functionality at a low cost, which is less than licensed applications.
Unlike traditional software, which is sold as a licensed base with an up-front cost (and often an optional ongoing support fee), SaaS providers are generally pricing the applications using a subscription fee, most commonly a monthly or annual fee.
2. One to Many
SaaS services are offered as a one-to-many model means a single instance of the application is shared by multiple users.
3. Less hardware required for SaaS
The software is hosted remotely, so organizations do not need to invest in additional hardware.
4. Low maintenance required for SaaS
Software as a service removes the need for installation, set-up, and daily maintenance for organizations. The initial set-up cost for SaaS is typically less than the enterprise software. SaaS vendors are pricing their applications based on some usage parameters, such as the number of users using the application. So SaaS does easy to monitor and automatic updates.
6. Multidevice support
SaaS services can be accessed from any device, such as desktops, laptops, tablets, phones, and thin clients.
7. API Integration
SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation
SaaS services are accessed directly from the service provider using an internet connection, so they do not need to require any software installation.
Disadvantages of SaaS Cloud Computing Layer:
1) Security
Actually, data is stored in the cloud, so security may be an issue for some users. However, cloud computing is not more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-user, there is a possibility that there may be greater latency when interacting with the application compared to local deployment. Therefore, the SaaS model is not suitable for applications whose demand response time is in milliseconds.
3) Total Dependency on the Internet
Without an internet connection, most SaaS applications are not usable.
4) Switching between SaaS vendors is difficult
Switching SaaS vendors involves the difficult and slow task of transferring very large data files over the internet and then converting and importing them into another SaaS also.
Popular SaaS Providers

RISK management in cyber security
What is enterprise
risk management (ERM)?
ERM is a
comprehensive approach to managing risk across a large organization. An ERM
program helps organizations identify their risks and assess their impact on the
business. A successful ERM strategy can help reduce operational risk and
financial risk, while improving compliance and security.
Why is risk management important?
Risk management is
important because the process helps organizations prepare for potential threats
to the business. When organizations have a comprehensive risk management plan
in place, they are better equipped to make decisions that safeguard their data
and systems from attacks.
What are the benefits of risk management?
An effective risk
management strategy can enable benefits like:
·
Reduced risk of data breaches, system
outages, and other security incidents
·
Fortified security of data and
systems
·
Protected reputation
What is vulnerability management?
Vulnerability
management is the process of proactively identifying security weaknesses and
flaws in IT systems and software, tracking the vulnerabilities, then
prioritizing them for remediation.
What is the difference between managing risk and managing
vulnerability?
Risk management is
different from vulnerability management. Risk management helps identify,
assess, and mitigate potential threats and vulnerabilities across an
organization, while vulnerability management targets weaknesses in systems,
processes, or assets to minimize the likelihood of exploitation.
What is risk-based vulnerability management?
Risk-based vulnerability management prioritizes remediating
cybersecurity weaknesses based on their likelihood of exploitation and impact.
Because not all vulnerabilities can be fixed, businesses need to prioritize the
highest-risk vulnerabilities to efficiently improve risk posture.
Types of risk-management strategies
Choosing a risk management
strategy
Selecting a risk-management strategy involves first assessing
the probability of risks and their impact. For example, vulnerabilities
exploited by an attacker can lead to system compromise, data theft, and service
disruption. Organizations can then adopt one or more of the four
risk-management strategies: avoidance, reduction, transferring, or acceptance.
Risk avoidance
In a risk-avoidance approach, teams implement policies and
technologies that help eliminate risk. Risk avoidance involves efforts to
eliminate or more closely manage activities that invite organizational risk.
Risk reduction
The goal of a risk-reduction strategy is to reduce to an
acceptable level the probability of financial or operational loss.
Risk transfer
Risk transfer involves shifting potential loss to a contracted
third party. Purchasing cyber insurance is an example of a risk transfer.
Risk acceptance
After avoiding, reducing, or transferring risk, organizations
may accept some residual risk when its potential impact is low or
insignificant. With the proper guardrails in place, managing the business
around some level of acceptable risk through risk-based prioritization can be a
prudent way forward.
Risk-management process
Develop a plan
The goal of a cybersecurity risk-management plan is to identify
and mitigate critical threats to your business. To reduce your risk of
cyberattacks effectively, plan to prioritize vulnerabilities that pose the
greatest threat to your organization. Follow each step in the risk-management
process below to proactively manage and reduce organizational risk.
Identify risks
The first step in the risk-management process is to conduct a
risk assessment. Identify the likelihood of potential vulnerabilities and
attacks and which assets would be impacted. Determining the probability and
impact of potential attacks can help prioritize efforts and focus on the risks
most relevant to the organization.
Identify vulnerabilities
A vital component of the risk-management process is identifying
all vulnerabilities in your IT environment. Vulnerabilities are security
weaknesses and flaws in systems and software that attackers could exploit.
Teams use vulnerability scanning and management tools to uncover security
weaknesses and mitigate them.
Mitigate risk and vulnerabilities
Deploy security tools to remediate your vulnerabilities and
effectively reduce risk. A risk-based approach helps teams identify which
vulnerabilities should be remediated first. A variety of solutions make
addressing critical risks easier, like risk-based vulnerability management
tools, intrusion detection systems, firewalls, and security awareness training.
Continuously monitor
Monitor key performance indicators and key risk indicators
across the entire network to help ensure the success of risk mitigation
measures and proactively address potential threats.
Prepare for incident response (IR)
Before a vulnerability turns into an urgent security event,
prepare an incident response plan that the IR team can follow. The goal of an
IR plan is to identify threats, minimize their impact, and prevent incidents
from reoccurring.
Plan for recovery
Develop a disaster recovery plan (DRP) to help IT teams restore
operations in case a security incident lasts a day or longer.
VIRTUAL MACHINE SECURITY
The role of VMs in the cloud
A cloud service provider owns the physical hardware, software, networks and other supporting components necessary to serve its customers. By clustering hardware, the provider delivers a dynamic, software-defined environment capable of supporting the changing needs of a customer -- without the customer needing to purchase and maintain physical equipment.
Key to this just-in-time, as-needed delivery of cloud services is the VM. A physical machine runs a single OS, creating a 1-to-1 relationship, but many VMs can exist on a single physical machine, resulting in a many-to-1 environment. This expansion is made possible by the hypervisor, also known as the virtual machine monitor (VMM).
The VMM is responsible for creating and managing VMs and shared resources, such as memory and disk space, as well as roles and permissions. This naturally makes the VMM a significant security target.
VM security challenges
The security challenges for VMs are in some cases the same ones experienced on physical machines. This is largely due to the nature of data-driven attacks on applications, libraries and OSes. The difference is that defense against lower-level attacks on firmware and VMMs would be the provider's responsibility. While a vendor has plenty of incentive to maintain security on the VMM and other components, zero-day attacks occur, and the resulting loss can affect any tenant.
There are three significant security challenges with VMs:
- Shared-space problem. The VMM is a rich target because, once compromised, all VMs are vulnerable. Because the VMM contains shared libraries, memory and provisioning and management software, attackers can reach multiple environments and cover their activity.
- Standardized VM configurations. The use of automated processes enables configuration efficiencies. The software that manages the configurations will typically rely on either a passed parameter or information gained from querying the VM. While this is not a standalone vulnerability, the real problem is the reuse of the script. Once a script is compromised, a problem easily replicates across VMs. Managed extended threat detection and response can be useful in countering this.
- Missed patches and updates. This problem is not unlike the user who uses the same password for multiple servers; once the first instance is discovered, the remaining instances are ready to be exploited. Be alert to patch updates as they are released.
Best practices to secure VMs in the cloud
Since security in the cloud cannot be assured, the right approach is to mitigate risk. With VMs, that is accomplished by maintaining up-to-date versions of the software those machines use, particularly the OSes.
In addition to detailing the metrics for expected quality of service, a tightly written SLA should include specific language about the touch points between the service provider and network provider as well as those between the provider and customer. It is generally better for security to overlap in those places than for there to be gaps, but the overlap should be minimized. Also, pay attention to data ownership and storage -- especially when your cloud provider has a global presence. Peering agreements between points of presence take on added importance because infrastructure components cross jurisdictional boundaries; the ability to specify in the SLA that data and metadata never cross certain boundaries is important.
Segmentation of the VMs via software-defined networks enables isolation within the virtual environment. Segmentation can be by group, addresses, services or any other method the owner chooses. Additionally, make good use of zero-trust practices.











Hi there!
ReplyDeleteI just wanted to drop a quick note to say how much I appreciate the content on Coding Acharya. The range of topics covered is impressive, and the tutorials are incredibly detailed and easy to follow.
One thing I particularly enjoyed was the recent post on [specific topic or tutorial you found interesting]. The way you broke down the concepts and provided practical examples made it really accessible, even for someone relatively new to the subject.
If I may suggest, it could be helpful to include a section on common pitfalls or troubleshooting tips related to the topics you cover. This might make your tutorials even more valuable, especially when readers run into issues during implementation.
Keep up the great work! Your blog is a fantastic resource for anyone looking to deepen their coding knowledge.
Find Great Website: https://comdev.eu/joomla-directory-extension
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeletePower Apps and Power Automate Training
Microsoft Power Apps Online Training
Microsoft Power Apps Course Hyderabad
Power Apps Online Training
Power Apps Training
Power Apps Training Hyderabad-Ameerpet
Power Apps Training Ameerpet
Microsoft Power Platform Online Training
Microsoft Power Automate Training Course
Power Automate Online Training
Such an informative post Thanks for sharing. We are providing the best services click on below links to visit our website.
ReplyDeleteCloud Automation using Python & Terraform
Cloud Automation Training
Cloud Automation Online Training Course
Cloud Automation Training Institute Hyderabad
Cloud Automation Certification Online Training
AWS Cloud Automation using Terraform Training
AWS Cloud Automation with Python Online Training
AWS Automation with Terraform Training
AWS Cloud Infrastructure Automation with Terraform Training
Such an informative post Thanks for sharing. We are providing the best services click on below links to visit our website.
ReplyDeleteCloud Automation using Python & Terraform
Cloud Automation Training
Cloud Automation Online Training Course
Cloud Automation Training Institute Hyderabad
Cloud Automation Certification Online Training
AWS Cloud Automation using Terraform Training
AWS Cloud Automation with Python Online Training
AWS Automation with Terraform Training
AWS Cloud Infrastructure Automation with Terraform Training
ReplyDeleteSuch an informative post Thanks for sharing. We are providing the best services click on below links to visit our website.
Cloud Automation using Python & Terraform
Cloud Automation Training
Cloud Automation Online Training Course
Cloud Automation Training Institute Hyderabad
Cloud Automation Certification Online Training
AWS Cloud Automation using Terraform Training
AWS Cloud Automation with Python Online Training
AWS Automation with Terraform Training
AWS Cloud Infrastructure Automation with Terraform Training
Great post! I found your insights really valuable and informative. Your explanation was clear and helped me understand the topic better.
ReplyDeleteBest Advanced Java Online Training
Best Java Training in Hyderabad
Advanced Java Course
Advanced Java Online Course
Great post! I found your insights really valuable and informative. Your explanation was clear and helped me understand the topic better.
ReplyDeleteBest Advanced Java Online Training
Best Java Training in Hyderabad
Advanced Java Course
Advanced Java Online Course
Such an informative post Thanks for sharing.
ReplyDeleteData Science with Generative AI Course
Data Science with Generative AI Training Hyderabad
Data Science Training in Hyderabad
Data Science Training in Ameerpet
Data Science Training Institute in Hyderabad
Data Science Course Training in Hyderabad
Data Science with Generative AI Online Training
Data Science with Generative AI Training
Data Science with Generative AI Course Ameerpet
Data Science with Generative AI Course Hyderabad
Data Science Course in Hyderabad
Such an informative post Thanks for sharing.
ReplyDeleteCloud Automation using Python & Terraform
Cloud Automation Training
Cloud Automation Online Training Course
Cloud Automation Training Institute Hyderabad
Cloud Automation Certification Online Training
AWS Cloud Automation using Terraform Training
AWS Cloud Automation with Python Online Training
AWS Automation with Terraform Training
AWS Cloud Infrastructure Automation with Terraform Training
Thank you for sharing the valuable information.
ReplyDeleteBest Application Development Company.
Such an informative post Thanks for sharing. We are providing the best services click on below links to visit our website.
ReplyDeleteAzure Data Engineer Training in Hyderabad
Azure Data Engineer Online Training
Microsoft Azure Data Engineer Training
Azure Data Engineer Training Online in Hyderabad
Azure Data Engineer Training
Data Engineer Training Hyderabad
Azure Data Engineer Course in Hyderabad
Azure Data Engineering Training in Ameerpet
Azure Data Engineer Training Institute in Hyderabad
MS Azure Data Engineer Online Training
Azure Data Engineering Certification Course
Thank you for the insightful article on Platform as a Service (PaaS). It’s clear how PaaS solutions help businesses reduce the complexity and cost of managing in-house infrastructure. FYI Solutions offers expert Cloud Security Services that can enhance your PaaS deployments, ensuring secure and efficient cloud management.
ReplyDeleteKiya Learning offers some of the best online coding classes in the USA. Their courses are designed for beginners and advanced learners alike, covering a range of programming languages. With expert instructors and flexible schedules, it's a great platform to build your coding skills and advance your career!
ReplyDeleteThank you for sharing the valuable information with us.
ReplyDeleteBest Cloud Migration Services.
Nice Post!!
ReplyDeletePlease Look Here At Xlim Pro 2 Bundle
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteMicroSoft Dynamics Ax Training Online
MicroSoft Dynamics Ax Training
MicroSoft Dynamics 365 Training Courses
MicroSoft Ax Training
Dynamics 365 Online Course
MicroSoft Dynamics Ax Course
MicroSoft Dynamics Ax Online Training
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteSnowflake Training
Snowflake Online Training
Snowflake Training in Hyderabad
Snowflake Training in Ameerpet
Snowflake Course
Snowflake Training Institute in Hyderabad
Snowflake Online Course Hyderabad
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteSnowflake Training
Snowflake Online Training
Snowflake Training in Hyderabad
Snowflake Training in Ameerpet
Snowflake Course
Snowflake Training Institute in Hyderabad
Snowflake Online Course Hyderabad
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteSnowflake Training
Snowflake Online Training
Snowflake Training in Hyderabad
Snowflake Training in Ameerpet
Snowflake Course
Snowflake Training Institute in Hyderabad
Snowflake Online Course Hyderabad
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteSnowflake Training
Snowflake Online Training
Snowflake Training in Hyderabad
Snowflake Training in Ameerpet
Snowflake Course
Snowflake Training Institute in Hyderabad
Snowflake Online Course Hyderabad
Such an informative post Thanks for sharing. We are providing the best services. Click on the links below to visit our website.
ReplyDeleteSnowflake Training
Snowflake Online Training
Snowflake Training in Hyderabad
Snowflake Training in Ameerpet
Snowflake Course
Snowflake Training Institute in Hyderabad
Snowflake Online Course Hyderabad
Some points were unclear—could you provide more clarification?
ReplyDeleteHardware-as-a-Service (HaaS)
very helpfull blog.
ReplyDeleteMulti cloud bootcamp in bangalore
Great overview of cloud computing! Your explanation of its scalability and cost benefits really highlights why businesses are adopting it.
ReplyDeleteShrevya Technologies is a trusted Google Workspace Reseller offering tailored solutions to boost productivity and collaboration for businesses of all sizes. From setup to support, we provide end-to-end services, ensuring a seamless transition to Google Workspace. Partner with Shrevya for expert guidance, competitive pricing, and dedicated customer support.
ReplyDelete