0% found this document useful (0 votes)
13 views9 pages

Cloud Computin1

The document discusses key concepts in cloud computing, focusing on ACID properties in database management systems, hypervisors, and relational database management systems (RDBMS). It explains the importance of atomicity, consistency, isolation, and durability in transactions, as well as the differences between Type-1 and Type-2 hypervisors. Additionally, it covers the characteristics and advantages of Service-Oriented Architecture (SOA) and Google App Engine (GAE) as a platform for application development.

Uploaded by

Khuyaish Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views9 pages

Cloud Computin1

The document discusses key concepts in cloud computing, focusing on ACID properties in database management systems, hypervisors, and relational database management systems (RDBMS). It explains the importance of atomicity, consistency, isolation, and durability in transactions, as well as the differences between Type-1 and Type-2 hypervisors. Additionally, it covers the characteristics and advantages of Service-Oriented Architecture (SOA) and Google App Engine (GAE) as a platform for application development.

Uploaded by

Khuyaish Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Cloud Computing

1. ACID Properties in DBMS:


A transaction is a single logical unit of work that accesses and possibly modifies the contents of a database. Transactions
access data using read-and-write operations.
To maintain consistency in a database, before and after the transaction, certain properties are followed. These are

called ACID properties .

1) Atomicity
The term atomicity defines that the data remains atomic. It means if any operation is performed on the data, either it should be
performed or executed completely or should not be executed at all. It further means that the operation should not break in
between or execute partially. In the case of executing operations on the transaction, the operation should be completely executed
and not partially.
Example: If Remo has account A having $30 in his account from which he wishes to send $10 to Sheero's account, which is B. In
account B, a sum of $ 100 is already present. When $10 will
be transferred to account B, the sum will become $110. Now,
there will be two operations that will take place. One is the
amount of $10 that Remo wants to transfer will be debited
from his account A, and the same amount will get credited
to account B, i.e., into Sheero's account. Now, what happens
- the first operation of debit executes successfully, but the
credit operation, however, fails. Thus, in Remo's account A,
the value becomes $20, and to that of Sheero's account, it
remains $100 as it was previously present.

It can be seen that after crediting $10, the amount is still


$100 in account B. So, it is not an atomic transaction.
The side image shows that both debit and
credit operations are done successfully. Thus,
the transaction is atomic.

Thus, when the amount loses atomicity, then in


the bank systems, this becomes a huge issue,
and so the atomicity is the main focus in the
bank systems.

2) Consistency
The word consistency means that the value should remain preserved always. In DBMS, the integrity of the data should be
maintained, which means if a change in the database is made, it should remain preserved always. In the case of transactions, the
integrity of the data is very essential so that the database remains consistent before and after the transaction. The data should
always be correct.
Example:

There are three accounts, A, B, and C, where A is making a transaction


T one by one to both B & C. There are two operations that take place,
i.e., Debit and Credit. Account A firstly debits $50 to Account B, and the
amount in Account A is read as $300 by B before the transaction. After
the successful transaction T, the available amount in B becomes $150.
Now, A debits $20 to account C, and that time, the value read by C is
$250 (that is correct as a debit of $50 has been successfully done to B).
The debit and credit operation from account A to C has been done
successfully. We can see that the transaction is done successfully, and
the value is also read correctly. Thus, the data is consistent. In case the
value read by B and C is $300, which means that data is inconsistent

3) Isolation
The term 'isolation' means separation. In DBMS, Isolation is the property of a database where no data should affect the other one
and may occur concurrently. In short, the operation on one database should begin when the operation on the first database is
complete. It means if two operations are being performed on
two different databases, they may not affect the value of one
another. In the case of transactions, when two or more
transactions occur simultaneously, the consistency should
remain maintained. Any changes that occur in any particular
transaction will not be seen by other transactions until the
change is not committed in the memory.
Example: If two operations are concurrently running on two
different accounts, then the value of both accounts should not
get affected. The value should remain persistent. As you can
see in the below diagram, account A is making T1 and T2
transactions to account B and C, but both are executing
independently without affecting each other. It is known as
Isolation.

