MCA - M4U4 - Cloud Computing (22CA5123) A.Y-2023-24
MCA - M4U4 - Cloud Computing (22CA5123) A.Y-2023-24
MCA - M4U4 - Cloud Computing (22CA5123) A.Y-2023-24
CLOUD COMPUTING
(22CA5123)
MCA
CO-IV
Lecture Notes
Mr. B.KRISHNA
Asst Prof in CSA
C CENTER
Table of Contents: Each unit has a well-defined table of contents. For example: “1.1.1. (a)”
should be read as “Module 1. Unit 1. Topic 1. (Sub-topic a)” and 1.2.3. (iii) should be read as “Module 1.
Unit 2. Topic 3. (Sub-topic iii).
Aim: It refers to the overall goal that can be achieved by going through the unit.
Learning Outcomes: These are demonstrations of the learner’s skills and experience
sequences in learning, and refer to what you will be able to accomplish after going through the
unit.
Did You Know?: You will learn some interesting facts about a topic that will help you
improve your knowledge. A unit can also contain Quiz, Case Study, Critical Learning
Exercises, etc., as metacognitive scaffold for learning.
Summary: This includes brief statements or restatements of the main points of unit and
summing up of the knowledge chunks in the unit.
Activity: It actively involves you through various assignments related to direct application
of the knowledge gained from the unit. Activities can be both online and offline.
e-References: This is a list of online resources, including academic e-Books and journal
articles that provide reliable and accurate information on any topic.
Video Links: It has links to online videos that help you understand concepts from a variety
of online resources.
Author Profile
Actively organized workshops, Technical Fests, Seminars and taken lead in many Students
training programs. Research Scholar in Computer Science & Engineering and published number
of research Publications in well-reputed indexed journals and conferences. Getting involved
with the student community made sure academic projects help the students to work for a better
future of the society, some of the projects which have been showcased in many competitions
and implemented in university.
This course gives students an overview of the field of Cloud Computing, its enabling
technologies, main building blocks, and hands-on experience through projects utilizing public cloud
infrastructures (Amazon Web Services (AWS) and Microsoft Azure). Cloud computing services are
being adopted widely across a variety of organizations and in many domains. Simply, cloud computing is
the delivery of computing as a service over a network, whereby distributed resources are rented, rather
than owned, by an end user as a utility.
The course will introduce this domain and cover the topics of cloud infrastructures, virtualization,
software defined networks and storage, cloud storage, and programming models. As an introduction, we
will discuss the motivating factors, benefits and challenges of the cloud, as well as service models,
service level agreements (SLAs), security, example cloud service providers and use cases. Modern data
centers enable many of the economic and technological benefits of the cloud paradigm; hence, we will
describe several concepts behind data center design and management and software deployment. Next, we
will focus on virtualization as a key cloud technique for offering software, computation and storage
services.
Students will work with Amazon Web Services and Microsoft Azure, use them to rent and
provision compute resources and then program and deploy applications that run on these resources.
Students will develop and evaluate scaling and load balancing solutions. In addition, students will work
with cloud storage systems and learn to develop different applications in several programming
paradigms. 15-619 students will have to complete an extra project which entails designing and
implementing a complete web-service solution for querying big data. For the extra project, the student
teams are evaluated based on the cost and performance of their web service.
Module-1
Introduction to Cloud Computing: meaning of Cloud Computing, variations of cloud computing from
other models, Essential Characteristics, Cloud computing Architectures, Technological Influences. Cloud
Computing Architecture, the three-deployment model’s IaaS, PaaS, SaaS, and Types of clouds (Public,
Private and Hybrid).
CLOUD INFRASTRUCTURE: Architectural Design of Compute and Storage Clouds – Layered Cloud
Architecture Development – Design Challenges - Inter Cloud Resource Management – Resource
Provisioning and Platform Deployment – Global Exchange of Cloud Resources.
Module-2
Service Models (XaaS): Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a
Service (SaaS);
Deployment Models: Public cloud, Private cloud, Hybrid cloud, Community cloud. Establishing and
using a private cloud: Network topology, HW-SE specification, installing open stack, configuring open
stack availing services through open stacks, establishing virtual networks.
Module-3
Infrastructure as a Service (IaaS): Introduction to IaaS, IaaS definition, Introduction to virtualization,
Different approaches to virtualization, Hypervisors, Machine Image, and Virtual Machine (VM).
Resource Virtualization: Server, Storage, Network, Virtual Machine (resource) provisioning and
manageability, Storage as a service, Examples Applications: Amazon EC2, Google Drive, one drive, drop
box. Developing applications Using IaaS.
Module-4
Platform as a Service (PaaS): Introduction to PaaS: What is PaaS, Service Oriented Architecture
(SOA), Cloud Platform and Management, Computation, Storage, Examples, Google App Engine,
Microsoft Azure, SalesForce.com’s Force.com platforms. Developing applications using PaaS.
Software as a Service (SaaS): Introduction to SaaS, Web services, Web 2.0, Web OS, and Case Study
on SaaS. Provisioning, scheduling and requesting VM that is identified with desired software packages.
Development of Application software using the system software installed on the Virtual Machine.
Developing Applications that use SaaS.
Table of Contents
MODULE 1
MODULE 2
Service Models
Unit 3 Service Models (XaaS)
Unit 4 Deployment Models
MODULE 3
Infrastructure as a Service
Unit 5 Infrastructure as a Service (IaaS)
Unit 6 Resource Virtualization
MODULE 4
Cloud Services
Unit 7 Platform as a Service (PaaS)
Unit 8 Software as a Service (SaaS)
Cloud Computing
MODULE - 4
Cloud Computing
Services
Module Description
Platform as a Service (PaaS): PaaS is a cloud computing service model that provides a platform
and environment for developers to build, deploy, and manage applications without the complexity
of managing the underlying infrastructure. It abstracts away the hardware and software layers,
allowing developers to focus on writing and running their code.
Development Environment: PaaS offers tools, libraries, and frameworks that developers
can use to build applications. It often supports various programming languages, databases,
and development tools.
Scalability: PaaS platforms can automatically scale the application based on demand,
allowing it to handle varying levels of traffic without manual intervention.
Deployment and Management: PaaS automates the deployment and management of
applications, making it easier for developers to update, monitor, and maintain their
software.
Cost-Efficiency: PaaS eliminates the need for organizations to invest in and manage their
own infrastructure, which can lead to cost savings.
Multi-Tenancy: PaaS enables multiple users or teams to work on different applications on
the same platform securely.
Software as a Service (SaaS): SaaS is a cloud computing service model that delivers software
applications over the internet on a subscription basis. With SaaS, users can access and use
applications directly from their web browsers without needing to install or maintain software on
their local devices.
Accessibility: SaaS applications are accessible from any internet-connected device,
making them highly convenient for users.
Automatic Updates: The SaaS provider handles software updates, ensuring that users
always have access to the latest features and security patches without any effort on their
part.
Multi-Tenancy: SaaS applications support multiple users, and each user typically has their
own isolated instance of the application and data.
Pay-as-You-Go: SaaS is usually priced on a subscription or usage-based model, allowing
businesses to pay only for the resources they consume.
Scalability: SaaS applications can scale to accommodate growing numbers of users
without any intervention from the customers.
Unit 8
8.1 Software as a Service (SaaS)
8.1.1 Web services, Web 2.0, Web OS, and Case Study on SaaS
8.1.2 Provisioning, scheduling and requesting VM that is identified with
Desired Software packages.
8.2 Development of Application software
8.2.1 System software installed on the Virtual Machine
8.2.2 Developing Applications that use SaaS
Self-Assessment Questions
Summary
Terminal Questions
Answer Keys
Activity
Bibliography
e-References
Image Credits
AIM
This unit enables the students to distinguish between data and information, and
recognise the difference between Financial, Management and Cost Accounting.
INSTRUCTIONAL OBJECTIVES
In this unit, the students will be able to:
LEARNING OUTCOMES
At the end of the unit, the student is expected to:
Unit 7
7.1 Platform as a Service (PaaS)
PaaS refers to cloud platforms that provide runtime environments for developing,
testing, and managing applications.
Thanks to PaaS solutions, software developers can deploy applications, from simple
to sophisticated, without needing all the related infrastructure (servers, databases,
operating systems, development tools, etc). Examples of PaaS services are Heroku and
Google App Engine.
Just like SaaS, Platform as a Service solutions are available with a pay-as-you-go
pricing model.
Operating system
Hosted applications
Servers and storage
Networking resources
Data center
Perfect for: software developers
PaaS characteristics
PaaS delivery is comparable to SaaS methods, with the main difference being that
customers are not able to access online software but an online platform.
PaaS provides that platform for software developers to create, allowing them to
concentrate on the software itself instead of any external issues.
PaaS
PaaS focuses primarily on hardware and software tools available over the internet.
Examples of popular PaaS providers include:
AWS Elastic Beanstalk.
Heroku.
Windows Azure (mainly used as PaaS).
Force.com.
Google App Engine.
OpenShift.
Apache Stratos.
Adobe Magento Commerce Cloud.
1. Programming languages
PaaS providers provide various programming languages for the developers
to develop the applications. Some popular programming languages provided by
PaaS providers are Java, PHP, Ruby, Perl, and Go.
2. Application frameworks
Cloud Computing: 22CA5123
C CENTER
Advantages of PaaS
1) Simplified Development
PaaS allows developers to focus on development and innovation without worrying
about infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers only need
a PC and an internet connection to start building applications.
3) Prebuilt business functionality
Some PaaS vendors also provide already defined business functionality so that
users can avoid building everything from very scratch and hence can directly start
the projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get
the ideas to share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any
changes to the applications.
1) Vendor lock-in
One has to write the applications according to the platform provided by the PaaS
vendor, so the migration of an application to another PaaS vendor would be a
problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not
located within the walls of the company, there can be a risk in terms of privacy
of data.
3) Integration with the rest of the systems applications
It may happen that some applications are local, and some are in the cloud. So
there will be chances of increased complexity when we want to use data which in
the cloud with the local data.
The below table shows some popular PaaS providers and services that are provided
by them -
Providers Services
Google App Engine App Identity, URL Fetch, Cloud storage client
(GAE) library, Logservice
Service-Oriented Terminologies
Let's see some important service-oriented terminologies:
o Services - The services are the logical entities defined by one or more published
interfaces.
o Service provider - It is a software entity that implements a service specification.
o Service consumer - It can be called as a requestor or client that calls a service
provider. A service consumer can be another service or an end-user application.
o Service locator - It is a service provider that acts as a registry. It is responsible
for examining service provider interfaces and service locations.
o Service broker - It is a service provider that pass service requests to one or
more additional service providers.
Characteristics of SOA
Functional aspects
The functional aspect contains:
o Transport - It transports the service requests from the service consumer to the service
provider and service responses from the service provider to the service consumer.
o Service Communication Protocol - It allows the service provider and the service
consumer to communicate with each other.
o Service Description - It describes the service and data required to invoke it.
o Service - It is an actual service.
o Business Process - It represents the group of services called in a particular sequence
associated with the particular rules to meet the business requirements.
o Service Registry - It contains the description of data which is used by service
providers to publish their services.
Advantages of SOA
SOA has the following advantages:
o Easy to integrate - In a service-oriented architecture, the integration is a service
specification that provides implementation transparency.
o Manage Complexity - Due to service specification, the complexities get
isolated, and integration becomes more manageable.
o Platform Independence - The services are platform-independent as they can
communicate with other applications through a common language.
o Loose coupling - It facilitates to implement services without impacting other
applications or services.
o Parallel Development - As SOA follows layer-based architecture, it provides
parallel development.
o Available - The SOA services are easily available to any requester.
o Reliable - As services are small in size, it is easier to test and debug them.
for less sensitive information. The combination of both the public and private cloud
are known as Hybrid cloud servers.
Type-2 :
File-Based Storage System –
In this, you are actually connecting through a Network Interface Card (NIC).
You are going over a network, and then you can access the network-attached
storage server (NAS). NAS devices are file-based storage systems.
This storage server is another computing device that has another disk in it. It is
already created a file system so that it’s already formatted its partitions, and it
will share its file systems over the network. Here, you can actually map the
drive to its network location.
In this, like the previous one, there is no need to partition and format the
volume by the user. It’s already done in file-based storage systems. So, the
operating system sees a file system that is mapped to a local drive letter.
Type-3 :
Object-Based Storage System –
In this, a user uploads objects using a web browser and uploading an object to a
container i.e, Object Storage Container. This uses the HTTP Protocols with the
rest of the APIs (example: GET, PUT, POST, SELECT, DELETE).
For example, when you connect to any website, and you need to download
some images, text, or anything that the website contains. For that, it is a code
HTTP GET request. If you want to review any product then you can use PUT
and POST requests.
Also, there is no hierarchy of objects in the container. Every file is on the same
level in an Object-Based storage system.
Advantages :
Scalability –
Capacity and storage can be expanded and performance can be enhanced.
Flexibility –
Data can be manipulated and scaled according to the rules.
Simpler Data Migrations –
As it can add and remove the new and old data when required eliminates
disruptive data migrations.
Disadvantages :
Data centers require electricity and proper internet facility to operate their
work, failing in which system will not work properly.
These services include: in-memory caching, scalable data store, job queues,
messaging, and corn tasks. Developers and Engineers can build and test
applications on their own systems by using the AppEngine SDK, which replicates
the production runtime environment, and helps test and profile applications.
Microsoft Azure –
Application in Azure are organized around the fact of roles, which identify a
distribution unit for applications and express the application’s logic. Azure provides
a set of additional services that complement application execution such as support
for storage, networking, caching, content delivery, and others.
This platform is completely hostel in the Cloud, and provides complete access to its
functionalities, and those implemented in the hosted applications through Web services
technologies.
Unit 8
8.1 Software as a Service (SaaS)
SaaS allows people to use cloud-based web applications.
In fact, email services such as Gmail and Hotmail are examples of cloud-based
SaaS services. Other examples of SaaS services are office tools (Office 365 and Google
Docs), customer relationship management software (Salesforce), event management
software (Planning Pod), and so on.
Hosted applications
Operating system
–
Servers and storage
Networking resources
Data center
Perfect for: end users
8.1.1 Web services, Web 2.0, Web OS, and Case Study on SaaS
SaaS characteristics
SaaS is delivered through the internet as a full functional service, accessible via any
web browser. With SaaS, vendors manage the data, servers and storage, ultimately
eliminating the need for IT review and streamlining business processes.
SaaS
SaaS platforms involve software that is available via third-party over the Internet.
Examples of popular SaaS providers include:
BigCommerce.
Google Workspace, Salesforce.
Dropbox.
MailChimp.
ZenDesk.
DocuSign.
Slack.
Hubspot.
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.
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 offering their services using SaaS.
Unlike traditional software, which is sold as a licensed based 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 annually 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 the 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 a number of users using the application. So SaaS does easy to monitor
and automatic updates.
5. No special software or hardware versions required
All users will have the same version of the software and typically access it through
the web browser. SaaS reduces IT support costs by outsourcing hardware and software
maintenance and support to the IaaS provider.
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 the internet connection,
so do not need to require any software installation.
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.
The below table shows some popular SaaS providers and services that are provided by
them -
Provider Services
In this SaaS case study, let’s see how DirectIQ uses videos as a growth strategy to reduce
customer support tickets. The New York-based DirectIQ offers in-depth email marketing
metrics. Using their easy-to-use email marketing interface, users can sign up for free and
start their email marketing campaigns.
Strategy:
Tagline:
Create Beautiful Email Campaigns For Free | No Credit Card Needed
The ‘Free’ and ‘No Credit card required’ act like magic in drawing the users to try
their service. That’s crossing the first hurdle in your SaaS journey!
Outreach:
DirectIQ wanted to:
Educate their customers about their product and improve product adoption.
Stand out in a crowded market and differentiate itself from other companies.
Create appealing content that gives their viewers a personalized experience about
how easy to use the product.
Use a hands-on approach from top management. Have a look at the level of their
commitment to customers, as exemplified by a quote from the CEO, Mr. Baris
Ergin on their website:
“At DirectIQ, we created the easiest to use platform for email marketing for
businesses of all sizes. We listen to our clients and add new features
continuously. Send us a message and let’s talk! – Baris Ergin, Founder/CEO”
Takeaways:
The perfect solution to address the pain points was a series of refined and powerful
videos because ‘How-to videos’ are the easiest way to deliver useful information
about your product to a wide audience.
The company’s far-sightedness in using a series of training videos resulted in
reducing customer support tickets and increasing user adoption.
For growing a user base, there is no one-size-fits-all solution. However, let us look
at SaaS case study and explore the growth tactics used by SendOwl. This company
helps businesses send and manage orders from their online store.
Strategy:
Tagline:
The wise way to sell & deliver your digital goods
In western culture, the owl is associated with wisdom. Naturally, the wise,
nocturnal bird finds a prominent place on their homepage. So, it is a clever
synthesis of the company name and the tagline that effectively sums up the nature
of their business.
Outreach:
SendOwl say that their focus is on making the customers happy, and that they
have relied largely on word-of-mouth publicity for their growth.
However, they also make it clear that they have nothing against some good
publicity!
They even invite journalists, bloggers, and tweeters to talk about the company.
The best part is, they even provide a Press Pack.
Takeaways:
A customer-centric approach to business.
Clever use of digital and content marketing strategies to promote business.
Intelligent use of the power of the words to create the brand identity.
Strategy:
Addressing customers’ pain points using simple and clear copy on their website.
Talking numbers in a convincing way – “Our easy-to-use software is loved,
trusted, and enjoyed by 21,000 providers and 12,000 practices – for over twenty
years.”
Tagline:
Power your practice with ChiroTouch | It’s time to take your practice to the next
level Simple and direct. Who wouldn’t be enticed by the prospect of achieving
GROWTH by being more productive?
Outreach:
ChiroTouch effectively conveys the message that it’s not a practitioner’s job to
worry about keeping their practice organized. Instead, they can rely on
ChiroTouch’s cloud standard in chiropractic software to do it.
Explaining to the customers that regardless of the current size of their practice, why
the product is a perfect fit.
Takeaways:
They realized that well-made customer onboarding video training was the way
forward.
The challenge, however, was that the videos had to appeal to a group of ‘not-
necessarily-very-technical’ type of people.
Content Beta suggested a hybrid model of live training and pre-recorded video courses
that the customers could refer to. Here is an example video from the series.
Strategy:
Tagline:
Revolutionizing Website Chat with Superior Content Marketing
else. We focus on helping our audience and providing value. Let’s connect and see
how we can help you! – David Cancel, Founder”
Outreach:
Drift aimed to:
Takeaways:
Focusing on specific audiences can help tailor content and make it more relevant and
engaging.
A strategic approach in content creation can drive organic traffic, improve visibility
and attract viewers
SEO practices can significantly improve search engine rankings
To solve their sales problem, they started building software to make their sales reps
more productive. This software eventually became Outreach, a sales tech SaaS
giant with over $60m in revenues and a valuation north of $1.3 billion.
Strategy:
Tagline:
Outreach – The Sales Engagement Platform
Outreach is a sales engagement platform that helps businesses streamline their sales
process, increase productivity, and drive revenue growth. It provides a suite of tools that
enable sales teams to engage with customers more effectively and close deals faster.
Outreach:
Outreach’s approach to growth includes:
Takeaways:
In the early days, hit the streets to gain initial learnings and cash.
Choose your growth engine and focus on it relentlessly.
Consider acquiring an audience instead of growing one from scratch.
Leverage customer relationships to reduce churn and increase customer
retention.
Host events or conferences to build relationships and solidify partnerships.
Keep the headline simple, clear and precise. It should include the customer’s name,
the SaaS platform used, and the key result.
The subhead should be short and to the point. It should highlight the key points.
The executive summary is a short overview of the SaaS case study. It should briefly
explain what the customer did and the key results they achieved.
Consider it as an elevator pitch for your SaaS case study. The goal is to pique the
reader’s interest to learn more.
3. The Challenge(s)
This section outlines the issues your customer faced before using your product.
Present them one by one, starting with a general topic and then providing more
detailed explanations.
The challenges should be relatable to your target audience. Be specific and provide
concrete examples and data.
4. The Solution
This section of a SaaS case study focuses on how the challenges were addressed –
5. The Results
The “Results” section of a SaaS case study showcases the outcomes. Include
statistics, value statements, or testimonials to add credibility to your case study.
6. Conclusion
The conclusion of a SaaS case study wraps up the information presented. It should
summarize the key points of the case study
7. Call to Action
End the SaaS case study with a call to action.
Expanding the reach of your SaaS case studies can be achieved through various strategies:
1. Social Media
Share your SaaS case study on platforms like LinkedIn, Twitter, Facebook, and
Instagram. Adapt your message to each platform’s audience for maximum
engagement.
2. Email Marketing
Feature your saas case study examples in your newsletters or dedicated email blasts
to your subscribers.
3. Blog Posts
Craft a blog post about the case study on saas and share it on your website. This can
boost SEO and drive organic traffic to your saas case study.
4. Webinars or Podcasts
Discuss your saas case studies in webinars or podcasts. This can provide a more
detailed look at the case study and reach a different audience.
Cloud Computing: 22CA5123
C CENTER
6. Paid Advertising
Utilize platforms like Google Ads or social media advertising to promote your saas
case studies to a targeted audience.
7. Customer Testimonials
Use quotes from your saas case studies as testimonials on your website or in
marketing materials.
8. Sales Team
Arm your sales team with saas case studies to use in their sales pitches.
What are common mistakes to avoid when creating a SaaS case study?
When creating SaaS case studies, there are several common pitfalls to avoid:
1. Vague Results
SaaS case studies should present specific, measurable outcomes. Avoid general
statements like “increased productivity” or “improved efficiency” without
supporting data.
3. Disorganized Structure
A well-structured saas case study is easier to read and understand. Include an
introduction, challenge, solution, results, and conclusion.
By steering clear of these common errors, you can create a compelling and effective
saas case study.
Conclusion
SaaS case studies demonstrate the potential of SaaS solutions in the B2B landscape.
They provide real life examples of how businesses have used these solutions to
drive growth, enhance efficiency, and gain a competitive edge. They offer valuable
insights and lessons that can guide other businesses in their own SaaS journey.
So, always remember, the power of SaaS lies not just in the software itself, but in
how you use it to solve problems, meet needs, and achieve your business goals.
Summary
Terminal Questions
1. Explain the programming the Google App Engine?
2. Identify the web services delivered from the Cloud? Briefly explain them.
3. Briefly discuss about Software-as-a-Service.
4. What is Platform-as-a- Service? Write a short note on it.
BIBLIOGRAPHY
External References