ccd notes
ccd notes
Distributed Systems:
It is a composition of multiple independent systems but all of
them are depicted as a single entity to the users. The purpose
of distributed systems is to share resources and also use them
effectively and efficiently. Distributed systems possess
characteristics
stics such as scalability, concurrency, continuous
availability, heterogeneity, and independence in failures. But
the main problem with this system was that all the systems
were required to be present at the same geographical location.
Mainframe computing:
computi
Mainframes which first came into existence in 1951 are
highly powerful and reliable computing machines. These are
responsible for handling large data such as massive input-
input
output operations. Even today these are used for bulk
processing tasks such as online transactions etc. These
systems have almost no downtime with high fault tolerance.
After distributed computing, these increased the processing
capabilities of the system.
Cluster computing:
In 1980s, cluster computing came as an alternative to
mainframe computing. Each machine in the cluster was
connected to each other by a network with high bandwidth.
These were way cheaper than those mainframe systems.
These were equally capable of high computations. Also, new
nodes could easily be added to the cluster if it was required.
Grid computing:
In 1990s, the concept of grid computing was introduced. It
means that different systems were placed at entirely different
geographical locations and these all were connected via the
internet. These systems belonged to different organizations
and thus the grid consisted of heterogeneous nodes. Although
it solved some problems but new problems emerged as the
distance between the nodes increased.
Virtualization:
It was introduced nearly 40 years back. It refers to the process
of creating a virtual layer over the hardware which allows the
user to run multiple instances simultaneously on the
hardware. It is a key technology used in cloud computing. It is
the base on which major cloud computing services such as
Amazon EC2, VMware vCloud, etc work on.
Web 2.0:
It is the interface through which the cloud computing services
interact with the clients. It is because of Web 2.0 that we have
interactive and dynamic web pages. It also increases
flexibility among web pages. Popular examples of web 2.0
include Google Maps, Facebook,
Service orientation:
It acts as a reference model for cloud computing. It supports
low-cost,
cost, flexible, and evolvable applications. Two important
concepts were introduced in this computin
computing model.
Utility computing:
It is a computing model that defines service
provisioning techniques for services such as compute
services along with other major services such as
storage, infrastructure, etc which are provisioned on a
pay-per-use
use basis.
basis
1. What is virtualisation ?
Advantages of Virtualization
More flexible and efficient allocation of resources.
Enhance development productivity.
It lowers the cost of IT infrastructure.
Remote access and rapid scalability.
High availability and disaster recovery.
Pay peruse of the IT infrastructure on demand.
Enables running multiple operating systems.
all vm will work independently
8. Cloud Migration
While it is very simple to release a new app in the
cloud, transferring an existing app to a cloud
computing environment is harder. 62% said their
cloud migration projects are harder than they
expected, according to the report. In addition, 64%
of migration projects took longer than expected and
55% surpassed their budgets. In particular,
organizations that migrate their applications to the
cloud reported migration downtime (37%), data
before cutbacks synchronization issues (40%),
migration tooling problems that work well (40%),
slow migration of data (44%), security
configuration issues (40%), and time-consuming
troubleshooting (47%). And to solve these
problems, close to 42% of the IT experts said that
they wanted to see their budget increases and that
around 45% of them wanted to work at an in- house
professional, 50% wanted to set the project longer,
56% wanted more pre-migration tests.
9. Vendor lock-in
The problem with vendor lock-in cloud computing
includes clients being reliant (i.e. locked in) on the
implementation of a single Cloud provider and not
switching to another vendor without any significant
costs, regulatory restrictions or technological
incompatibilities in the future. The lock-up situation
can be seen in apps for specific cloud platforms,
such as Amazon EC2, Microsoft Azure, that are not
easily transferred to any other cloud platform and
that users are vulnerable to changes made by their
providers to further confirm the lenses of a software
developer. In fact, the issue of lock-in arises when,
for example, a company decide to modify cloud
providers (or perhaps integrate services from
different providers), but cannot move applications
or data across different cloud services, as the
semantics of cloud providers' resources and services
do not correspond. This heterogeneity of cloud
semantics and APIs creates technological
incompatibility which in turn leads to challenge
interoperability and portability. This makes it very
complicated and difficult to interoperate, cooperate,
portability, handle and maintain data and services.
For these reasons, from the point of view of the
company it is important to maintain flexibility in
changing providers according to business needs or
even to maintain in-house certain components
which are less critical to safety due to risks. The
issue of supplier lock-in will prevent
interoperability and portability between cloud
providers. It is the way for cloud providers and
clients to become more competitive.
10. Privacy and Legal issues
Apparently, the main problem regarding cloud
privacy/data security is 'data breach.'
Cloud Computing: Unedited Version pg. 13
Infringement of data can be generically defined
as loss of electronically encrypted personal
information. An infringement of the information
could lead to a multitude of losses both for the
provider and for the customer; identity theft,
debit/credit card fraud for the customer, loss of
credibility, future prosecutions and so on. In the
event of data infringement, American law
requires notification of data infringements by
affected persons. Nearly every State in the USA
now needs to report data breaches to the
affected persons. Problems arise when data are
subject to several jurisdictions, and the laws on
data privacy differ. For example, the Data
Privacy Directive of the European Union
explicitly states that 'data can only leave the EU
if it goes to a 'additional level of security'
country.' This rule, while simple to implement,
limits movement of data and thus decreases data
capacity. The EU's regulations can be enforced.
Emulation Virtualization
Emulation virtualization, the next one in different types of
hardware virtualization, relies on a clever technique
known as hardware emulation. Through hardware
emulation, a virtual machine monitor, or hypervisor,
creates a simulated hardware environment within each
virtual machine.
This simulated environment replicates the characteristics
and behaviour of the desired hardware platform, even if
the underlying physical hardware is different. It's like
putting on a digital costume that makes the virtual
machine look and feel like it's running on a specific type
of hardware.
Advantages
But how does this aid in enabling hardware virtualization?
Well, the main advantage of emulation virtualization lies
in its flexibility and compatibility. It enables virtual
machines to run software that may be tied to a specific
hardware platform, without requiring the exact hardware
to be present.
This flexibility is particularly useful in scenarios where
legacy software or operating systems need to be preserved
or migrated to modern hardware. Emulation virtualization
allows these legacy systems to continue running on virtual
machines, ensuring their longevity and compatibility with
new hardware architectures.
It is a powerful tool in the virtualization magician's
arsenal, allowing us to transcend the limitations of
physical hardware and embrace a world of endless
possibilities.
Advantages
This direct communication eliminates the need for certain
resource-intensive tasks, such as hardware emulation,
which is required in full virtualization. By bypassing these
tasks, para-virtualization can achieve higher performance
and efficiency compared to other virtualization
techniques.
Para-virtualization shines in scenarios where performance
is paramount. It's like having a race car driver and a
skilled navigator working together to achieve the fastest
lap times. By leveraging the direct communication
between the guest operating system and the hypervisor,
para-virtualization minimises the overhead and latency
associated with traditional virtualization approaches.
This performance boost is particularly beneficial for high-
performance computing, real-time systems, and I/O-
intensive workloads. It's like having a turbocharger that
boosts the virtual machine's performance, enabling it to
handle demanding tasks with efficiency and precision.
Chapter2: Cloud
d Architecture and cloud service
management.
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.
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. 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.
Application –
Application in backend refers to a software or platform to
which client accesses. Means it provides the service in
backend as per the client requirement.
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.
Runtime Cloud-
Runtime cloud in backend provides the execution and
Runtime platform/environment to the Virtual machine.
Storage –
Storage in backend provides flexible and scalable storage
service and management of stored data.
Infrastructure –
Cloud Infrastructure in backend refers to the hardware and
software components of cloud like it includes servers,
storage, network devices, virtualization software etc.
Management –
Management in backend refers to management of backend
components like application, service, runtime cloud,
storage, infrastructure, and other security mechanisms etc.
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.
Internet –
Internet connection acts as the medium or a bridge
between frontend and backend and establishes the
interaction and communication between frontend and
backend.
Database– Database in backend refers to provide database
for storing structured data, such as SQL and NOSQL
databases. Example of Databases services include Amazon
RDS, Microsoft Azure SQL database and Google Cloud
SQL.
Networking– Networking in backend services that provide
networking infrastructure for application in the cloud,
such as load balancing, DNS and virtual private networks.
Analytics– Analytics in backend service that provides
analytics capabilities for data in the cloud, such as
warehousing, business intelligence and machine learning.
Disadvantages of PaaS
Data is not secure and is at big risk.
As data is stored both in local storage and cloud, there
are high chances of data mismatch while integrating
the data.
3) Software as a Service (SaaS): The third and final
layer of the cloud comes with a complete software
solution. Here, organizations rent the usage of a SaaS
application, and users connect to it by means of the
internet. The application, therefore, needs to be web-
based server so that it can be accessed from anywhere.
In this case, the service provider offers both the
software and the hardware
Advantages of SaaS
It is a cloud computing service category providing a
wide range of hosted capabilities and services. These
can be used to build and deploy web-based software
applications.
It provides a lower cost of ownership than on-premises
software. The reason is it does not require the purchase
or installation of hardware or licenses.
It can be easily accessed through a browser along a
thin client.
No cost is required for initial setup.
Low maintenance costs.
Installation time is less, so time is managed properly.
Disadvantages of SaaS
Low performance.
It has limited customization options.
It has security and data concerns.
Application Layer
1. The application layer, which is at the top of
the stack, is where the actual cloud apps are
located. Cloud applications, as opposed to
traditional applications, can take advantage
of the automatic-scaling functionality to
gain greater performance, availability, and
lower operational costs.
2. This layer consists of different Cloud
Services which are used by cloud users.
Users can access these applications
according to their needs. Applications are
divided into Execution
layers and Application layers.
3. In order for an application to transfer data,
the application layer determines whether
communication partners are available.
Whether enough cloud resources are
accessible for the required communication
is decided at the application layer.
Applications must cooperate in order to
communicate, and an application layer is in
charge of this.
4. The application layer, in particular, is
responsible for processing IP traffic
handling protocols like Telnet and FTP.
Other examples of application layer systems
include web browsers, SNMP protocols,
HTTP protocols, or HTTPS, which is
HTTP’s successor protocol.
Platform Layer
1. The operating system and application
software make up this layer.
2. Users should be able to rely on the platform
to provide them with Scalability,
Dependability, and Security
Protection which gives users a space to
create their apps, test operational processes,
and keep track of execution outcomes and
performance. SaaS application
implementation’s application layer
foundation.
3. The objective of this layer is to deploy
applications directly on virtual machines.
4. Operating systems and application
frameworks make up the platform layer,
which is built on top of the infrastructure
layer. The platform layer’s goal is to lessen
the difficulty of deploying programmers
directly into VM containers.
5. By way of illustration, Google App Engine
functions at the platform layer to provide
API support for implementing storage,
databases, and business logic of ordinary
web apps.
Infrastructure Layer
1. It is a layer of virtualization where physical
resources are divided into a collection of
virtual resources using virtualization
technologies like Xen, KVM, and VMware.
2. This layer serves as the Central Hub of
the Cloud Environment, where resources
are constantly added utilizing a variety of
virtualization techniques.
3. A base upon which to create the platform
layer. constructed using the virtualized
network, storage, and computing resources.
Give users the flexibility they want.
4. Automated resource provisioning is made
possible by virtualization, which also
improves infrastructure management.
5. The infrastructure layer sometimes referred
to as the virtualization layer, partitions the
physical resources using virtualization
technologies like Xen, KVM, Hyper-V,
and VMware to create a pool of compute
and storage resources.
6. The infrastructure layer is crucial to cloud
computing since virtualization technologies
are the only ones that can provide many
vital capabilities, like dynamic resource
assignment.
Datacenter Layer
In a cloud environment, this layer is
responsible for Managing Physical
Resources such as servers, switches,
routers, power supplies, and cooling
systems.
Providing end users with services requires
all resources to be available and managed in
data centers.
Physical servers connect through high-speed
devices such as routers and switches to the
data center.
In software application designs, the division
of business logic from the persistent data it
manipulates is well-established. This is due
to the fact that the same data cannot be
incorporated into a single application
because it can be used in numerous ways to
support numerous use cases. The
requirement for this data to become a
service has arisen with the introduction of
microservices.
A single database used by many
microservices creates a very close coupling.
As a result, it is hard to deploy new or
emerging services separately if such
services need database modifications that
may have an impact on other services. A
data layer containing many databases, each
serving a single microservice or perhaps a
few closely related microservices, is needed
to break complex service interdependencies.
TYPES OF SLA:
Service-level agreement provides a framework within
which both seller and buyer of a service can pursue a
profitable service business relationship. It outlines the
broad understanding between the service provider and
the serviceconsumer for conducting business and
forms the basis for maintaining a mutually beneficial
relationship. From a legal perspective, the necessary
terms and conditions that bind the service provider to
provide services continually to the service consumer
are formally defined in SLA.
There are two types of SLAs from the perspective of
application hosting.
1. Infrastructure SLA
2.Application SLA
Types of SLA:
Application SLA.
In the application co-location hosting model, the
server capacity is available to the applications based
saolely on their resource demands.Hence, the service
providers are flexible in allocating and de-allocating
computing resources among the co-located
applications. Therefore, the service providers are also
responsible for ensuring to meet their customer’s
application SLOs. For example, an enterprise can
have the following application SLA with a service
provider for one of its application, as shown in Table
Each SLA goes through a sequence of steps starting
from identification
fication of terms and conditions, activation
and monitoring off the stated terms and conditions, and
eventual termination of contract once the hosting
relationship ceases to exist. Such a sequence of steps is
called SLA life cycle and consists of the following five
phases:
1. Contract definition
finition
2. Publishing and discovery
3. Negotiation
4. Operationalization
5.De-commissioning
commissioning
SLA is a legal, formal and negotiated document that
defines the service in terms of quantitative and
qualitative metrics. The metrics which is involved in
SLA should be proficient of being measured on a
consistent basis, and the SLA should be evaluated by
that metrics. SLA plays a role in the life cycle of the
service. SLA cannot guarantee that the consumer can
access the service as described in the SLA document.
In future our work is focused on developing a
approach to certify that the service is provided
according the specified level of quality which is
mentioned in the SLA.
1. Storage
One of the first components of a data pipeline is
storage.
Storage provides the foundation for all other
components, as it sets up the pipeline for success. It
simply acts as a place to hold big data until the
necessary tools are available to perform more in
in-depth
tasks. The main function of storage is to provide cost
cost-
effective large-scale
scale storage that scales as the
organization’s data grows.
2. Preprocessing
The next component of a data pipeline is
preprocessing.
This part of the process prepares big data for analysis
and creates a controlled environment for downstream
processes.
The goal of preprocessing is to “clean up” data, which
means correcting dirty inputs, unraveling messy data
structures, and transforming unstructured information
into a structured format (like putting all customer
names in the same field rather than keeping them in
separate fields).It also includes identifying and tagging
relevant subsets of the data for different types of
analysis.data pipelines
3. Analysis
The third component of a data pipeline is analysis,
which provides useful insights into the collected
information and makes it possible to compare new data
with existing big data sets. It also helps organizations
identify relationships between variables in large
datasets to eventually create models that represent
real-world processes.
4. Applications
The fourth component of a data pipeline is
applications, which are specialized tools that provide
the necessary functions to transform processed data
into valuable information. Software such as business
intelligence (BI) can help customers quickly make
applications out of their data.For example, an
organization may use statistical software to analyze big
data and generate reports for business intelligence
purposes.
5. Delivery
The final component of a data pipeline is delivery,
which is the final presentation piece used to
deliver valuable information to those who need it.
For example, a company may use web-based
reporting tools, SaaS applications or a BI solution
to deliver the content to
CHAPTER5: VIRTUALIZATION &
CONTAINERIZATION ON &ELASTICITY IN
CLOUD COMPUTING:
Advantages of Docker
1.Speed – The speed of Docker containers compared to
a virtual machine is very fast.
The time required to build a container is very fast
because they are tiny and lightweight.
2.Portability – The applications that are built inside
docker containers are extremely portable. These
portable applications can easily be moved anywhere as
a single element and their performance also remains
the same.
ELT ETL
As all components are in one system, As ETL uses staging area, extra time is
loading is done only once required to load the data
It is cost effective and available to all Not cost effective for small and medium
business using SaaS solution business
The data transformed is used by data The data transformed is used by users
scientists and advanced analysts reading report and SQL coders
Creates ad hoc views.Low cost for Views are created based on multiple
building and maintaining scripts.Deleting view means deleting data