4) Durability
Durability ensures the permanency of something. In DBMS, the term durability ensures that the data after the successful execution
of the operation becomes permanent in the database. The durability of the data should be so perfect that even if the system fails
or leads to a crash, the database still survives. However, if gets lost, it becomes the responsibility of the recovery manager for
ensuring the durability of the database. For committing the values, the COMMIT command must be used every time we make
changes.

2. Hypervisor:
A hypervisor is a form of virtualization software used in Cloud hosting to divide and allocate the resources on various
pieces of hardware. The program which provides partitioning, isolation, or abstraction is called a virtualization hypervisor.
The hypervisor is a hardware virtualization technique that allows multiple guest operating systems (OS) to run on a single
host system at the same time. A hypervisor is sometimes also called a virtual machine manager(VMM).

Types of Hypervisors –

TYPE-1 Hypervisor:
The hypervisor runs directly on the underlying host system. It is also known as a “Native Hypervisor” or “Bare metal
hypervisor”. It does not require any base server operating system. It has direct access to hardware resources. Examples of
Type 1 hypervisors include VMware ESXi, Citrix XenServer, and Microsoft Hyper-V hypervisor.

Pros & Cons of Type-1 Hypervisor:


Pros: Such kinds of hypervisors are very efficient because they have direct access to the physical hardware resources(like
Cpu, Memory, Network, and Physical storage). This causes the empowerment of the security because there is nothing any
kind of the third party resource so that attacker couldn’t compromise with anything.
Cons: One problem with Type-1 hypervisors is that they usually need a dedicated separate machine to perform their
operation and to instruct different VMs and control the host hardware resources.
TYPE-2 Hypervisor:
A Host operating system runs on the underlying host system. It is also known as ‘Hosted Hypervisor”. Such kind of
hypervisors doesn’t run directly over the underlying hardware rather they run as an application in a Host system(physical
machine). Basically, the software is installed on an operating system. Hypervisor asks the operating system to make
hardware calls. An example of a Type 2 hypervisor includes VMware Player or Parallels Desktop. Hosted hypervisors are
often found on endpoints like PCs. The type-2 hypervisor is very useful for engineers, and security analysts (for checking
malware, or malicious source code and newly developed applications).
Pros & Cons of Type-2 Hypervisor:
Pros: Such kind of hypervisors allows quick and easy access to a guest Operating System alongside the host machine
running. These hypervisors usually come with additional useful features for guest machines. Such tools enhance the
coordination between the host machine and the guest machine.
Cons: Here there is no direct access to the physical hardware resources so the efficiency of these hypervisors lags in
performance as compared to the type-1 hypervisors, and potential security risks are also there an attacker can compromise
the security weakness if there is access to the host operating system so he can also access the guest operating system.

What is a cloud hypervisor?


Hypervisors are a key component of the technology that enables cloud computing since they are a software layer that
allows one host device to support several virtual machines at the same time. Hypervisors allow IT to retain control over a
cloud environment's infrastructure, processes, and sensitive data while making cloud-based applications accessible to
users in a virtual environment. Increased emphasis on creative applications is being driven by digital transformation and
increasing consumer expectations. As a result, many businesses are transferring their virtual computers to the cloud.

Benefits of hypervisors
Using a hypervisor to host several virtual machines has many advantages:
• Speed: The hypervisors allow virtual machines to be built instantly unlike bare-metal servers. This makes
provisioning resources for complex workloads much simpler.
• Efficiency: Hypervisors that run multiple virtual machines on the resources of a single physical machine often
allow for more effective use of a single physical server. O
• Flexibility: Since the hypervisor distinguishes the OS from the underlying hardware, the program no longer relies
on particular hardware devices or drivers, bare-metal hypervisors enable operating systems and their related
applications to operate on a variety of hardware types.
• Portability: Multiple operating systems can run on the same physical server thanks to hypervisors (host machine).
The hypervisor's virtual machines are portable because they are separate from the physical computer.

3.What is RDBMS?
RDBMS stands for Relational Database Management Systems. It is basically a program that allows us to create, delete, and
update a relational database. A Relational Database is a database system that stores and retrieves data in a tabular format
organized in the form of rows and columns. It is a smaller subset of DBMS which was designed by E.F Codd in the 1970s.

