CC - UNIT II Notes
CC - UNIT II Notes
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, 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.
Uses of Virtualization
Data-integration
Business-integration
Service-oriented architecture data-services
Searching organizational data
Security In Cloud Computing :
Cloud computing which is one of the most demanding technology of the
current time, starting from small to large organizations have started using
cloud computing services. Where there are different types of cloud
deployment models are available and cloud services are provided as per
requirement like that internally and externally security is maintained to keep
the cloud system safe. Cloud computing security or cloud security is an
important concern which refers to the act of protecting cloud environments,
data, information and applications against unauthorized access, DDOS
attacks, malwares, hackers and other similar attacks. Community Cloud
: These allow to a limited set of organizations or employees to access a
shared cloud computing service environment.
Planning of security in Cloud Computing :
As security is a major concern in cloud implementation, so an organization
have to plan for security based on some factors like below represents the
three main factors on which planning of cloud security depends.
Resources that can be moved to the cloud and test its sensitivity risk are
picked.
The type of cloud is to be considered.
The risk in the deployment of the cloud depends on the types of cloud and
service models.
Types of Cloud Computing Security Controls :
There are 4 types of cloud computing security controls i.e.
1. Deterrent Controls : Deterrent controls are designed to block nefarious
attacks on a cloud system. These come in handy when there are insider
attackers.
2. Preventive Controls : Preventive controls make the system resilient to
attacks by eliminating vulnerabilities in it.
3. Detective Controls : It identifies and reacts to security threats and
control. Some examples of detective control software are Intrusion
detection software and network security monitoring tools.
4. Corrective Controls : In the event of a security attack these controls are
activated. They limit the damage caused by the attack.
Importance of cloud security :
For the organizations making their transition to cloud, cloud security is an
essential factor while choosing a cloud provider. The attacks are getting
stronger day by day and so the security needs to keep up with it. For this
purpose it is essential to pick a cloud provider who offers the best security
and is customized with the organization’s infrastructure. Cloud security has a
lot of benefits –
Centralized security : Centralized security results in centralizing
protection. As managing all the devices and endpoints is not an easy task
cloud security helps in doing so. This results in enhancing traffic analysis
and web filtering which means less policy and software updates.
Reduced costs : Investing in cloud computing and cloud security results
in less expenditure in hardware and also less manpower in administration
Reduced Administration : It makes it easier to administer the
organization and does not have manual security configuration and
constant security updates.
Reliability : These are very reliable and the cloud can be accessed from
anywhere with any device with proper authorization.
When we are thinking about cloud security it includes various types of
security like access control for authorized access, network segmentation for
maintaining isolated data, encryption for encoded data transfer, vulnerability
check for patching vulnerable areas, security monitoring for keeping eye on
various security attacks and disaster recovery for backup and recovery
during data loss.
There are different types of security techniques which are implemented to
make the cloud computing system more secure such as SSL (Secure Socket
Layer) Encryption, Multi Tenancy based Access Control, Intrusion Detection
System, firewalls, penetration testing, tokenization, VPN (Virtual Private
Networks), and avoiding public internet connections and many more
techniques.
But the thing is not so simple how we think, even implementation of number
of security techniques there is always security issues are involved for the
cloud system. As cloud system is managed and accessed over internet so a
lot of challenges arises during maintaining a secure cloud. Some cloud
security challenges are
Control over cloud data
Misconfiguration
Ever changing workload
Access Management
Disaster recovery
What Is CPU Virtualization In Cloud Computing?
A single CPU can run numerous operating systems (OS) via CPU
virtualization in cloud computing. This is possible by creating virtual machines
(VMs) that share the physical resources of the CPU. Each Virtual Machine
can’t see or interact with each other’s data or processes.
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.
Let’s take an example you have a powerful computer with a CPU, memory, and other
resources.
To start CPU virtualization, you use special software called a hypervisor. This is like the
conductor of a virtual orchestra.
The hypervisor creates virtual machines (VMs) – these are like separate, isolated
worlds within your computer.
The “virtual” resources of each VM include CPU, memory, and storage. It’s like having
multiple mini-computers inside your main computer.
Step 2: Allocating Resources
The hypervisor carefully divides the real CPU’s processing power among the VMs. It’s
like giving each VM its own slice of the CPU pie.
It also makes sure that each Virtual memory (VM) gets its share of memory, storage,
and other resources.
Step 3: Isolation and Independence
Within each Virtual Machine, you can install & run different operating systems (like
Windows, Linux) and applications.
The VM thinks it’s a real computer, even though it’s sharing the actual computer’s
resources with other VMs.
Step 5: Managing Workloads
The hypervisor acts as a smart manager, deciding when each VM gets to use the real
CPU.
It ensures that no VM takes up all the CPU time, making sure everyone gets their turn to
work.
Step 6: Efficient Use of Resources
Even though there’s only one physical CPU, each VM believes it has its own dedicated
CPU.
The hypervisor cleverly switches between VMs so that all the tasks appear to be
happening simultaneously.
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.
1) Overhead
The virtualization layer adds some overhead, which means a small portion of CPU power is used
to manage virtualization itself.
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.
A hypervisor is a software that allows us to construct and manage virtual machines. Hypervisors
are often referred to as virtual machine monitors (VMMs). A hypervisor allows a single host
computer to handle numerous guest virtual machines (VMs) by dividing resources such as
memory and computation. When utilized as a hypervisor, the hardware is referred to as the host,
and the multiple VMs that utilize its resources are referred to as guests.
The actual hardware is divided throughout the virtualization process such that each division
functions as a distinct, independent virtual computer. Here is when the hypervisor comes into
play. The hypervisor controls the scheduling of the resources assigned to each virtual machine
concerning the physical resources. It also distributes the resources to each virtual machine.
One of the key benefits of the hypervisor in cloud computing is that it allows the utilization of
more of a system's available resources and provides greater IT adaptability because the guest
virtual machines are not dependent on the host hardware. To put it another way, they can be
instantly swapped across servers. Multiple virtual machines can run on a single hardware server
because a hypervisor enables this through one of its unique features. Because a hypervisor allows
numerous virtual computers to operate on one physical server, it reduces:
Space
Energy
The hypervisor suggests a shared pool of resources, including a CPU, storage spaces and
memory, which may be shared across guest virtual machines by hiding the real hardware
components of the actual server from the divided virtual machines.
The hypervisor is thus in charge of managing and allocating shared physical resources from the
host computer to the guest virtual machines and scheduling processes to prevent resource
overuse by competing VMs. The hypervisor facilitates the function of guest VMs by
encapsulating and sharing host resources, allowing them to be free of host hardware and execute
their programmes.
Type 1 Hypervisor
Type 1 hypervisors run on physical hosts. Because of this, it is sometimes referred to as a bare
metal hypervisor. A Type 1 hypervisor is often installed on a physical host first, so it behaves
much like the host's operating system. This hypervisor is commonly seen in business data centers
and other server-based systems.
A Type 1 hypervisor thus has full access to the resources of the actual physical host, such as the
CPU, storage spaces, and network interface. Type 1 hypervisor functions similarly to a minimal
operating system running entirely on the host's hardware.
Type 2 Hypervisor
An operating system called the host is used by a Type 2 hypervisor. It is sometimes referred to as
a hosted hypervisor for this reason. So, before installing a Type 2 hypervisor, users must initially
set up a host OS on the actual host. It operates by separating the host and guest operating
systems. The hosting operating system, which is subsequently performed against the hardware, is
scheduled against virtual machine resources.
Type 2 hypervisors are often easy to configure and utilize. They are, therefore, more prevalent
among end users. Individuals who want to run different operating systems on their machines are
better suited for a type 2 hypervisor. A type 2 hypervisor, like other computer programmes,
works as a software layer on top of an operating system.
1. Requirements analysis
2. Design
3. Implementation
4. Coding and Testing
5. Maintenance
Advantages of Traditional Software Development
Well-Established Methodology: Traditional software development follows a well-
established methodology that is widely understood and documented.
Clear Requirements: Traditional software development relies on clear and detailed
requirements, which helps to ensure that the final product meets the customer’s needs.
Structured Approach: Traditional software development follows a structured approach,
with clear phases and milestones, which helps to ensure that the project stays on track.
Proven Success: Traditional software development has a proven track record of success and
is widely used in many industries.
Quality Control: Traditional software development typically includes extensive testing and
quality control processes, which helps to ensure that the final product is of high quality.
Disadvantages of Traditional Software Development
Slow Process: Traditional software development can be a slow process, with lengthy
planning and design phases.
Lack of Flexibility: Traditional software development can be inflexible, with changes to
requirements or design difficult to implement once development has begun.
High Cost: Traditional software development can be expensive, particularly if the project is
large or complex.
Limited Customer Involvement: Traditional software development often limits customer
involvement to the planning and design phases, which can result in a product that does not
fully meet their needs.
Limited Innovation: Traditional software development can be conservative and risk-averse,
which can limit innovation and the development of new ideas.
Understanding the ground for business is the vital need to step up the pace with technology.
When the organizations decide to cull the adoption of cloud, rather than swinging on ruthless
options, sinking the money and efforts of an individual.
Let’s discuss 5 key drivers, driving the need to escalate the business with the
implementation of cloud services:
Business Hike:
Analyzing your moves gives fabricated results. Thus, if you view a certain range of hike in
your business, it might be one of the cloud drivers. The growth in business is one of the
major obligations, that any organization could ever rate.
Therefore, based on the steps of the plan for driving the cloud services, it is prominent to boil
out the business strategy by the consideration of cloud adoption.
Balanced Cost Structure:
This is one of the most recognized factors, acting as a driver for cloud adoption. The number
of organizations has witnessed that employing the cloud bolsters in cutting the cost, resulting
in turning down of license for legacy systems.
Depending on the cloud for acquiring cloud storage services, reduction in office space and
attaining the quality, domes as the driver for cloud adoption.
Improvised Productivity:
When the organizations are adopting the means of fabricated technology, it is believed to
view tremendous change in the range of productivity.
Productivity is the factor, often considered as a driver of cloud adoption. If the cloud is
structured at a significant rate, it could produce imitable results, in favour of an organization.
Efficiency:
Improved Efficiency, with minimal errors, is one of the key drivers, propagating the reasons
for adoption of the cloud.
When the organization adopts any newer means of technology, it always has an underlying
motive to access the medium for fulfilling the business requirement, with a hike in business
and optimized cloud solutions.
Scalability:
The scalable service of the cloud is one the biggest key driver, acting in the favour of
organizations. The cloud-enabled services are swaddled in such a manner that one can scale
the range of services as per its requirement.
One can add on more number of services with customized features if the organization feels
ready to step up. Also, the organization can step down in terms of services, if it finds it as the
far-reaching target.
Cloud computing has a significant impact on users, both individuals and organizations. These
impacts include a wide range of benefits and advantages that have transformed the way people
access and use technology. Here are some key impacts of cloud computing on users:
Cloud Governance :
It is the set of policies or principles that act as the guidance for the adoption use, and
management of cloud technology services.
It is an ongoing process that must sit on top of existing governance models.
It is a set of rules you create to monitor and amend as necessary in order to control costs,
improve efficiency, and eliminate security risks.