Cloud Computing Full Notes
Cloud Computing Full Notes
Prepared by:
Shrinidhi Krishna Naik
College:
Shree Guru Sudhindra College, BCA Department
Index
1. Chapter 1: Introduction to Cloud Computing
Page No: 1-15
2. Chapter 2: Cloud Architecture
Page No: 16-34
3. Chapter 3: Virtualization Concepts
Page No: 35-46
4. Chapter 4: Cloud Platforms in Industry
Page No: 47-60
5. Chapter 5: Cloud Applications
Page No: 61-70
6. Chapter 6: Cloud Application Programming and the Aneka Platform
Page No: 71-91
Chapter - 1
Different Computing Paradigms - Parallel Computing, Distributed Computing, Cluster Computing, Grid
Computing, Cloud Computing etc., Comparison of various Computing Technologies; Cloud Computing Basics-
What is Cloud Computing? History, Characteristic Features, Advantages and Disadvantages, and
Applications of Cloud Computing; Trends in Cloud Computing; Leading Cloud Platform Service Providers.
---------------------------------------------------------------------------------------------------------------------------------------------------
Parallel computing speeds up tasks by dividing them into smaller parts that run
simultaneously.
All processors share the same memory to communicate quickly and efficiently.
It’s ideal for large tasks that can be broken down into smaller, independent jobs, like
calculations or simulations.
Example: Running a weather forecast where different processors predict the weather in
different parts of the country at the same time.
Distributed Computing:
Definition: Distributed computing uses multiple independent computers that work together
over a network to solve a big problem, with each computer doing a part.
This system is flexible and scalable, so you can add more computers to handle larger
problems.
It’s suitable for tasks that require lots of resources or involve many steps that can be
done independently.
Example: Online games where players’ actions are processed by different computers around
the world to keep the game running smoothly.
Cluster Computing:
1
Definition: Cluster computing connects a group of computers (nodes) to work together as
one system, usually in the same location, using a fast local network.
Several computers are linked together in one place, sharing resources like memory
and storage.
If one computer fails, others can continue working, making the system more reliable.
Example: A university lab using many computers to analyze large sets of data, like DNA
sequences or weather patterns.
Grid Computing:
Definition: Grid computing connects many computers, often in different locations, to work
on a large task together.
Computers are spread out in different locations but connected over the internet to
share processing power.
The work is divided into smaller parts, and each computer processes one part at the
same time.
Grid computing is perfect for large, complex tasks that need a lot of resources.
Example: A global research project where computers from different countries work
together to analyze data from space.
Cloud Computing:
Definition: Cloud computing provides computing resources (like storage and software) over
the internet, so you don’t need your own physical hardware.
You can access data and applications from anywhere with an internet connection.
You pay only for what you use, and there’s no need to maintain physical hardware.
Example: Using Google Drive to store documents and access them from any device,
anywhere, without needing a physical storage device.
2
Feature Parallel Distributed Cluster Grid Cloud
Computing Computing Computing Computing
Computing
Architecture Many Separate Many Computers
Virtual
processors in computers computers in spread resources
one system linked over a one place across accessed
network different
over the
locations
internet
Scalability Limited by Very Can scale Can scale
Almost
the number scalable, well, but very easily,
unlimited
of processors more limited by adding more
scalability,
available computers the local resources
grow as
can be added network needed
Fault Low – if one Moderate – Good – if one High – other Excellent –
Tolerance processor failure of one computer computers cloud
fails, the task machine fails, others can take over services back
might stop doesn’t stop can continue if one fails up and
everything recover
automatically
Cost Expensive, Varies, Medium to Low to Flexible, pay
requires depends on high, as it medium, can only for what
special the setup needs many use existing you use
hardware and computers resources
resources and
used management
Use Cases Tasks that Web Research and Large Storing data,
can be split services, tasks research running
into smaller gaming, needing high projects, like apps,
parts (like peer-to-peer performance scientific processing
simulations) networks analysis big data
Performance Great for Can be High Slower due Good
tasks that slower due performance, to network performance,
can be done to network limited by delays but can be
in parallel delays local network affected by
internet
speed
3
Example: Think of Google Drive. Instead of saving your photos or documents on your
computer, you upload them to Google Drive (the cloud). You can then open them on your
phone, tablet, or any other computer, as long as you have an internet connection.
Cloud Computing:
Definition: Cloud computing is the use of remote servers on the internet to store, manage,
and access data or run programs, instead of relying on your own computer or local servers.
It’s a way to get all the computing resources you need (like storage, software, and
processing power) over the internet.
Example: Using Google Docs is a simple example of cloud computing. Instead of installing
software on your computer, you open Google Docs in your web browser. Your documents
are stored in the cloud (on Google’s servers), so you can access them from any device, and
work on them together with others in real-time.
OR
Cloud:
Definition: The "cloud" is just a way to store and access data (like files, photos, and videos)
over the internet instead of on your computer. It’s like an online storage space you can
reach from anywhere.
Example: Google Drive is an example of the cloud. Instead of saving your files on your
computer, you upload them to Google Drive. You can then open those files from any phone,
tablet, or computer, as long as you have the internet.
Cloud Computing:
Definition: Cloud computing means using the internet to store data, run applications, or use
software, without needing to use your own computer’s storage or hardware. Everything
happens online, and you can access it anywhere.
Example: Google Docs is an example of cloud computing. You don’t need to install anything
on your computer. You just open Google Docs in your browser, and your documents are
stored online (in the cloud). You can edit them from any device, anywhere, and even work
with others in real-time.
History
1. Early Days: Client/Server Computing:
4
Before cloud computing, computers used something called client-server computing. In this
setup, a server would store all the data, and users (clients) would connect to it to get access.
But this system had limitations, like difficulty in handling a lot of users or scaling up easily.
2. Distributed Computing:
Next came distributed computing, where many computers were connected over a network
and could share resources. This made it easier to divide tasks and improve efficiency, but it
still had problems, like complex management and limited scalability.
5
By the early 2010s, cloud computing became widely used. Businesses saw the benefits of
storing data in the cloud and using online tools to collaborate and scale up easily, all while
saving money on physical infrastructure.
However, with all these advancements, security and privacy are still important concerns.
Cloud companies are working hard to keep data safe and ensure that cloud computing
remains secure.
Explanation: You can use cloud services whenever you need them without waiting for
help from the provider. If you need more space or other resources, you can adjust
them yourself. This empowers users to manage their resources efficiently and
independently.
Example: With Google Drive, if you run out of storage space for your files, you can
quickly buy more storage through the app without needing to contact Google. This
means you can focus on your work without interruptions.
Explanation: Cloud services can be accessed from any device that has internet, such
as computers, tablets, and smartphones. This flexibility allows users to work from
anywhere, enhancing productivity.
Example: You can access your files on Google Drive from your laptop at home, then
open and edit those same files from your phone while you’re on the go. This ensures
that you can stay connected and productive regardless of your location.
3. Resource Pooling:
Explanation: Cloud providers use shared resources to serve many users at once. This
means they can efficiently distribute what’s needed based on demand, maximizing
resource utilization.
6
Example: Google Drive stores files for many users on the same servers, but each user
gets their own space and resources as needed. This collective resource management
reduces costs for both providers and users.
4. Rapid Elasticity:
Explanation: Cloud services can quickly increase or decrease the resources you use
based on your needs. This flexibility is crucial for adapting to varying workloads and
demands.
Example: If you’re working on a big project and need more storage on Google Drive,
you can easily upgrade your plan to get more space instantly. This scalability allows
for seamless transitions during peak activity periods.
5. Measured Service:
Explanation: Cloud systems automatically track and manage how much you use. You
only pay for what you actually use, providing transparency in billing and usage.
Example: On Google Drive, you pay for additional storage based on how much space
you actually need. If you’re using a lot of space, you’ll pay more, but if you use less,
you pay less. This model encourages efficient resource management and cost savings.
Example: Google Drive offers a free basic storage plan, and you can easily pay for
more space when needed. This is cheaper than buying physical storage devices or
setting up dedicated infrastructure, making it both affordable and flexible.
2. Scalability:
Explanation: Cloud computing allows you to quickly increase or decrease your
resources to meet changing demands. This ensures you can handle higher demand
during busy times without paying for unused resources during quieter periods.
7
Example: If your website gets a sudden increase in traffic, cloud services let you add
more processing power or storage. Once the traffic drops, you can reduce resources,
helping you manage costs and maintain performance without extra capacity.
3. Accessibility:
Explanation: Cloud services can be accessed from any device with an internet
connection, allowing you to work from anywhere. Whether you're at home, the
office, or on the move, cloud computing ensures you can access your data and stay
productive.
Example: Google Drive lets you access and edit your files on a laptop at home and
continue working on those files from your phone while traveling. This flexibility
promotes collaboration and keeps you productive no matter where you are.
4. Automatic Updates:
Explanation: Cloud providers take care of updates and maintenance, ensuring you
always have the latest features, security updates, and improvements without
needing to do anything yourself. This eliminates the need for manual updates and
keeps your systems current.
Example: Google Docs updates automatically, so you don’t need to worry about
installing updates or handling upgrades. This convenience allows you to enjoy the
best possible experience with minimal disruptions.
5. Disaster Recovery:
Explanation: Cloud computing includes built-in disaster recovery options that
protect your data from unexpected loss or damage. Cloud providers often store
multiple copies of your data in different locations, making it easy to recover files if
something goes wrong.
Example: If you accidentally delete a file on Google Drive, you can use recovery
options to restore it from a backup. This built-in recovery system ensures data safety
and reduces the risk of losing important information.
8
Explanation: Storing data in the cloud means a third-party provider manages it,
which can raise security and privacy risks. If unauthorized individuals gain access to
your account, they could steal or view your sensitive data.
Example: If someone gains access to your Google Drive account, they could
potentially steal or view your personal files. This risk highlights the importance of
securing cloud accounts with strong passwords and two-factor authentication.
2. Internet Dependence:
Explanation: Cloud services require a stable and fast internet connection. Without it,
you can’t access or manage your data effectively. This dependence can be a problem
if your internet connection is slow or unreliable.
Example: If your internet is down or slow, you won’t be able to access or upload files
to Google Drive, which could disrupt your work or productivity.
3. Limited Control:
Explanation: When using cloud services, you rely on the provider for maintenance,
security, and updates. This means you have less control over the system and can’t fix
issues directly.
Example: If Google Drive goes offline, you can't resolve the issue yourself. You have
to wait for their support team to fix the problem, which may cause delays in
accessing or saving your files.
4. Potential Costs:
Explanation: While cloud services may start off inexpensive, costs can increase as
you use more resources or require additional features. It's important to monitor
your usage to avoid unexpected charges.
Example: If you upgrade your Google Drive storage plan, your monthly fees will
increase over time. If you need additional services or more storage, your overall
costs can rise significantly.
Example: Uploading a large video file to Google Drive can take a long time if your
internet connection is not fast enough, which can be frustrating when you're
working against tight deadlines.
9
Cloud Computing Applications
1. Art:
Explanation: Artists can access powerful online tools that let them create, edit, and
share their artwork without needing expensive software installed on their devices.
This also makes collaboration easier, as multiple people can work on the same
project simultaneously.
Example: With Adobe Creative Cloud, artists can design graphics or edit videos, save
their work in the cloud, and invite others to collaborate on the project from
anywhere, ensuring seamless teamwork and access.
2. Business:
Explanation: Businesses use cloud solutions to streamline operations, manage tasks,
and securely store data, reducing costs associated with physical servers and
infrastructure. Cloud computing also makes it easier to access information remotely.
3. Entertainment:
Explanation: Streaming services use cloud technology to store and deliver content,
allowing users to access their favorite movies, TV shows, or music at any time, on
any device, without the need for downloading files.
Example: Netflix uses the cloud to instantly stream a vast library of films and series,
allowing you to watch content on your TV, computer, or mobile device without
delays.
4. Education:
Explanation: Cloud-based educational platforms enable students and teachers to
access learning materials, submit assignments, and communicate easily from any
location with an internet connection. This supports both in-person and remote
learning.
Example: Google Classroom lets teachers create assignments, share resources, and
give feedback, making it easier for students to stay organized and collaborate with
their peers.
10
Explanation: Cloud storage provides a safe and convenient way to store files online,
ensuring they are protected even if your device fails. Many services also offer
automatic backups to keep your data secure.
Example: Google Drive allows users to upload and store files in the cloud, so they
can be accessed from any device. If your laptop crashes, your files are still safe and
available through Google Drive.
6. Management:
Explanation: Cloud-based tools help students and teachers organize their
schoolwork and projects more effectively. They can easily track assignments,
deadlines, and collaborative tasks.
Example: Trello is a simple tool that helps students create boards for different
projects, list tasks, and check them off as they complete them, helping to manage
their workload efficiently.
7. Social:
Explanation: Social media platforms use the cloud to store and manage large
amounts of user-generated content, enabling users to share, connect, and interact.
The data is stored securely and can be accessed quickly.
Example: Facebook stores user profiles, posts, and photos in the cloud, allowing
users to share updates, stay connected, and interact with friends and family at any
time.
Example: A business uses AWS for storing data, Microsoft Azure for running virtual
machines, and Google Cloud for AI services. This reduces dependency on a single
provider and helps avoid risks like service outages.
Edge Computing:
Definition: Edge computing involves processing data closer to where it's generated,
instead of sending it all to a central data center or cloud server.
11
Example: In self-driving cars, sensors process data in real-time on the vehicle itself
(edge computing) rather than sending all data to a remote cloud server, which helps
reduce delays in decision-making.
Serverless Computing:
Definition: Serverless computing allows developers to run applications without
managing the underlying servers. They pay only for the computing resources they
actually use.
Hybrid Cloud:
Definition: Hybrid cloud combines both private clouds (on-premises data centers)
and public clouds, allowing data and applications to move between them.
Example: A company stores sensitive customer data on their private cloud for
security reasons but uses Amazon Web Services (AWS) to run non-sensitive
applications and services.
Cloud Security:
Definition: Cloud security refers to the practices, policies, and technologies used to
protect data, applications, and services in the cloud.
12
Example: Autonomous vehicles use 5G to transmit real-time data to the cloud for
processing, allowing for quicker decision-making on the road.
Example: Nest Thermostat uses cloud computing to analyze temperature data and
adjust home heating remotely, learning user preferences over time.
Key Services:
Microsoft Azure:
Overview: Azure provides a vast range of services with strong integration for
businesses already using Microsoft products like Windows, Office, and SQL Server.
13
Key Services:
Key Services:
IBM Cloud:
Overview: IBM Cloud focuses on hybrid cloud solutions, AI, and blockchain services,
making it a strong choice for enterprises needing high performance.
Key Services:
o IBM Watson AI: AI tools for natural language processing and analytics.
Oracle Cloud:
Overview: Oracle is known for its strong database and enterprise application
services, particularly for industries like finance and healthcare.
Key Services:
14
Alibaba Cloud:
Overview: Alibaba Cloud is the leading cloud provider in China and a major player in
the Asia-Pacific region, offering scalable cloud services for businesses.
Key Services:
Salesforce:
Overview: Known for its customer relationship management (CRM) platform,
Salesforce provides cloud solutions to improve sales, marketing, and customer
service.
Key Services:
15
Chapter - 2
Cloud Service Models - Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a
Service (SaaS), Comparison of different Service Models; Cloud Deployment Models- Public Cloud; Private
Cloud, Hybrid Cloud, Community Cloud; Cloud Computing Architecture- Layered Architecture of Cloud.
---------------------------------------------------------------------------------------------------------------------------------------------------
16
IaaS is a flexible, scalable, and cost-effective solution for businesses that want to avoid the
complexity of managing physical infrastructure.
Key Features:
Scalable: Easily add or remove computing resources based on demand.
Example:
Amazon Web Services (AWS) and Microsoft Azure are leading providers of IaaS.
These platforms allow businesses to rent virtual servers and storage. For instance, a
company can use AWS to host a website, paying only for the server capacity and
storage space it uses. If traffic spikes during a sale or promotion, they can quickly
scale up their resources to handle the load and scale back down when demand
drops.
What it provides:
IaaS offers virtual servers, storage, and networking services over the internet. It's like
renting hardware (servers, storage, and networking infrastructure) rather than purchasing
and maintaining physical equipment.
Used by:
Network architects, IT teams, and businesses that need to manage and set up their own
infrastructure without having to invest in physical hardware.
Example:
Amazon Web Services (AWS), Google Compute Engine (GCE)
Companies use IaaS to host websites, store data, and run virtual machines without
needing to purchase and maintain physical servers.
17
PaaS (Platform as a Service)
PaaS (Platform as a Service) provides a cloud-based platform that enables developers to
build, test, and deploy applications without managing the underlying infrastructure, such as
servers, storage, and networking. PaaS offers a set of tools, services, and frameworks that
streamline the development process, making it faster and easier to create applications.
With PaaS, developers can focus solely on the application logic while the platform takes
care of infrastructure management, scaling, and integration.
Key Features:
Integration: Easily integrates with web services, databases, and other cloud services.
Example:
Google App Engine is a popular PaaS offering. Developers use it to build and deploy
web applications without worrying about managing servers, scaling, or
infrastructure. Google handles the infrastructure, allowing developers to focus on
writing the application logic and user experience. For instance, a developer can
deploy a web app that scales automatically based on user traffic, without having to
manually adjust server capacity.
What it provides:
PaaS provides a platform with tools for building, testing, and deploying applications. It
includes both hardware (virtualized infrastructure) and software (such as development
tools, databases, and frameworks) to simplify the app development process. PaaS removes
the need to worry about managing servers or underlying infrastructure.
Used by:
Developers who need a platform to create, test, and run applications without having to
manage the underlying infrastructure (like servers, networking, and storage).
18
programming frameworks, database services, and APIs) to build applications quickly and
efficiently.
Example:
Google App Engine, Heroku, AWS Elastic Beanstalk
Developers use PaaS to quickly deploy and scale apps without managing the
underlying hardware or networking.
Key Features:
Centralized management: The cloud provider handles all software updates, bug
fixes, and maintenance, ensuring that users always have access to the latest version.
Automatic updates: The software automatically updates itself, so users don’t have
to manually install updates or worry about version compatibility.
Example:
Google Workspace (formerly G Suite) is a widely used SaaS offering that includes
tools for creating and editing documents, spreadsheets, and presentations online.
Users can access these tools through a web browser, and collaborate on documents
in real-time without needing to install any software locally. Google handles all the
maintenance and updates, ensuring that users always have the latest version of the
software.
19
What it provides:
SaaS delivers fully functional software applications that you can access over the internet
through a web browser. There’s no need to install anything on your device—just log in and
use the software.
Used by:
End users who need access to software for business or personal tasks. This includes
software like email, file storage, customer relationship management (CRM) tools, office
suites, and more.
Example:
Google Workspace (Gmail, Docs, Drive), Salesforce, Dropbox
Users access applications like email, file storage, and document collaboration
without needing to install or manage any software.
• Types:
– Public Cloud: Available to everyone, like Google Drive. It’s cheap but less
secure.
– Private Cloud: Used by only one organization for better security, like a bank’s
system.
– Hybrid Cloud: Combines public and private clouds for flexibility. A company
using both public cloud for sales data and private cloud for customer info.
20
Public Cloud
A public cloud is a service that allows users to access computing resources, such as storage,
processing power, and applications, over the internet. These resources are provided by
third-party companies like Google, Amazon, or Microsoft and are shared by many users,
meaning multiple customers use the same infrastructure.
Instead of purchasing and maintaining your own servers and software, you can rent these
services from a cloud provider. The provider takes care of all the hardware, security, and
maintenance, which makes it easier for users to focus on their work without worrying about
the technical details.
Key Features:
Shared infrastructure: Resources are shared among multiple customers.
Access from anywhere: As long as you have an internet connection, you can access
your data and applications.
Managed by third parties: Cloud providers like Google, Amazon, and Microsoft
manage the infrastructure, security, and maintenance.
Example:
Google Drive: When you upload a file to Google Drive, it is stored on Google’s
servers, not on your personal device. You can access your files from any internet-
connected device. Multiple users can access their files at the same time, without
worrying about the technical management behind it—Google handles everything.
21
Advantages of Public Cloud:
1. Cost-Effective:
o No need to buy expensive hardware or maintain servers. Users pay only for
what they use.
o Example: A small business can run its website on the public cloud without
investing in a server.
2. Scalability:
o Example: An online store can quickly increase storage and bandwidth during
holiday sales when traffic is higher.
3. Accessibility:
o Example: A student can work on a project from home or school using cloud
storage.
4. Automatic Updates:
o Cloud providers manage software updates, ensuring you always have the
latest features and security patches.
o Example: A user doesn’t need to manually update their apps; the cloud
service automatically updates them.
2. Limited Control:
o Users have less control over their data, applications, and how the cloud
provider manages resources.
22
o Example: If the cloud provider changes its terms or service, users may be
forced to adapt without having a choice.
3. Downtime Issues:
4. Ongoing Costs:
o While there are no significant upfront costs, the subscription fees can add up
over time.
Private Cloud
A private cloud is a type of cloud computing infrastructure that is used exclusively by a
single organization or user. Unlike the public cloud, where resources are shared among
many customers, a private cloud provides dedicated resources such as servers, storage, and
applications to just one company.
This setup allows the organization to have full control over the cloud environment, offering
greater security, customization, and performance. Private clouds are often used by
businesses that have strict data privacy or security requirements, such as financial
institutions or government agencies.
Key Features:
Dedicated resources: All infrastructure is used exclusively by one organization.
Control and customization: The organization can configure the cloud to meet its
specific needs, including security settings and performance requirements.
Enhanced security: Because the cloud is private, it offers a higher level of control
over data, making it more secure from outside threats.
Example:
Banking Example: A bank that handles sensitive customer data might set up a
private cloud to store and manage this information securely. Only authorized
23
employees can access the cloud, ensuring that sensitive data is protected. The bank
can also customize the cloud environment by adding special security features, such
as advanced encryption, to meet its unique needs—something that would be
difficult to do in a public cloud.
2. Customization:
o Organizations can tailor the cloud environment to meet their specific needs,
such as compliance and performance requirements.
3. Control:
24
o Example: A tech company can manage their own servers and applications
without relying on external cloud providers.
4. Performance:
o Example: An online gaming company can benefit from reduced lag and better
server performance by controlling their own infrastructure.
o Setting up and maintaining a private cloud can be expensive due to the need
for hardware, software, and IT staff.
o Example: A small business may find the setup and maintenance costs for a
private cloud prohibitive.
2. Resource Limitations:
o Unlike public clouds, private clouds have fixed resources, and scalability can
be limited or more expensive.
3. Complex Management:
o Building a private cloud can take longer compared to using a public cloud.
Hybrid Cloud
25
A hybrid cloud combines both public and private clouds, allowing organizations to take
advantage of the benefits of each. With a hybrid cloud, companies can store sensitive data
and run critical applications on a private cloud for enhanced security and control, while
using a public cloud for less sensitive tasks, such as handling backups, running applications
with fluctuating workloads, or scaling resources during peak demand.
This approach provides flexibility, enabling businesses to optimize their resources, balance
cost-effectiveness, and maintain security. Hybrid clouds allow organizations to scale their
infrastructure based on specific needs while keeping sensitive information secure.
Key Features:
Combination of public and private clouds: Uses both types of cloud environments
based on the sensitivity and needs of the data or tasks.
Flexibility and scalability: Organizations can adjust resources between the public
and private cloud based on demand, optimizing cost and performance.
Data security and control: Sensitive data and critical applications can remain in the
private cloud, while other tasks are handled by the public cloud.
Example:
Flipkart Example: Flipkart, an online shopping platform, might use a private cloud to
securely store sensitive customer payment details and personal data. At the same
time, it could utilize a public cloud for tasks like managing product listings, handling
website traffic, and running promotional campaigns. During peak shopping seasons,
such as festive sales, Flipkart can scale up its public cloud resources to handle
increased traffic, while keeping customer data safe and private in its dedicated
private cloud.
26
Advantages of Hybrid Cloud:
1. Flexibility:
o Organizations can choose where to store their data and applications based on
their specific needs.
2. Cost Efficiency:
o By using public clouds for high-volume, low-security tasks and private clouds
for more important data, organizations can save money.
3. Scalability:
o Example: An e-commerce site can handle more traffic during sales events
without needing to invest in additional private cloud resources.
4. Improved Security:
o Sensitive data can be stored in the private cloud, while less sensitive data can
go into the public cloud, creating a balanced approach to security.
o Example: IT teams must ensure that both cloud environments work together
smoothly, which can require additional time and effort.
2. Security Risks:
27
o Data moving between public and private clouds can be vulnerable if not
properly secured.
3. Integration Challenges:
o Ensuring that public and private clouds work well together can be difficult,
especially when dealing with legacy systems or incompatible technologies.
o Example: Some applications may not function seamlessly across both cloud
environments, leading to disruptions or performance issues.
4. Cost Management:
Community Cloud
A community cloud is a type of cloud computing that is shared by several organizations with
similar interests, needs, or requirements. These organizations collaborate to share cloud
resources, such as storage, computing power, and applications, while benefiting from the
cost savings and efficiency of cloud technology. The community cloud can be managed
either by the organizations themselves or by a third-party provider, depending on their
preferences.
The key advantage of a community cloud is that it is tailored to meet the specific needs of
the participating organizations, such as compliance, security, or regulations, which are
common among them. It provides a balance between the benefits of a public cloud and the
control of a private cloud, making it ideal for organizations with shared goals or industry
requirements.
Key Features:
Shared by multiple organizations: Several organizations with similar needs or goals
share the infrastructure.
28
Collaboration: Organizations can collaborate and share resources, reducing costs
while maintaining control over their data and applications.
Example:
Hospital Example: Imagine several hospitals in a region that share a community
cloud to securely store patient information. Since all the hospitals handle sensitive
data and need to comply with strict regulations (e.g., healthcare privacy laws), they
can work together to create a secure cloud environment that meets their shared
needs. This setup allows them to collaborate on research, share resources, and
ensure that patient data remains private and secure, all while benefiting from the
cost-efficiency of cloud technology.
2. Enhanced Collaboration:
29
o Example: Research institutions can share data, tools, and applications in a
community cloud for joint projects, making it easier to collaborate.
4. Customizability:
o Unlike private clouds, community clouds offer less control over the
infrastructure.
3. Security Risks:
o While community clouds offer tailored security, they can still be vulnerable to
breaches that impact all users in the community.
30
o The performance and reliability of the community cloud depend on the
capabilities of all participating organizations.
1. Front End: This is the part of cloud computing that users interact with directly. It
includes the interfaces and applications that allow access to cloud services, like web
browsers and mobile apps. For example, when you use Google Drive to store or
share files, you're interacting with the front end.
2. Back End: The back end is the infrastructure and services managed by the cloud
provider. It includes the resources that power the cloud, such as storage, virtual
machines, and security. For instance, Amazon Web Services (AWS) provides the
backend support for many cloud-based applications.
3. Client Infrastructure: This refers to the devices and software that users use to
connect to the cloud. It includes laptops, smartphones, tablets, and web browsers.
For example, when you access a cloud service like Salesforce via a browser, you're
using client infrastructure.
4. Application: These are the software programs users access over the internet. Cloud-
based applications can range from email services to productivity tools. For example,
31
Microsoft 365 for document editing and Google Docs for collaboration are cloud
applications.
5. Service: Cloud services are categorized into three main types:
SaaS (Software as a Service): Fully functional software accessed via the
internet, like Zoom for video calls or Google Workspace for email and
documents.
PaaS (Platform as a Service): Platforms that help developers build and
manage applications without dealing with the underlying hardware, like
Heroku or AWS Elastic Beanstalk.
IaaS (Infrastructure as a Service): Virtualized computing resources like
servers and storage provided over the internet, such as Google Compute
Engine.
6. Runtime Cloud: This is the environment where applications run. It provides the
resources and environment for virtual machines or containers to execute smoothly.
For example, Docker provides a platform for running applications in containers.
7. Storage: Cloud storage allows users to store data without needing physical storage
devices. It is scalable and flexible, meaning you can store as much data as needed.
Dropbox is an example of cloud storage that lets you upload and access files from
anywhere.
8. Infrastructure: Cloud infrastructure is made up of the physical and virtual resources
that support cloud services, including servers, storage systems, and networking
devices. Microsoft Azure is an example of a cloud infrastructure platform that helps
businesses host applications and manage data.
9. Management: Cloud management tools help oversee and coordinate all cloud
services. These tools ensure that applications, storage, security, and other
components work smoothly. CloudHealth, for example, helps organizations monitor
and manage their cloud resources effectively.
10. Security: Cloud security measures are essential to protect data and applications. This
includes authentication, encryption, and continuous monitoring to prevent
unauthorized access. Okta is an example of a security service that provides identity
management for cloud-based applications.
11. Internet: The internet acts as the medium that connects the front end (user side)
with the back end (provider side), enabling users to access and interact with cloud
services. For example, streaming movies on Netflix requires the internet to deliver
content from cloud servers to your device.
32
Layered Architecture of Cloud
1. Application Layer:
The Application Layer is where users interact directly with cloud applications. These
applications benefit from cloud features like automatic scaling, which allows them to
perform better, be more available, and reduce operational costs.
What it does: This layer is responsible for ensuring that applications can
communicate with each other, transfer data, and use cloud resources effectively. It
handles protocols like Telnet, FTP, and HTTP (including its secure version, HTTPS).
Example: Web browsers, email apps, or cloud-based tools like Google Docs work at
the application layer, allowing users to interact with cloud services.
2. Platform Layer:
The Platform Layer provides the environment where developers can build, test, and run
applications. It includes both the operating systems and application frameworks needed
for cloud-based app development.
What it does: This layer ensures scalability, reliability, and security, offering
developers a platform to deploy and manage applications without worrying about
underlying hardware.
Example: Google App Engine, which helps developers build web apps by providing
tools like storage, databases, and APIs, operates at the platform layer.
3. Infrastructure Layer:
33
The Infrastructure Layer is the foundation of cloud computing, where virtualization takes
place. This layer splits physical resources (like servers) into virtual resources (like virtual
machines), which are allocated to users.
What it does: It acts as the backbone of the cloud environment, allowing for flexible
and dynamic resource management. Virtualization makes it easier to provision
resources automatically and manage them more efficiently.
4. Datacenter Layer:
The Datacenter Layer is where all the physical hardware is managed. This includes servers,
routers, switches, power supplies, and cooling systems that make up the infrastructure of
the cloud.
What it does: This layer is responsible for ensuring that all physical resources in data
centers are available and working properly to provide cloud services to users. It
connects all the hardware and supports the other layers by providing physical
resources.
Example: Data centers, where companies like Amazon, Microsoft, or Google store
their servers and network equipment, operate at this layer.
34
Chapter - 3
Virtualization- Definition, Features of Virtualization; Types of Virtualizations - Hardware Virtualization,
Server Virtualization, Application Virtualization, Storage Virtualization, Operating System Virtualization;
Virtualization and Cloud Computing, Pros and Cons of Virtualization, Technology Examples
Xen:Paravirtualization, VMware:FullVirtualization, MicrosoftHyper-V.
---------------------------------------------------------------------------------------------------------------------------------------------------
Virtualization
Definition: Virtualization is a technology that allows you to create virtual versions of
physical resources, such as servers, operating systems, storage, or network devices. It
enables a single physical machine to run multiple virtual machines (VMs), each acting as an
independent computer with its own operating system and applications. This helps improve
resource efficiency, simplify management, and reduce costs.
Example: Imagine you have a single powerful computer running Windows. Without
virtualization, you can only use Windows on that computer. But with virtualization software
like Oracle VirtualBox, you can create multiple virtual machines on that computer. You
might run one VM with Windows for everyday tasks, another with Linux for programming,
and even one with macOS for testing software. Each VM behaves like a separate computer,
but they all share the same physical hardware, allowing you to maximize the use of your
resources.
Features of Virtualization
1. Resource Isolation:
o Explanation: Each virtual machine (VM) operates independently, meaning
that issues or crashes in one VM do not impact others. This ensures that
different tasks can run smoothly without interfering with each other.
o Example: If you have one VM running Linux for development and another
running Windows for general tasks, a crash in the Linux VM won’t affect your
Windows tasks. This separation enhances stability across various operations.
35
o Example: Instead of using separate computers for Windows and Linux, you
can run both on one machine. This maximizes your system's capabilities by
utilizing its resources more efficiently.
3. Scalability:
o Explanation: Virtualization allows for easy scaling by quickly adding more
VMs to meet growing demands. As your workload increases, you can create
additional VMs without the need for more physical hardware.
o Example: If you need more computing power for your development work in
Linux or require a new Windows VM for testing, you can create a new virtual
machine instantly, adapting to your changing needs.
4. Easy Management:
o Explanation: Virtualization software provides user-friendly interfaces to
easily manage and monitor your virtual machines. Switching between VMs,
adjusting resources, and troubleshooting becomes straightforward.
o Example: Using tools like Oracle VirtualBox, you can quickly switch between
your Windows and Linux VMs, monitor their performance, and make
adjustments, all through a simple interface.
o Example: On a powerful Windows computer, you can run both Windows and
Linux VMs at the same time, allowing you to access software that is specific
to each operating system.
o Example: By running both Windows and Linux VMs, developers can ensure
their software works on both operating systems, performing cross-platform
testing easily and without the need for separate computers.
7. Cost Efficiency:
36
o Explanation: Virtualization reduces hardware costs by allowing multiple
virtual machines to run on a single physical machine. This reduces the need
for additional physical hardware and minimizes energy consumption.
Types of Virtualization
1. Hardware Virtualization:
Definition: Hardware virtualization allows multiple operating systems (OS) to run on a single
physical computer. This is achieved using a hypervisor that creates virtual machines (VMs).
Each virtual machine operates independently with its own OS, sharing the resources of the
physical computer.
Key Points:
Multiple operating systems can run at the same time on the same hardware.
Efficient use of resources allows running different OSes without the need for
separate physical machines.
Example: Imagine a powerful computer running Windows, Linux, and macOS at the same
time. Each operating system operates in its own virtual environment, meaning you can use
different software on each OS without needing multiple physical computers. This helps to
maximize hardware efficiency.
2. Server Virtualization:
Definition: Server virtualization divides a physical server into multiple smaller virtual
servers, allowing different tasks or workloads to be managed on a single machine. This
reduces the need for multiple physical servers, cutting costs and improving space efficiency.
Key Points:
A single physical server is split into multiple virtual servers that can run different
applications or services.
37
Resource management is simplified as all virtual servers share the resources of the
same physical machine.
Example: A company has one physical server but creates multiple virtual servers to handle
different tasks like hosting a website, running a database, and managing emails. This saves
costs on hardware and reduces the need for additional physical servers, simplifying
maintenance.
3. Application Virtualization:
Definition: Application virtualization allows users to run applications on their devices
without having to install them locally. The application is hosted on a server and streamed to
the device, allowing access from anywhere.
Key Points:
Reduces the management burden since the application runs from a central server.
Enables users to access the same application from multiple devices, improving
mobility.
Useful for environments where users need access to specialized software across
different devices.
Example: A user can run Photoshop on any computer without having to install it. The
software is hosted on a server and streamed to the user’s device, allowing them to use it
from anywhere, such as at home, in the office, or while traveling.
4. Storage Virtualization:
Definition: Storage virtualization combines multiple physical storage devices into one virtual
storage unit, simplifying data management. It makes it easier to access and manage data
across different storage devices, improving efficiency and reducing complexity.
Key Points:
Multiple physical storage devices are managed as a single storage unit, regardless of
brand or type.
Improves efficiency by making it easier to allocate and use storage resources across
different systems.
38
Helps businesses manage large amounts of data in a more organized and scalable
way.
Example: A business uses hard drives from different manufacturers but manages them as
one big storage unit. This makes it easier to access, back up, and organize the data across
different storage devices, improving overall storage management.
Ideal for developers or testers who need to work with different OS environments.
Cost-effective as you only need one physical computer to run multiple OSes.
Can run different OSes like Windows, Linux, and macOS on the same machine.
Example: A developer can test an app on both Windows and Linux without needing
separate computers. They can use software like VirtualBox or VMware to create virtual
environments, allowing them to test their app across different operating systems on a single
physical machine.
Users can access these resources on-demand, and they only pay for what they use.
What is Virtualization?
Virtualization creates virtual versions of physical hardware, such as virtual machines
(VMs).
39
It allows multiple virtual systems to run on a single physical machine.
It's used for efficient use of hardware and supports disaster recovery by creating
isolated environments.
Pros of Virtualization
1. Better Resource Utilization:
o Explanation: Virtualization allows you to run multiple operating systems on a
single physical machine, utilizing its resources (CPU, RAM, storage) more
effectively. This leads to a more efficient use of hardware compared to
having separate machines for each operating system.
o Example: Rather than using separate computers for Windows, Linux, and
macOS, a single powerful machine can run all three operating systems as
virtual machines (VMs) simultaneously, maximizing resource use.
40
2. Cost Savings:
o Explanation: By reducing the need for multiple physical machines,
virtualization helps save on hardware costs, electricity, and maintenance.
Fewer physical servers or computers are required, lowering operational
expenses.
o Example: A business may only need one server to run multiple virtual servers
instead of purchasing several physical servers, thus saving on both hardware
and power costs.
4. Scalability:
o Explanation: Virtualization makes it easy to scale your environment. You can
quickly create new virtual machines or adjust resource allocations as your
needs change, without investing in additional physical hardware.
o Example: If you need an extra server for testing purposes, you can simply
create a new virtual machine without the need to buy another physical
server.
5. Simplified Management:
o Explanation: Virtualization tools such as VMware, Hyper-V, and Oracle
VirtualBox offer user-friendly interfaces for managing virtual machines. These
tools allow easy creation, migration, and management of VMs, simplifying
administrative tasks.
41
o Explanation: Virtualization is an ideal solution for developers and testers
because it enables the creation of isolated environments for testing various
operating systems and software configurations. This reduces the risk of
affecting the main environment during testing.
7. Resource Efficiency:
o Explanation: Virtualization enables more efficient management of resources
like CPU, RAM, and disk space. Virtual machines can be allocated just the
right amount of resources based on the workload or application needs.
Cons of Virtualization
1. Performance Overhead:
o Explanation: Virtualization introduces some performance overhead because
the hypervisor, which manages the virtual machines, consumes some of the
system's resources. This can reduce the overall performance compared to
running directly on physical hardware.
2. Complexity of Management:
o Explanation: As you add more virtual machines, managing them becomes
increasingly complex. Tracking the resources, configurations, and updates for
numerous VMs can require specialized tools and careful planning.
42
3. Resource Limitations:
o Explanation: While virtualization allows you to run many VMs on a single
physical machine, the hardware has limitations. Running too many VMs on a
host can lead to performance issues or even system crashes if the resources
are exhausted.
o Example: A host with 8GB of RAM that runs 8 virtual machines (each with
1GB of RAM) might become slow or unstable as the system runs out of
memory or processing power.
5. Security Risks:
o Explanation: Although virtual machines are isolated from each other, they
share the same physical hardware. Vulnerabilities in the hypervisor can allow
attackers to break out of one VM and compromise others or even the host
system.
6. Compatibility Issues:
o Explanation: Not all software or hardware is optimized to run inside virtual
environments. Some applications may not function well within virtual
machines, or certain hardware devices may require additional configuration
to work correctly.
43
Technology Examples
1. Xen: Paravirtualization:
Definition: Paravirtualization is a type of virtualization where the guest operating system
(OS) is aware that it’s running in a virtualized environment. The guest OS needs to be
modified slightly to interact directly with the hypervisor (Xen) for better efficiency. This
direct communication allows for better resource management, which improves the
performance of the virtual machine.
Key Points:
The guest OS is aware it’s running in a virtualized environment and must be slightly
modified.
Improved performance due to direct communication between the guest OS and the
hypervisor.
About Xen:
It can run on a wide variety of hardware, and its flexibility is ideal for cloud
environments and high-performance computing.
Xen allows virtual machines to share a host’s physical resources while enabling
isolation and efficient resource use.
44
OS doesn't require any modification and can run on any standard OS like Windows or Linux.
Key Points:
The hypervisor handles all resource management for the virtual machines.
VMware offers a robust and mature virtualization solution for enterprise and cloud
environments.
Example: With VMware, you can create a virtual machine running Windows 10. VMware’s
hypervisor, such as VMware ESXi, completely hides the virtualization process from Windows
10, so the OS behaves like it’s running on real hardware. You don’t need to change Windows
10; it works just as it would on a physical computer.
About VMware:
VMware is one of the most popular and widely used virtualization platforms,
especially in enterprise environments.
VMware uses full virtualization, meaning that the guest OS is completely isolated
from the physical hardware and runs as though it’s on a real machine.
VMware supports a wide variety of operating systems and is well known for its
scalability, high availability, and flexibility.
3. Microsoft Hyper-V:
Definition: Microsoft Hyper-V is a hypervisor-based virtualization tool used to create and
manage virtual machines on Windows-based systems. It supports both full virtualization and
paravirtualization depending on the configuration. Hyper-V is widely used in enterprise
environments because it provides a flexible and scalable solution for running multiple virtual
machines on a single physical server.
Key Points:
45
Ideal for enterprise environments due to its ability to handle multiple virtual
machines and applications.
Can be used to run multiple operating systems (Windows, Linux, etc.) on the same
physical server.
Example: If you have a Windows Server running Hyper-V, you can create virtual machines
such as one running Windows 10 and another running Linux. These virtual machines behave
like real, physical servers, but they share the same physical hardware. Hyper-V allows you to
use these virtual machines for different tasks, such as hosting a website, running
applications, or managing data, all without needing separate physical machines.
46
Chapter - 4
Amazon Web Services- Compute Services, Storage Services, Communication Services, Additional Services;
Google App Engine Architecture and Core Concepts, Application Life-Cycle, Cost Model, Observations;
Microsoft Azure- Azure Core Concepts (Compute, Storage, Core Infrastructure and Other Services), SQL Azure,
Windows Azure Platform Appliance.
---------------------------------------------------------------------------------------------------------------------------------------------------
Example: A small business can use AWS to store its website files (with Amazon S3), run the
website (with Amazon EC2), and manage the website's address (with Route 53). This way,
the business doesn’t need to worry about managing physical servers.
Compute Services:
Definition: AWS compute services allow you to run applications on virtual servers in the
cloud. You don't need to own or manage physical servers. You can also adjust the amount of
computing power easily depending on how much you need, so you only pay for what you
use.
Examples:
1. Amazon EC2 (Elastic Compute Cloud): Lets you create virtual servers to run your
website or apps. For example, a business can use EC2 to host its website and adjust
the power if there’s more traffic.
2. AWS Lambda: Allows you to run code without managing servers. For example, a
website can automatically resize images when they are uploaded using Lambda.
Storage Services:
Definition: AWS storage services help you safely store your data in the cloud and access it
whenever you need it. They offer different types of storage, like saving files, databases, or
backups. You can easily scale your storage as your business grows.
47
Examples:
1. Amazon S3 (Simple Storage Service): A service that stores files, like product images.
It keeps the files safe and lets you access them whenever needed. You can also
organize the files easily.
2. Amazon EBS (Elastic Block Store): Provides storage for apps and databases running
on EC2. For example, a website that stores user data can use EBS to keep that data
safe.
3. Amazon EFS (Elastic File System): A storage service that allows different apps to
share the same files. For example, multiple apps that need access to the same data
can use EFS.
Communication Services:
Definition: AWS communication services help you send messages, alerts, and set up real-
time communication within your apps. These services allow users to send notifications or
chat with each other without worrying about building the whole system yourself.
Examples:
1. Amazon SNS (Simple Notification Service): A service that sends alerts through email,
text messages, or app notifications. For example, you can send a message to
customers when their order is ready to ship.
2. Amazon Chime: A service for making voice calls, video calls, and chat messages. If
you have an app for chatting or video meetings, you can use Chime for these
features.
Additional Services:
Definition: AWS provides many extra services that help you manage and improve your cloud
setup. These services help with tracking performance, keeping your data safe, and
automating tasks. They make managing your cloud services easier and more efficient.
Examples:
1. Amazon CloudWatch: A service that keeps track of how your website or app is doing.
For example, a website owner can use CloudWatch to check if the site is loading
quickly and if there’s any problem.
48
2. AWS CloudFormation: A tool to automatically set up your cloud services. For
example, if you need to set up multiple servers and storage, CloudFormation can do
it for you automatically.
3. AWS IAM (Identity and Access Management): This service helps you control who
can access your AWS services. For example, you can give one person permission to
manage files, but not the ability to change servers.
Examples:
1. Ease of Use: If you're building a web app, GAE takes care of the servers, scaling, and
security, letting you focus on writing the code for your app.
2. Auto Scaling: If your app becomes popular and gets more visitors, GAE automatically
adjusts to handle the extra traffic without you needing to do anything.
3. Support for Multiple Languages: GAE works with many programming languages like
Python, Java, and Node.js, giving you flexibility in how you build your app.
Examples:
1. Standard Environment: If you're running a small app and want GAE to handle
everything automatically, the Standard Environment is perfect. You just write your
code, and GAE takes care of everything else.
2. Flexible Environment: If you need more control over how your app runs, like using a
custom framework, the Flexible Environment lets you do that while still scaling
automatically.
49
Storage Services (Google App Engine):
Definition: GAE provides several storage options for your app, such as Google Cloud
Storage, Datastore, and Cloud SQL. Cloud Storage is for storing large files, Datastore is for
managing structured data, and Cloud SQL is for relational databases like MySQL and
PostgreSQL.
Examples:
1. Cloud Storage: If your app allows users to upload photos or videos, Cloud Storage
securely stores those files and makes them easily accessible.
2. Datastore: If you’re building an app that needs to store structured data, like user
profiles or product listings, Datastore offers an easy way to store and query this data.
3. Cloud SQL: If your app needs a database for storing data in tables (like a shopping
cart or inventory system), Cloud SQL helps you manage your data using MySQL or
PostgreSQL.
GAE Architecture:
50
1. Client Capabilities:
o Definition: These are the features that the client device or application can
support. For example, if the client device has a camera or push notifications,
GAE can use these features in the application.
o Example: An app that uses the camera to scan barcodes or QR codes directly
from the user's mobile device.
3. Support Services:
o Definition: GAE includes services that help you manage and maintain your
application, such as customer support, account verification, and password
recovery.
5. Mashup Editor:
o Definition: The Mashup Editor was a tool by Google that allowed developers
to create web applications by combining data and functionality from multiple
sources, integrating various APIs into one app.
o Example: Integrating weather data from one API and news headlines from
another into a single app that provides both functionalities in one place.
51
6. Google Gear:
o Definition: Google Gear was a technology that allowed web applications to
work offline by providing local storage. It helped build apps that function
without an internet connection.
o Example: A note-taking application that allows users to write and save notes
even when offline, syncing once the user reconnects to the internet.
7. Google Gadgets:
o Definition: Google Gadgets were small applications that could be embedded
into web pages or on the Google Desktop. They offered specific
functionalities like weather updates or news feeds.
o Example: Hosting a blog application on GAE, where users can write and
publish posts, and the platform handles all server-side scaling automatically.
o Example: Building a social media website where users can upload and share
photos using Python and Django, and hosting it on GAE.
52
11. GAE Datastore:
o Definition: GAE provides a NoSQL database called the Datastore, which
allows you to store and retrieve application data. It is designed to be highly
scalable and provides strong consistency and durability.
o Example: A messaging app where user conversations are stored in the GAE
Datastore, allowing users to access their chat history even after logging out.
12. GData:
o Definition: GData is an API protocol used to access and manipulate data from
Google services like Google Calendar, Drive, and Contacts. Developers can
use it to interact with these services programmatically.
o Example: Using GData to fetch a user's Google Calendar events and display
them in your web app.
o Example: A website where users log in with their Google account to sync
their settings, access files, or share photos.
53
1. Build:
o Definition: In the build phase, you develop your application using tools like
the GAE SDK (Software Development Kit). You write your code, define the
user interface, and set up the necessary configurations for your app to work
on GAE.
o Example: You are building a blog app using Python and the Django
framework. In this phase, you write the code for features like user
registration, creating and viewing blog posts, and the database structure
using GAE's Datastore.
2. Test:
o Definition: The test phase is where you check that your app works as
expected. You can test your application locally on your computer using the
GAE SDK, which simulates the GAE environment before deploying to the
cloud.
o Example: After building the blog app, you test it locally using the GAE
development server. This allows you to check whether user registration,
posting, and viewing blogs work correctly in a local environment before
uploading it to the cloud.
3. Deploy:
o Definition: The deploy phase is when you upload your application to Google
App Engine. This makes your app publicly accessible on the web, hosted by
54
Google’s infrastructure. GAE automatically handles scaling and infrastructure
management.
o Example: Once the blog app is tested and ready, you deploy it to GAE using
the command gcloud app deploy. After deploying, the app is now accessible
on the internet for users to create accounts, write blogs, and interact with
other features.
4. Manage:
o Definition: After deployment, you manage your app through the Google
Cloud Console. Here, you monitor performance, check logs, handle user
issues, and configure settings. You also manage traffic scaling, error handling,
and ensure the app is running smoothly.
o Example: After the blog app is live, you use the GAE Console to monitor user
activity and system performance. If there are any issues or errors, you check
the logs in the console and make fixes as needed. You can also adjust settings
like scaling or resource allocation based on traffic.
5. Upgrade:
o Definition: The upgrade phase allows you to add new features, improve
performance, or fix bugs in your app. You can use the Google Cloud Console
to deploy updates, and GAE’s auto-scaling feature ensures that your app
handles the new changes without downtime.
o Example: You decide to add a new feature to the blog app where users can
like and comment on posts. After making these updates in the code, you test
them locally and then deploy the upgraded version using gcloud app deploy
to make it live. GAE automatically scales the app to handle the increased
number of features and users.
55
1. Free Tier:
GAE offers a free tier, meaning you can run small apps without incurring any cost.
This free tier includes limited resources, such as a certain amount of CPU, storage,
and requests per day.
2. Resource Usage:
GAE charges based on the actual resources your app uses, like the number of
requests, the amount of storage, and how much processing power (CPU) is
consumed. For example:
o CPU Time: You are charged for the amount of processing time your app uses.
o Storage: You are billed for the data stored in GAE (like your app’s database).
o Outbound Network Traffic: Charges apply if your app sends data out to the
internet.
3. Instance Hours: GAE uses the concept of "instance hours" to calculate the cost. Each
instance (a virtual machine running your app) consumes a certain amount of
resources. You are charged based on how long your app instances run.
4. Scaling: GAE automatically scales your app, meaning it can increase or decrease the
number of instances depending on how much traffic your app gets. You pay for the
instances that are running when your app is active.
GAE Observations:
Definition:
Observations refer to the important points and real-world insights that can help you
understand how GAE works and how you can manage costs effectively. Here are some key
observations:
1. Auto-Scaling: One of the major advantages of GAE is its ability to scale your
application automatically. This means that when there is a lot of traffic (many users),
GAE will automatically add more resources to handle the load. Conversely, when the
traffic drops, it will scale down to save costs.
Example: If your app suddenly gets a lot of users (like during a special event), GAE will
automatically add more instances to handle the increased load. When the event is over, it
will scale back down, ensuring you’re not paying for unnecessary resources.
2. Resource Optimization: To keep costs low, it’s important to optimize the resources
your app uses. For example, you can use caching to reduce the number of requests
to your database or optimize your app’s code to reduce CPU usage.
56
3. Free Tier Limitations: The free tier is great for small applications or for testing, but it
has limitations. If your app exceeds the free tier’s resource limits, you will start
incurring charges.
Example: If you are running a small app for personal use and don’t exceed the free limits
(like 28 instance hours per day), you won’t have to pay. But if you get more traffic and go
beyond the free tier, you will start paying based on how much extra resource you use.
5. Budgeting and Monitoring: GAE provides tools in the Google Cloud Console to help
you monitor your costs and usage. You can set budgets and alerts to ensure you
don’t accidentally exceed your expected spending.
Example: If you have a budget of $50 per month, you can set up alerts to notify you if you’re
close to reaching that limit. This way, you can control costs and avoid surprise charges.
Microsoft Azure
Definition: Microsoft Azure is a cloud platform provided by Microsoft. It offers many
services to help businesses and developers build, manage, and run applications in the cloud.
Azure allows you to store data, run applications, use virtual machines, and more, all from
Microsoft's managed data centers.
Example: Imagine you want to create a website for your business. With Azure, you can use
its services to store your website files, manage databases, and even scale the website’s
performance depending on how many visitors it gets.
Compute Services:
Definition: Azure compute services allow you to run applications and processes in the cloud
without managing physical servers. You can create virtual machines, run small pieces of
code, or deploy web and mobile apps, all with flexible options to scale as needed.
57
Examples:
1. Azure Virtual Machines: You can create virtual servers that run on the cloud. For
example, if you need to host a website or app, you can quickly set up a virtual
machine to run it and scale up or down as traffic changes.
2. Azure App Service: This service makes it easy to deploy and manage web
applications. If you want to launch a web app without managing the infrastructure,
App Service lets you focus on writing code, and Azure handles the rest.
3. Azure Functions: If you need to run small tasks without worrying about servers,
Azure Functions lets you run your code in response to events, such as an image being
uploaded or a user submitting a form on your website.
Storage Services:
Definition: Azure provides cloud storage services to store and manage data securely. You
can store files, databases, and other types of data, and access them whenever needed.
Azure offers different storage types based on your needs.
Examples:
1. Azure Blob Storage: This service lets you store large amounts of unstructured data,
like images or videos. For example, a business selling clothes online can store
product images in Blob Storage and access them quickly when needed.
2. Azure File Storage: A service that offers shared file storage that can be accessed by
multiple machines. For example, a team working on a project can use File Storage to
share documents and collaborate easily.
3. Azure Backup: You can back up your important files or entire systems to Azure to
protect them in case of an emergency. For example, you can back up your business’s
files to Azure and restore them if your local storage fails.
Examples:
58
1. Azure Virtual Machines (VMs): Allows you to create virtual computers in the cloud.
For example, if you need to run a website, you can use a virtual machine to host it
without managing physical servers.
2. Azure Virtual Network: Helps create a secure, private network in the cloud to
connect your resources. For example, an organization can use Azure Virtual Network
to create a private network for internal systems to keep them safe from public
internet access.
3. Azure Load Balancer: Distributes incoming traffic across multiple virtual machines to
ensure no machine gets overloaded. For example, a busy website uses a load
balancer to keep the site running smoothly by spreading out traffic across different
servers.
Examples:
1. Azure SQL Database: A fully managed relational database that scales automatically.
For example, you can use it to store and manage customer data for an e-commerce
site, and it will grow with your business.
2. Azure Cosmos DB: A global NoSQL database service for storing large amounts of data
across multiple locations. For example, an app that needs to store data for users
around the world can use Cosmos DB for fast, reliable access.
SQL Azure:
Definition: SQL Azure is a cloud-based service that lets you store and manage your
databases without needing physical hardware. It helps you manage your data in the cloud,
and you can easily scale your databases based on your needs.
Examples:
59
1. High Availability: If you have an online store, SQL Azure keeps your product data
safe by automatically backing it up and making sure it's always available, even if a
server goes down.
2. Scalability: If your website starts getting more visitors, SQL Azure lets you increase
your database's power so it can handle more users, ensuring everything works
smoothly.
3. Security: If you're storing sensitive customer information, SQL Azure keeps it safe by
encrypting the data and allowing you to control who can access it, ensuring only
trusted people can view or modify your data.
Examples:
1. Private Cloud Setup: If you're running a hospital and need to store patient records
securely, the Windows Azure Platform Appliance lets you create your own cloud
within your company’s data center, keeping your data safe and in control.
2. Custom Cloud Infrastructure: If your company works with a lot of video content, the
appliance lets you set up a cloud with the right amount of storage to handle large
video files without worrying about running out of space.
3. Hybrid Cloud Environment: If you have an international business, you can run some
of your apps on your private cloud and others on the public cloud. The appliance
helps you manage both types of cloud systems at once, giving you flexibility and
control.
60
Chapter – 5
Scientific Applications- Healthcare (ECG Analysis in the Cloud) Biology (Protein Structure Prediction and Gene
Expression Data Analysis for Cancer Diagnosis), Geo science(Satellite Image Processing); Business and
Consumer Applications CRM and ERP, Productivity, Social Networking, Media Applications, Multiplayer
Online Gaming.
---------------------------------------------------------------------------------------------------------------------------------------------------
Scientific Applications
1) Healthcare (ECG Analysis in the Cloud):
Definition: Electrocardiography (ECG) is a test that records the heart's electrical activity to
help diagnose heart conditions.
Example: A patient undergoes an ECG test at a clinic, and the data is uploaded to a cloud
service, which analyzes the information and generates a report accessible to doctors
anywhere.
How It Works:
1. Data Collection: ECG device records heart signals and creates data files.
2. Uploading to Cloud: Data is uploaded to a cloud platform for analysis.
3. Analysis: Advanced algorithms process the data to detect abnormalities.
4. Results Access: Doctors access detailed reports through an online portal from
any location.
Benefits:
61
How It Works:
Benefits:
Example: A research team studying lung cancer collects gene expression data from tumor
and healthy tissue samples, uploads it to the cloud, and identifies genetic markers active in
cancerous tissues.
How It Works:
1. Data Collection: Gene expression data is gathered from cancer and normal tissue
samples.
2. Uploading to Cloud: This data is uploaded to a cloud service for analysis.
3. Analysis: Advanced algorithms on the cloud analyze the data to identify cancer-
related patterns and markers.
4. Results Access: Findings are shared with doctors and researchers to support
cancer diagnosis and treatment customization.
Benefits:
62
4) Geoscience(Satellite Image Processing):
Definition: Satellite image processing involves analyzing images captured by satellites to
gather information about the Earth's surface, aiding in applications like environmental
monitoring, urban planning, and disaster management.
How It Works:
1. Data Collection: Satellites capture images of the Earth's surface and send them
to data centers.
2. Uploading to Cloud: Large image files are uploaded to a cloud-based platform for
analysis.
3. Analysis: Advanced algorithms process the images to detect land cover changes,
identify vegetation types, or map disasters.
4. Results Access: Processed images and analysis results are made available to
scientists and decision-makers through an online interface.
Benefits:
Example: A retail company uses a cloud-based CRM system to track customer purchases and
interactions. This system helps the company understand buying patterns, manage customer
service requests, and run targeted marketing campaigns, all of which can be accessed from
anywhere with an internet connection.
How It Works:
63
1. Data Collection: CRM systems collect and store information about customer
interactions, sales activities, and customer preferences.
2. Uploading to Cloud: The collected customer data is uploaded to the cloud,
enabling centralized storage and access from multiple devices.
3. Analysis: Cloud-based CRM platforms offer tools for analyzing customer data,
tracking sales performance, and managing marketing campaigns.
4. Results Access: Businesses use insights from CRM data to personalize marketing
efforts, improve customer service, and increase sales effectiveness.
Benefits:
Example: A manufacturing company uses a cloud-based ERP system to manage its supply
chain, track inventory levels, and handle financial transactions. The system integrates data
from different departments, allowing the company to streamline operations, reduce costs,
and improve overall efficiency.
How It Works:
1. Data Collection: ERP systems gather data from various business processes,
including accounting, HR, and inventory management.
2. Uploading to Cloud: This data is stored in the cloud, making it accessible to
authorized users across the organization.
3. Analysis: Cloud-based ERP platforms use this data to generate reports, forecast
trends, and streamline operations.
4. Results Access: Businesses improve operational efficiency, better manage
resources, and make data-driven decisions.
Benefits:
64
3) Productivity Applications:
1. Document Collaboration:
Definition: Cloud-based document collaboration tools allow multiple users to create, edit,
and share documents simultaneously over the internet.
Example: A marketing team uses Google Docs to draft a report. Team members from
different locations can simultaneously edit the document, add comments, and track
changes, all in real-time.
How It Works:
1. Data Creation: Users create documents (e.g., text files, spreadsheets) on cloud
platforms like Google Docs or Microsoft 365.
2. Uploading to Cloud: Documents are stored on the cloud server, making them
accessible from any device with internet access.
3. Collaboration: Multiple users can work on the same document in real-time, see
each other's changes instantly, and communicate via integrated chat or comment
features.
4. Results Access: Team members can collaborate efficiently without needing to
send documents back and forth, improving productivity.
Benefits:
2. Project Management:
Definition: Cloud-based project management tools help teams plan, track, and manage
projects efficiently. These tools offer features like task assignments, deadlines, and progress
tracking.
Example: A software development team uses Trello to manage their project. They create
boards for different phases of the project, assign tasks to team members, and track
progress. The team can access the project from any location and stay updated in real-time.
How It Works:
65
1. Data Collection: Project details, tasks, deadlines, and team member assignments
are entered into a cloud-based project management tool like Asana or Trello.
2. Uploading to Cloud: All project-related information, such as tasks, notes, and
deadlines, are stored and managed in the cloud.
3. Management: Team members can access project data, update task statuses, and
communicate through the platform for better coordination.
4. Results Access: The project is more organized, with clear visibility on task
progress and deadlines, leading to better management and timely completion of
tasks.
Benefits:
Example: On Facebook, users create profiles, post updates, share photos, and engage with
friends through likes and comments. All this data is stored in the cloud, enabling access from
any device.
How It Works:
1. Data Creation: Users create profiles and upload content like status updates and
photos.
2. Uploading to Cloud: All user-generated content and profile information are
stored on cloud servers.
3. Interaction: Users can view, comment on, like, and share posts.
4. Results Access: Users maintain and update profiles, share content with friends,
and engage with the community online.
Benefits:
66
Secure storage and management of large amounts of data.
2. Real-Time Communication:
Definition: Social networking platforms provide real-time communication features, such as
messaging, chat, and video calls, facilitating instant interaction among users.
Example: On WhatsApp, users can send text messages, make voice and video calls, and
share files. All communications are stored in the cloud, allowing access to chat history from
any device.
How It Works:
1. Data Transmission: Messages and video calls are transmitted and stored in the
cloud.
2. Uploading to Cloud: Communication data is processed and saved on cloud
servers.
3. Interaction: Users can send instant messages, participate in group chats, and
conduct video calls.
4. Results Access: Enables seamless communication between users regardless of
location.
Benefits:
5) Media Applications:
1. Streaming Services:
Definition: Cloud-based streaming services allow users to watch or listen to media content
(such as movies, TV shows, or music) in real-time without downloading the files to their
devices.
Example: On Netflix, users can stream movies and TV shows directly from the cloud without
the need to download them, accessible from various devices like smart TVs, smartphones,
and tablets.
How It Works:
67
1. Content Upload: Media companies upload their content (videos, music, etc.) to
cloud servers.
3. Access Anywhere: The content is streamed in real-time from the cloud to the
user’s device.
4. Results Access: Users enjoy a wide variety of content without worrying about
device storage.
Benefits:
Example: Google Photos allows users to upload, store, and organize photos and videos in
the cloud. Users can access their media from any device, share it, and ensure their
memories are safely backed up.
How It Works:
1. Data Upload: Users upload their media files (photos, videos, music) to cloud
storage services like Google Photos or Dropbox.
2. Backup and Sync: Files are securely stored in the cloud, ensuring that the media
is safely backed up and synchronized across devices.
3. Access Anywhere: Users can view, download, or share their media files from any
internet-enabled device.
4. Results Access: The content is easily accessible and backed up, preventing data
loss.
Benefits:
68
6) Multiplayer Online Gaming Applications:
Example: A popular game like PUBG (PlayerUnknown's Battlegrounds) utilizes cloud servers
to host multiplayer sessions, enabling players from around the world to connect and play
together in real time.
How It Works:
Benefits:
Example: In Ludo King, players can save their game progress in the cloud and continue on
any device, whether mobile or tablet, while also enjoying cross-platform play with friends
on different devices.
How It Works:
1. Data Storage: Game progress, settings, and profiles are saved to cloud storage.
69
2. Access Anywhere: Players can access their saved games from different devices
(e.g., console, PC, mobile).
3. Cross-Platform Compatibility: Games hosted in the cloud allow players on
different devices (e.g., Xbox, PlayStation, PC) to join the same game.
4. Results Access: This flexibility enhances gameplay and ensures progress is
preserved across devices.
Benefits:
70
Chapter - 6
Aneka Cloud Application Platform- Framework Overview, Anatomy of the Aneka Container; Building Aneka
Clouds (Infrastructure Organization, Logical Organization, Private Cloud Deployment Mode, Public Cloud
Deployment Mode, Hybrid Cloud Deployment Mode); Cloud Programming and Management- Aneka
SDK(Application Model and Service Model); Management Tools(Infrastructure, Platform and Application
management).
---------------------------------------------------------------------------------------------------------------------------------------------------
Aneka
Definition:
Aneka is a software platform developed by Manjrasoft that helps in developing, deploying,
and managing cloud applications. It provides tools and features for creating distributed
applications that can run on different types of cloud environments such as private, public,
and hybrid clouds.
OR
Aneka is a software platform that helps you create and manage applications on the cloud. It
makes it easier to develop cloud-based applications and run them in different types of cloud
environments (private, public, or hybrid).
Key Points:
1. Meaning of Aneka:
Aneka means "many ways." It shows that the platform offers flexibility in how you
can build cloud applications.
2. Purpose of Aneka:
Aneka is made to help developers build, deploy, and manage cloud applications in
different cloud environments.
3. Developed By:
Aneka is created by Manjrasoft, a company that focuses on high-performance and
scientific computing solutions.
71
o Public Cloud: Where the cloud infrastructure is available for use by the
general public.
o Local networks
o Data centers
Examples:
1. Building Cloud Apps:
Suppose you need to build a data-intensive application (like analyzing large data
sets). You can use Aneka’s MapReduce API to distribute tasks across multiple
servers, allowing the app to run faster and more efficiently in the cloud.
4. Flexible Deployment:
You could deploy Aneka on your own servers or in a data center, or you could use a
virtual cloud infrastructure from a provider like AWS or Azure to handle scaling and
performance during high-demand periods.
72
Framework Overview of Aneka:
Aneka is a cloud computing platform that simplifies the development, deployment, and
management of applications in the cloud. It is a Platform-as-a-Service (PaaS) solution that
helps developers build distributed applications and run them on various cloud
environments, whether private, public, or hybrid. Aneka is designed to make cloud
application development easier by providing extensible APIs and services that can handle
large-scale distributed computing tasks, such as high-performance computing (HPC) and
scientific computing.
Aneka offers three primary service layers that form its structure:
1. Fabric Services – The lowest level of the software stack, which handles resource
provisioning, monitoring, and management of cloud resources.
73
2. Foundation Services – These provide core infrastructure services like accounting,
billing, and resource management to support the execution of distributed
applications.
The Aneka Container is the core unit that supports the deployment and execution of
applications on the Aneka platform. The container is made up of several key services, each
responsible for different aspects of cloud resource management and application execution.
74
o Functions:
2. Foundation Services:
o Role: Foundation Services provide the essential infrastructure for cloud
operations.
o Functions:
3. Application Services:
o Role: This layer manages the execution of applications running in the Aneka
cloud.
o Functions:
Example: In an Aneka-based cloud, the system could be running applications for scientific
research that require heavy computation. Fabric Services would ensure enough
computational resources (like CPU and memory) are available, Foundation Services would
manage the costs and billing for these resources, and Application Services would monitor
and manage the scientific application as it runs on the cloud.
75
Building Aneka Clouds
Aneka Cloud is a platform that allows you to build and manage cloud computing
environments. It provides different models of organization depending on how resources are
arranged and deployed. Here’s each type of organization:
1. Infrastructure Organization
2. Logical Organization
3. Public cloud Organization
4. Private Cloud Organization
5. Hybrid Cloud Organization
1. Aneka Repository:
o Definition: A central storage location for all the libraries, resources, and
applications needed to run in the Aneka Cloud.
76
o Purpose: Stores necessary files and resources required for deploying and
running cloud applications.
2. Administrative Console:
o Definition: A web-based interface used to manage and monitor the Aneka
Cloud environment.
3. Aneka Containers:
o Definition: Lightweight virtual units that encapsulate and isolate applications
in the cloud.
o Example: A container runs a web application in the cloud, isolated from other
apps, ensuring no interference.
4. Aneka Nodes:
o Definition: The physical or virtual machines (computing units) that execute
tasks within the Aneka Cloud.
o Purpose: Handle the computational load and run applications and processes
in the cloud.
o Example: A node runs the processing for a machine learning model, taking
care of the heavy computation.
77
o Example: The Daemon ensures that containers are deployed on the
appropriate nodes based on resource availability.
The Administrative Console allows the administrator to configure and monitor the
system.
Aneka Nodes are the computing units that carry out the processing work for the
applications.
The Aneka Daemon ensures that containers are deployed to the right nodes and
keeps everything running smoothly.
78
1. Master Node:
o Definition: The central coordinator in Aneka Cloud, managing tasks and
resources.
o Purpose: Manages, schedules, and distributes tasks across the worker nodes.
It is responsible for the overall intelligence and coordination of the cloud
system.
o Example: The master node breaks down a large data processing task into
smaller sub-tasks and assigns them to different worker nodes for execution.
2. Worker Nodes:
o Definition: The computing units that execute tasks assigned by the master
node.
o Purpose: Carry out the actual work of the cloud system by processing tasks
and using resources like CPU and memory to complete them.
3. Storage Nodes:
o Definition: Nodes optimized for providing storage support for applications in
the Aneka Cloud.
o Purpose: Store data and support applications that require large volumes of
storage, ensuring data persistence and availability.
o Example: A storage node holds the data needed for a large dataset analysis in
a machine learning application.
Worker Nodes: Act as the "muscle" of the system, performing the tasks assigned by
the master node.
Storage Nodes: Provide the necessary storage support for the tasks being executed.
79
1. Definition: A private cloud deployment model is used when a company or
organization manages its own cloud infrastructure, typically within its own data
center. It's suitable for workloads that are predictable, and its capacity can be easily
expanded using local virtual machine managers.
2. Purpose:
o To offer more control over cloud resources, data security, and infrastructure.
3. Examples:
o Resource Provisioning:
Example: Imagine you're playing a multiplayer online game. During peak
times, the game server faces more players than usual. The server dynamically
allocates additional resources to accommodate the increase, ensuring all
players can join without lag. This dynamic resource provisioning
automatically adjusts the server capacity up and down based on demand.
o Resource Reservation:
Example: Think about reserving a table at a restaurant. You use an app to
book a table for your group at a certain time. The system reserves the table
exclusively for your group. Similarly, in a private cloud, resources can be
reserved for specific applications, ensuring they get the necessary resources
when needed.
o Using Eucalyptus:
Example: Imagine your company needs to run a large computational task.
80
Instead of using external cloud services, your company uses Eucalyptus to
build its own private cloud. When demand increases, Eucalyptus allows your
company to add more virtual machines (VMs) in real-time to meet the
workload. Eucalyptus offers the flexibility to create and manage private or
hybrid clouds, similar to public clouds like AWS.
o Virtual Cluster:
Example: As a software developer, you need to run a resource-intensive
project. Rather than purchasing physical servers, you use a virtual cluster
from a cloud platform like AWS or GCP. You provision virtual machines (VMs)
as needed, distributing the workload across the VMs to improve processing.
The virtual cluster can scale up or down based on the project's demand,
making it cost-efficient and flexible.
How it Works:
Master Node & Worker Nodes: The private cloud infrastructure typically consists of
a Master Node to manage and coordinate tasks, while Worker Nodes handle the
execution of these tasks.
Storage and Computing: The cloud includes storage nodes for data management
and compute nodes for running applications and workloads.
Dynamic Scaling: The cloud dynamically allocates resources to match the current
workload, ensuring that computational power is available when needed but not
wasted during downtime.
81
1. Definition: A Public Cloud Deployment Mode involves installing Aneka master and
worker nodes over a fully virtualized infrastructure that is hosted by a third-party
service provider, such as AWS, Google Cloud, or Microsoft Azure. This cloud
infrastructure is shared by multiple users, where resources are provisioned as
needed.
2. Purpose:
o To allow users to access cloud services without having to manage or own the
physical infrastructure.
3. Examples:
o Resource Provisioning:
Example: Consider using Google Cloud Platform (GCP) for hosting your
website. During periods of high traffic, such as a sale event or promotion,
Google Cloud can automatically provision more virtual machines to handle
the surge. This allows your website to maintain performance without
downtime during peak times.
How it Works:
Virtualized Infrastructure: Public cloud uses virtualized servers and resources, which
are allocated and scaled dynamically based on user demand.
82
Shared Resources: Multiple users share the same infrastructure, and resources are
provisioned as required (e.g., storage, compute power).
Resource Management: Services like accounting and reporting help track usage and
ensure accurate billing for the resources consumed.
2. Purpose:
o To ensure businesses can scale easily while maintaining control over sensitive
data in the private cloud.
83
o To balance between the benefits of private cloud control and the scalability
of public cloud services.
3. Examples:
o Resource Reservation:
Example: A media streaming company might reserve resources in a public
cloud during peak viewing times, such as a popular live event, ensuring
dedicated compute power to handle the extra traffic. The reservation
ensures these resources are not shared with other users during the event.
o Workload Partitioning:
Example: A healthcare company could run patient management software on
its private cloud for data security, while using a public cloud to run AI
algorithms that process large volumes of medical data. The company
partitions workloads so that sensitive patient data remains on the private
cloud, while computational tasks are offloaded to the public cloud for better
scalability.
How it Works:
Dynamic Resource Provisioning: The organization can automatically scale resources
between the private and public cloud based on demand. For instance, during high
traffic events, the system can provision extra resources from the public cloud.
84
Accounting, Monitoring, and Reporting: Organizations use hybrid cloud tools to
monitor resource usage, track costs, and ensure effective management of the hybrid
infrastructure.
Aneka SDK
Definition: The Aneka SDK (Software Development Kit) is a set of tools that helps
developers build and deploy applications on the Aneka Cloud. It provides everything
needed to create cloud-based applications, handle networking, resource
management, and server operations.
Example:
Imagine you're a game developer building an online multiplayer game. With the
Aneka SDK, you can create a game server that manages player connections and
game logic, ensuring smooth real-time interaction between players.
Example: Consider a food delivery app. The application model includes screens for
browsing restaurants, adding food to the cart, checking out, and placing orders. It
defines the user interface and the overall flow of the app.
85
Example: In the Foodie Express app, this would be the point where the initial screen
layout, such as the restaurant browsing screen and order placement screen, is
designed and prepared.
2. Configuration Stage:
Definition: After creation, the application undergoes configuration. This is where
settings are applied to define how the application will behave in the cloud
environment.
Example: For the Foodie Express app, this stage involves setting up configurations
such as database connections (for storing user orders), API keys for payment
processing, and cloud resources needed for managing the app's data and users.
3. Deployment Stage:
Definition: Once configured, the application is deployed onto the cloud
infrastructure. This means that the application is now live and accessible, but it
hasn’t started handling tasks yet.
Example: In the Foodie Express app, deployment refers to the process of making the
app available for users to download or access via a web browser. It’s now ready for
customer interaction.
Example: For Foodie Express, this is the stage where users browse restaurants, place
orders, and the app communicates with the cloud backend to process these orders,
make payments, and track deliveries.
Example: In the Foodie Express app, the system might be monitored for issues such
as slow loading times or payment failures. If an issue arises, it’s flagged for attention.
86
Definition: If the application experiences increased usage or demand, this stage
allows for scaling. Resources can be increased or adjusted to ensure that the app
continues to run efficiently.
Example: During a busy hour, the Foodie Express app might scale up by adding more
cloud resources (e.g., more servers) to handle the increased traffic of customers
placing orders.
7. Maintenance Stage:
Definition: During this stage, the application may undergo regular updates or
maintenance to improve features, fix bugs, or ensure compatibility with the cloud
environment.
Example: For Foodie Express, this could involve updating the app to fix bugs, adding
new restaurants to the menu, or upgrading the payment system to support more
payment methods.
Example: If the Foodie Express app is no longer in use (for instance, during the off-
hours), the resources it’s using in the cloud are released, and the app may enter
maintenance mode or be fully shut down for the time being.
Example: In the Foodie Express food delivery app, the service model manages
processes like placing an order, assigning a delivery person, processing payment, and
tracking the delivery. It helps the app perform these tasks efficiently in the
background while the user interacts with the app.
87
The service model goes through different stages in its lifecycle. Here's how each stage works
with definitions and examples:
1. Unknown:
o Definition: The service has just been created, and its status is not yet known.
o Example: The Foodie Express app starts up, but the order placement service
hasn’t been initialized yet, so its status is unknown.
2. Initialized:
o Definition: The service has been created, and all necessary resources (like
memory, storage, etc.) are set up.
3. Starting:
o Definition: The service is starting up and preparing to run its tasks.
4. Passing:
88
o Definition: The service is ready but waiting for the necessary resources to be
allocated before it can start running.
o Example: The delivery tracking service is ready, but it’s waiting for the order
and delivery person details to be assigned from the order placement service.
5. Running:
o Definition: The service is actively performing its tasks and executing its
functionality.
6. Paused:
o Definition: The service is temporarily paused but still active; it is not running,
but it can be resumed later.
7. Resuming:
o Definition: The service, after being paused, is getting ready to resume its
operation.
8. Stopping:
o Definition: The service is gradually shutting down and preparing to stop its
execution.
o Example: The order management service is stopping after an order has been
completed, and it’s performing clean-up tasks, like saving the order history.
9. Stopped:
o Definition: The service has been fully stopped and is no longer running or
performing tasks.
o Example: The order processing service is stopped after all tasks are
completed, and no new orders are coming in.
10. Error:
89
o Definition: An error or problem has occurred in the service that prevents it
from working properly.
90
Example: Imagine a game developer using Aneka to host their game on the cloud. During
high-demand periods (e.g., the release of a new game level), the system automatically
provisions more virtual machines (VMs) to ensure the game can handle the increased
number of players. Once the demand drops, the system releases the extra resources.
2. Platform Management:
Definition: Platform management focuses on organizing the cloud system and partitioning
the hardware for different tasks. It helps in logically grouping and managing resources to
ensure they are used efficiently, according to different needs (e.g., storage, computing
power).
Example: Think of an organization that runs multiple departments, like HR and Sales, on the
same Aneka Cloud platform. With platform management, the organization can partition the
cloud to allocate separate resources to each department, ensuring that one department's
tasks don't interfere with the other's. For example, HR can have dedicated storage for
sensitive employee data, while Sales can have additional compute power for running
reports.
3. Application Management:
Definition: Application management in Aneka involves handling and monitoring the
applications running on the cloud. This includes using management APIs to monitor
performance, track issues, and ensure that applications are running smoothly. It allows
administrators to ensure that applications are efficient and meet user needs.
Example: A software company that runs a customer support application in Aneka uses
management APIs to monitor how well the app is performing. They can track if users are
experiencing delays or if the app is using more resources than it should. If there’s an issue,
the API provides detailed reports, helping the administrators resolve the problem quickly.
91