The major DBMSs like SQL, My-SQL, and ORACLE are all based on the principles of relational DBMS.
Relational DBMS owes its foundation to the fact that the values of each table are related to others. It has the capability to
handle larger magnitudes of data and simulate queries easily.
Relational Database Management Systems maintains data integrity by simulating the following features:
• Entity Integrity: No two records of the database table can be completely duplicate.
• Referential Integrity: Only the rows of those tables can be deleted which are not used by other tables.
Otherwise, it may lead to data inconsistency.
• User-defined Integrity: Rules defined by the users based on confidentiality and access.
• Domain integrity: The columns of the database tables are enclosed within some structured limits, based on
default values, type of data or ranges.
Characteristics of RDBMS
• Data must be stored in tabular form in DB file, that is, it should be organized in the form of rows and
columns.
• Each row of table is called record/tuple . Collection of such records is known as the cardinality of the table
• Each column of the table is called an attribute/field. Collection of such columns is called the arity of the
table.
• No two records of the DB table can be same. Data duplicity is therefore avoided by using a candidate
key. Candidate Key is a minimum set of attributes required to identify each record uniquely.
• Tables are related to each other with the help for foreign keys.
4. Differences:
No. SOAP REST

1) SOAP is a protocol. REST is an architectural style.

2) SOAP stands for Simple Object Access REST stands for REpresentational State Transfer.
Protocol.

3) SOAP can't use REST because it is a protocol. REST can use SOAP web services because it is a concept and can use any protocol
like HTTP, SOAP.

4) SOAP uses services interfaces to expose the REST uses URI to expose business logic.
business logic.

5) JAX-WS is the java API for SOAP web services. JAX-RS is the java API for RESTful web services.

6) SOAP defines standards to be strictly REST does not define too much standards like SOAP.
followed.

7) SOAP requires more bandwidth and REST requires less bandwidth and resource than SOAP.
resource than REST.

8) SOAP defines its own security. RESTful web services inherits security measures from the underlying transport.

9) SOAP permits XML data format only. REST permits different data format such as Plain text, HTML, XML, JSON etc.

10) SOAP is less preferred than REST. REST more preferred than SOAP.

5. Service-Oriented Architecture:
A Service-Oriented Architecture or SOA is a design pattern which is designed to build distributed systems that deliver services
to other applications through the protocol. It is only a concept and not limited to any programming language or platform.
What is Service?
A service is a well-defined, self-contained function that represents a unit of functionality. A service can exchange information from
another service. It is not dependent on the state of another service. It uses a loosely coupled, message-based communication
model to communicate with applications and other services.

Service Connections
The figure given below illustrates the service-oriented architecture. Service consumer sends a service request to the service
provider, and the service provider sends the service response to the service consumer. The service connection is understandable
to both the service consumer and service provider.
Service-Oriented Terminologies

o Services - The services are the logical entities defined by one or more published interfaces.
o Service provider - It is a software entity that implements a service specification.
o Service consumer - It can be called as a requestor or client that calls a service provider. A service consumer can be
another service or an end-user application.
o Service locator - It is a service provider that acts as a registry. It is responsible for examining service provider interfaces
and service locations.
o Service broker - It is a service provider that pass service requests to one or more additional service providers.

AD
Characteristics of SOA
o They are loosely coupled.
o They support interoperability.
o They are location-transparent
o They are self-contained.

Components of service-oriented architecture

Functional aspects

o Transport - It transports the service requests from the service consumer to the service provider and service responses
from the service provider to the service consumer.
o Service Communication Protocol - It allows the service provider and the service consumer to communicate with each
other.
o Service Description - It describes the service and data required to invoke it.
o Service - It is an actual service.
o Business Process - It represents the group of services called in a particular sequence associated with the particular rules
to meet the business requirements.
o Service Registry - It contains the description of data which is used by service providers to publish their services.

Quality of Service aspects


o Policy - It represents the set of protocols according to which a service provider make and provide the services to
consumers.
o Security - It represents the set of protocols required for identification and authorization.
o Transaction - It provides the surety of consistent result. This means, if we use the group of services to complete a
business function, either all must complete or none of the complete.
o Management - It defines the set of attributes used to manage the services.

