msc sy cc.docx
msc sy cc.docx
1. Frontend
Frontend of the cloud architecture refers to the client side of cloud computing
system. Means it contains all the user interfaces and applications which are
used by the client to access the cloud computing services/resources. For
example, use of a web browser to access the cloud platform.
2. Backend
Backend refers to the cloud itself which is used by the service provider. It
contains the resources as well as manages the resources and provides
security mechanisms. Along with this, it includes huge storage, virtual
applications, virtual machines, traffic control mechanisms, deployment
models, etc.
Components of Cloud Computing Architecture
Following are the components of Cloud Computing Architecture
1. Client Infrastructure – Client Infrastructure is a part of the frontend
component. It contains the applications and user interfaces which are
required to access the cloud platform. In other words, it provides a GUI(
Graphical User Interface ) to interact with the cloud.
2. Application : Application is a part of backend component that refers to a
software or platform to which client accesses. Means it provides the
service in backend as per the client requirement.
3. Service: Service in backend refers to the major three types of cloud based
services like SaaS, PaaS and IaaS. Also manages which type of service
the user accesses.
4. Runtime Cloud: Runtime cloud in backend provides the execution and
Runtime platform/environment to the Virtual machine.
5. Storage: Storage in backend provides flexible and scalable storage
service and management of stored data.
6. Infrastructure: Cloud Infrastructure in backend refers to the hardware and
software components of cloud like it includes servers, storage, network
devices, virtualization software etc.
7. Management: Management in backend refers to management of backend
components like application, service, runtime cloud, storage, infrastructure,
and other security mechanisms etc.
8. Security: Security in backend refers to implementation of different security
mechanisms in the backend for secure cloud resources, systems, files, and
infrastructure to end-users.
9. Internet: Internet connection acts as the medium or a bridge between
frontend and backend and establishes the interaction and communication
between frontend and backend.
10. Database: Database in backend refers to provide database for storing
structured data, such as SQL and NOSQL databases. Example of
Databases services include Amazon RDS, Microsoft Azure SQL database
and Google CLoud SQL.
11.Networking: Networking in backend services that provide networking
infrastructure for application in the cloud, such as load balancing, DNS and
virtual private networks.
12. Analytics: Analytics in backend service that provides analytics
capabilities for data in the cloud, such as warehousing, business
intelligence and machine learning.
Benefits of Cloud Computing Architecture
● Makes overall cloud computing system simpler.
● Improves data processing requirements.
● Helps in providing high security.
● Makes it more modularized.
● Results in better disaster recovery.
● Gives good user accessibility.
● Reduces IT operating costs.
● Provides high level reliability.
● Scalability.
The machine on which the virtual machine is going to create is known as Host Machine and that
virtual machine is referred as a Guest Machine
Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed
on the hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and other
hardware resources.
After virtualization of hardware system we can install different operating system on it and
run different applications on those OS.
Usage:
Hardware virtualization is mainly done for the server platforms, because controlling virtual
machines is much easier than controlling a physical server.
Usage:
Operating System Virtualization is mainly used for testing the applications on different
platforms of OS.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed
on the Server system is known as server virtualization.
Usage:
Server virtualization is done because a single physical server can be divided into multiple
servers on the demand basis and for balancing the load.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple network
storage devices so that it looks like a single storage device.
Usage:
The main usage of Virtualization Technology is to provide the applications with the
standard versions to their cloud users, suppose if the next version of that application is
released, then cloud provider has to provide the latest version to their cloud users and
practically it is possible because it is more expensive.
To overcome this problem we use basically virtualization technology, By using virtualization,
all severs and the software application which are required by other cloud providers are
maintained by the third party people, and the cloud providers has to pay the money on
monthly or annual basis.
Windows & Linux. So it can easily be done by creating two Virtual Machines
(VMs), one for Windows and one for Linux.
The virtualization software will create a virtual CPU for each VM. The
virtualization software will create a virtual CPU for each VM. The virtual CPUs
will execute on the physical CPU but separately. This means the Windows
Virtual Machine cannot view or communicate with the Linux VM, and vice
versa.
The virtualization software will also allocate memory and other resources to
each VM. This guarantees each VM has enough resources to execute. CPU
virtualization is made difficult but necessary for cloud computing.
2) Cost Savings
By running multiple virtual machines on a single physical server, cloud
providers save on hardware costs, energy consumption, and maintenance.
3) Scalability
CPU virtualization allows easy scaling, adding or removing virtual machines
according to demand. This flexibility helps businesses adapt to changing
needs as per requirements.
2) Performance Variability
Depending on the number of virtual machines and their demands,
performance can vary. If one VM needs a lot of resources, others might
experience slower performance.
3) Complexity
Handling multiple virtual machines and how they work together needs
expertise. Creating and looking after virtualization systems can be
complicated.
4) Compatibility Challenges
Some older software or hardware might not work well within virtualized
environments. Compatibility issues can arise.
5) Resource Sharing
While CPU virtualization optimizes resource usage, if one VM suddenly
requires a lot of resources, it might impact the performance of others.
What is a hypervisor
A hypervisor, also known as a virtual machine monitor or VMM. The hypervisor is a piece of
software that allows us to build and run virtual machines which are abbreviated as VMs.
A hypervisor allows a single host computer to support multiple virtual machines (VMs) by
sharing resources including memory and processing.
What is the use of a hypervisor?
Hypervisors allow the use of more of a system's available resources and provide greater IT
versatility because the guest VMs are independent of the host hardware which is one of the
major benefits of the Hypervisor.
In other words, this implies that they can be quickly switched between servers. Since a
hypervisor with the help of its special feature, it allows several virtual machines to operate
on a single physical server. So, it helps us to reduce:
Cloud computing has come a very long ways. The concepts, usage and opinion about cloud computing
has changes a lot over the years. While few companies have started to adopt with open arms, others still
are concerned about the security aspect.
The SPI Model mentioned above is commonly termed as Cloud Computing Stacks in technical terms
and I have tried to explain the terms with in common language thereby removing the layer of complexity.
SaaS – Software-as-a-Service
Software that is deployed and available on the Internet, which users can access as and when required.
This is also termed as “software on demand”. Examples include Salesforce.com sales management
applications, NetSuite, Google’s Gmail, Facebook and many others. Monay of the companies have also
started providing their software though internet on payment or subscription basis which includes Microsoft
Office Package and other ERP suites.
Payment can either be as per usage, on a subscription model or licensing model or sometimes even free.
While SaaS offers several advantages like accessibility from any location, rapid scalability as and when
required and no concerns for maintenance and updates, there may be certain security concerns,
especially for customers who desire high security and control on their database such as banking industry,
as that domain is in the hands of the provider and is more susceptible to hacking of data.
SaaS may be considered the oldest and most mature type of cloud computing.
Due to its low entry costs and substantial benefits – including faster application deployment, greater
flexibility and improved employee productivity – Software-as-a-Service adoption is skyrocketing across all
industry verticals. This includes unique purpose-built applications as well as general business
applications.
For many organizations, leveraging SaaS can provide a better operational model to drive change for both
the business and IT, providing benefits from efficiencies not previously possible with on-premise
applications to lowering overall operations costs.
PaaS – Platform-as-a-Service
Platform as a Service (PaaS) brings the benefits that SaaS bought for applications, but over to the
software development world. PaaS can be defined as a computing platform on internet that allows the
creation of web applications quickly and easily and without the complexity of buying and maintaining the
software and infrastructure underneath it.
Characteristics of PaaS
There are a number of different takes on what constitutes PaaS but some basic characteristics include:
• Services to develop, test, deploy, host and maintain applications in the same integrated development
environment. All the varying services needed to fulfil the application development process
• Web based user interface creation tools help to create, modify, test and deploy different UI scenarios
• Multi-tenant architecture where multiple concurrent users utilize the same development application
• PaaS is used to extend the capabilities of applications developed as SaaS. Examples of PaaS include
Salesforce.com’s Force.com, Google’s App Engine, and Microsoft’s Azure.
IaaS – Infrastructure-as-a-Service
Infrastructure as a Service (IaaS) is a way of delivering Cloud Computing infrastructure – servers,
storage, network and operating systems – as an on-demand service. Rather than purchasing servers,
software, datacenter space or network equipment, clients instead buy those resources as a fully
outsourced service on demand as and when required. IaaS is generally used by organizations that have
the in-house expertise to manage their IT requirements but don’t have the infrastructure. They then hire
the required infrastructure from IaaS providers and load up their libraries, applications, and data, after
which they configure them themselves.
A popular use of IaaS is in hosting websites, where the in-house infrastructure is not burdened with this
task but left free to manage the business. Amazon’s Elastic Compute Cloud (EC2), Rackspace and
GoGrid’s ServePath is a major example of IaaS.
Characteristics of IaaS
As with the two previous sections, SaaS and PaaS, IaaS is a rapidly developing field. That said there are
some core characteristics which describe what IaaS is. IaaS is generally accepted to comply with the
following;