Advantages of SOA
o Easy to integrate - In a service-oriented architecture, the integration is a service specification that provides
implementation transparency.
o Manage Complexity - Due to service specification, the complexities get isolated, and integration becomes more
manageable.
o Platform Independence - The services are platform-independent as they can communicate with other applications
through a common language.
o Loose coupling - It facilitates to implement services without impacting other applications or services.
o Parallel Development - As SOA follows layer-based architecture, it provides parallel development.
o Available - The SOA services are easily available to any requester.

6. GAE in cloud computing:


Google App Engine (GAE) is a platform-as-a-service (PaaS) offering by Google Cloud Platform (GCP) that allows developers to
build and deploy applications without having to manage the underlying infrastructure.
➢ Key Features:
1. Managed Infrastructure:
• GAE handles the underlying infrastructure, including servers, networks, and load balancing.
• Developers can focus on writing code while GAE takes care of scaling, patching, and monitoring.
2. Automatic Scaling:
• Applications automatically scale up and down based on traffic and resource needs.
• GAE adjusts the number of instances running your application in response to demand.
3. Support for Multiple Languages:
• GAE supports several programming languages including Python, Java, Node.js, PHP, Go, and Ruby.
• Flexible environment allows custom runtime using Docker containers.
4. Integrated Services:
• GAE integrates seamlessly with other Google Cloud services like Datastore, Cloud SQL, Cloud Storage, and
more.
• Built-in services for caching, searching, and user authentication.
5. Developer Productivity:
• Quick deployment from development to production.
• Built-in developer tools such as debugging, monitoring, and logging.
6. Security:
• Google-managed SSL certificates for secure HTTPs connections.

• Compliance with industry security standards and practices.


Types of Environments
1. Standard Environment:
• Predefined runtime environments optimized for specific programming languages.
• Fast scaling and easy deployment.
• Ideal for applications that need to handle sudden traffic spikes.
2. Flexible Environment:
• Customizable runtime environments using Docker containers.
• Suitable for applications that require custom libraries or frameworks.

Can handle longer request processing times.
Use Cases
1. Web Applications:
• Deploy scalable web applications that can handle variable traffic loads.
• Examples include e-commerce sites, social media platforms, and content management systems.
2. Mobile Backends:
• Create backend services for mobile applications with built-in scaling and security.
• Supports real-time data syncing and push notifications.
3. APIs and Microservices:
• Develop and deploy APIs and microservices architectures.
• GAE’s automatic scaling is particularly beneficial for microservices that need to scale independently.
4. Data Processing:

• Use GAE to handle background tasks and data processing jobs.

• Integration with Google Cloud’s data services for advanced analytics and processing.
Advantages
• Ease of Use: Simplifies the process of application development and deployment.
• Scalability: Automatic scaling without manual intervention.
• Integration: Seamless integration with a wide array of Google Cloud services.
• Cost Efficiency: Pay for what you use with detailed cost tracking and management.

7. Relation database engine:


In cloud computing, relational database engines are provided as managed services by various cloud providers. These services
allow users to create, manage, and scale relational databases without the need for managing the underlying infrastructure.
Here are the key aspects and examples of relational database engines in cloud computing:
➢ Key Aspects:
1. Managed Services:
• Cloud providers offer fully managed relational database services that handle routine tasks such as backups,
patching, scaling, and high availability.
• Users can focus on application development and data management instead of infrastructure maintenance.
2. Scalability:
• Cloud databases can scale vertically (increasing the size of the database instance) and horizontally (adding
more instances or sharding data) to handle varying workloads.
• Automatic scaling features adjust resources based on demand.
3. High Availability and Reliability:
• Built-in high availability with features like automatic failover, replication, and distributed architecture.
• Data is often replicated across multiple zones or regions to ensure durability and reliability.
4. Security:
• Cloud database services provide robust security features, including encryption at rest and in transit, identity
and access management, and compliance with industry standards.
5. Cost Efficiency:

• Pay-as-you-go pricing models where users pay for the resources they consume.

• Options for reserved instances or savings plans to reduce costs for long-term usage.
Examples of Relational Database Engines in Cloud Computing:
1. Amazon RDS (Relational Database Service):
• Supports multiple database engines including Amazon Aurora, MySQL, PostgreSQL, MariaDB, Oracle,
and SQL Server.
• Provides automated backups, software patching, monitoring, and scaling.
2. Google Cloud SQL:
• Fully managed relational database service for MySQL, PostgreSQL, and SQL Server.
• Offers automated backups, replication, and seamless integration with other Google Cloud services.
3. Azure SQL Database:
• Managed SQL Server database engine with features like built-in high availability, backup, and scaling.
• Offers various deployment options including single databases, elastic pools, and managed instances.
4. IBM Db2 on Cloud:
• Managed Db2 database service with options for high availability and disaster recovery.
• Provides advanced data management, analytics, and AI integration capabilities.
5. Oracle Autonomous Database:

• Fully managed database service that includes Oracle Database with automation for tuning, patching, and
scaling.

• Offers both OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) workloads.
Use Cases
1. Web Applications:
• Store and manage relational data for web applications, ensuring high availability and scalability to handle
varying traffic loads.
2. Enterprise Applications:
• Support enterprise workloads such as ERP (Enterprise Resource Planning) and CRM (Customer Relationship
Management) systems with robust performance and security features.
3. Data Warehousing:
• Use managed relational databases for data warehousing and analytics, integrating with tools for data
processing and business intelligence.
4. Mobile and Gaming:
• Backend data storage for mobile applications and games, providing real-time data access and high
concurrency support.
5. E-commerce:

• Manage product catalogs, customer information, and transaction data with reliable and scalable database
solutions.

8. Elasticity in cloud computing:


Elasticity in cloud computing refers to the ability of a system to dynamically adjust its resources in response to changing
workloads. This capability allows cloud services to scale up or down automatically based on demand, ensuring optimal resource
utilization and cost efficiency. Here are the key aspects of elasticity in cloud computing:
➢ Key Aspects of Elasticity:
1. Automatic Scaling:
• Cloud resources such as compute instances, storage, and network bandwidth can automatically scale up
(increase capacity) or scale down (decrease capacity) based on real-time demand.
• Automatic scaling ensures that applications have the necessary resources during peak times and can
reduce resources during low usage periods.
2. Horizontal and Vertical Scaling:
• Horizontal Scaling: Involves adding or removing instances or nodes to a system. This is commonly used
for web servers, databases, and other stateless applications.
• Vertical Scaling: Involves increasing or decreasing the power (CPU, RAM) of existing instances. This is
suitable for applications that require more power but cannot be easily distributed across multiple instances.
3. Elastic Load Balancing:
• Distributes incoming application traffic across multiple targets, such as EC2 instances, containers, and IP
addresses, to ensure no single resource is overwhelmed.
• Provides high availability and fault tolerance by automatically adjusting the load distribution based on the
current traffic.
4. Resource Management:
• Cloud providers offer tools and services to manage resource allocation and scaling policies, such as AWS
Auto Scaling, Google Cloud Autoscaler, and Azure Autoscale.
• Users can set scaling policies based on metrics like CPU utilization, memory usage, request rate, and
custom metrics.
5. Cost Efficiency:
• Elasticity helps in minimizing costs by allocating resources only when needed and deallocating them when they are not in
use.
• Pay-as-you-go pricing models allow users to pay only for the resources they actually use, avoiding over-provisioning and
under-utilization.
6. High Availability and Performance:

• Ensures applications remain available and responsive under varying loads by automatically scaling
resources.

• Prevents performance degradation during traffic spikes and maintains service levels.
Benefits of Elasticity
1. Improved Resource Utilization:
• Dynamically adjusts resource allocation to match workload demands, ensuring efficient use of resources.
2. Enhanced User Experience:
• Maintains application performance and availability during traffic fluctuations, leading to a better user
experience.
3. Operational Efficiency:
• Reduces the need for manual intervention in resource management, allowing IT teams to focus on strategic
tasks.
4. Cost Savings:
• Avoids the costs associated with over-provisioning and ensures resources are only paid for when in use.
Use Cases of Elasticity
1. Web Applications:
• Handles traffic spikes during events like sales promotions, news releases, or viral content by automatically
scaling resources to meet demand.
2. E-commerce Platforms:

• Adjusts resource allocation during peak shopping seasons or flash sales to ensure smooth and responsive
user experience.

You might also like