Professional Documents
Culture Documents
Notes CC Unit 04
Notes CC Unit 04
Amazon Web Services (AWS), launched in 2006, represents a pivotal moment in the history
of cloud computing, marking the entry of Amazon into the cloud services market. As a pioneer
in cloud infrastructure services, AWS offered scalable and cost-effective cloud computing
solutions to businesses and individuals. Among its suite of services, Amazon EC2 (Elastic
Compute Cloud) and Amazon S3 (Simple Storage Service) emerged as the most popular,
fundamentally changing how companies approach computing and data storage. EC2 provided
resizable compute capacity in the cloud, allowing users to run applications on Amazon's
computing environment. S3 offered secure, durable, and highly-scalable object storage, making
it easier for developers to store and retrieve any amount of data from anywhere on the web.
These services not only demonstrated the practicality and efficiency of cloud computing but
also set the stage for the rapid expansion of the cloud industry, with AWS leading the way as a
cornerstone of Amazon's business and a major driver of innovation in the tech world.
The Amazon Elastic Compute Cloud or EC2 permits users to pay for what they use. Servers
are ‘increased’ on demand and are ‘decreased’ when usage ceases. These instances are easily
virtual machines based on the peak of the Xen VM that are organized by Amazon’s interior
asset administration facility. The VMs are better renowned as elastic compute units (ECU),
which are pre-packaged and can be ‘ordered’ and one can easily choose and select what one
desires and pay for it after one is done. Pricing is done on the kind of ECU and size of data
moved or the time used.
• Reliability: The services run in Amazon’s battle-tested, highly obtainable data centres
that run Amazon’s own business.
• Security: Basic security and authentication methods are obtainable out of the packing
box and customers can enhance them as wanted by layering his/her application-specific
security on the apex of the services.
• Cost benefit: No fastened charges or support costs.
• Ease of development: Simple APIs allow us to harness the full power of this virtual
infrastructure and libraries, obtainable in most extensively employed programming
languages.
• Elasticity: Scale the computing supplies based on demand.
• Cohesiveness: The four-quintessence building-blocks using which services (storage,
computing, messaging and datasets) are created from scratch currently work well and
give a whole result through a large type of request for paid job domains.
• Community: Tap into the vibrant and dynamic customer community that is propelling
the extensive adoption of these web services and is bringing ahead sole requests for
paid jobs assembled on this infrastructure.
There are two grades of support accessible for users of Amazon Web Services:
Amazon S3 (Storage):
• Web service interface for data storage and retrieval.
• Securely stores data of any kind, accessible from anywhere over the internet.
• Offers unlimited storage with object sizes ranging from 1 byte to 5 GB.
• Guarantees high availability with a 99.9% uptime commitment.
1. Schemaless Data Model: SimpleDB utilized a schemaless data model, allowing developers
to store and query structured data without the need to define a rigid schema beforehand. This
flexibility made it well-suited for rapidly evolving applications and use cases where the data
structure might change frequently.
2. Automated Data Replication and High Availability: SimpleDB automatically replicated data
across multiple availability zones within a region to ensure high availability and durability.
This built-in redundancy helped protect against data loss and ensured that applications
remained accessible even in the event of hardware failures or network issues.
3. Simple Query Language: SimpleDB offered a simple query language similar to SQL
(Structured Query Language) for querying and manipulating data. Developers could perform
queries using SELECT, INSERT, UPDATE, and DELETE operations to retrieve, add, modify,
and delete data from the database.
5. Integration with Other AWS Services: SimpleDB seamlessly integrated with other AWS
services, such as Amazon EC2 (Elastic Compute Cloud) and Amazon S3 (Simple Storage
Service), making it easy to build scalable and reliable cloud-based applications that leverage
multiple AWS resources.
Despite its early popularity and adoption by developers, Amazon SimpleDB was eventually
deprecated by AWS in 2019, and new customers were no longer accepted. Existing customers
were given time to migrate their applications to alternative database solutions offered by AWS,
such as Amazon DynamoDB, which provides similar scalability and features but with
additional capabilities and improved performance.
These points highlight key features and developments for Amazon EC2 (Elastic Compute
Cloud) within AWS (Amazon Web Services):
Service grade affirmation for EC2: A commitment to providing a high level of service quality
and reliability for EC2 users.
Microsoft Windows in beta pattern on EC2: Availability of Microsoft Windows operating
system on EC2 instances, still in beta testing phase.
Microsoft SQL Server in beta pattern on EC2: Support for Microsoft SQL Server database on
EC2 instances, also in beta.
Designs for an AWS administration console: Plans to develop or enhance a management
console for easier administration of AWS resources.
Designs for load balancing, autoscaling, and cloud monitoring services: Initiatives to improve
AWS services with load balancing (for distributing traffic), autoscaling (for adjusting resources
based on demand), and cloud monitoring (for tracking usage and performance).
Amazon Elastic Compute Cloud (Amazon EC2) is a world wide web service that presents
resizable computing capability that is utilized to construct and host software systems.
Following is the list of the major constituents of EC2 which are briefed.
Storage
When utilizing EC2, data have to be stored. The two most routinely utilized storage kinds are:
1. Amazon Simple Storage Service (Amazon S3)
2. Amazon Elastic Block Store (Amazon EBS) volumes
Amazon S3
Amazon S3 is storage for the internet. It presents a straightforward World Wide Web service
interface that endows us to shop and get any amount of data from any location on the web. Amazon
EBS presents the instances with continual, block-level storage. Amazon EBS volumes are vitally
hard computer disks that can adhere to a running instance. Volumes are particularly matched for
submissions that need a database, a document system or get access to raw block-level storage.
One can adhere multiple volumes to an instance. To hold exact duplicate, a client can conceive a
snapshot of the volume. The user can furthermore detach a volume from an instance and adhere
it to a distinct one.
Databases
The submission running on EC2 might require a database.
The following are two widespread modes of applying a database for the application:
1. Use Amazon Relational Database Service (Amazon RDS), which endows us to effortlessly
get an organized relational database in the cloud.
2. Launch an instance of a database AMI and use that EC2 instance as the database.
Amazon RDS boasts the benefit of managing database administration jobs, for example,
patching the programs, endorsing, saving backups, etc.
Amazon CloudWatch
PROF. KAILASH N. TRIAPATHI, DEPARTMENT OF COMPUTER ENGINEERING 5
ISBM College of Engineering, Pune
Department of Computer Engineering
Cloud Computing:310254(C)
Amazon CloudWatch is a web service that presents real-time supervising to Amazon’s EC2
clients on their asset utilization, such as CPU, computer disk and network. CloudWatch does
not supply any recollection, computer disk space or load average metrics. The data is
aggregated and supplied through the AWS administration console. It can furthermore be
accessed through online tools and web APIs. The metrics assembled by Amazon CloudWatch
endow auto-scaling characteristics to dynamically add or eliminate EC2 instances. The clients
are ascribed by the number of supervising instances.
● Accelerated deployment: Amazon RDS decreases friction, when going from task
development to deployment.
● Can use straightforward API calls to get access to the capabilities of a production-ready
relational database without being concerned about infrastructure provisioning or establishing
and sustaining database software.
● Managed: Amazon RDS manages generic database administration tasks.
● Compatible: One can easily get native access to a MySQL or Oracle database server with
Amazon RDS.
● Scalable: With a straightforward API call, clients can scale the compute and storage assets
accessible to the database to rendezvous enterprise desires and submission load.
● Reliable: Amazon RDS sprints on the identical highly dependable infrastructure utilized by
other AWS. Amazon RDS’s automated backup service mechanically organizes the backup
the database and lets us refurbish at any point.
● Secure: Amazon RDS presents World Wide Web service interfaces to confi gure fi rewall
backgrounds that command network get access to the database instances and permits SSL
(Secured Socket Layer) attachments to the DB Instances.
● Inexpensive: In terms of deployment.
1. Windows Azure (a functioning system supplying scalable compute and storage facilities).
2. SQL Azure (a cloud-based, scale-out type of SQL server).
3. Windows Azure AppFabric (an assemblage of services carrying applications both in the
cloud and on-premise).
Windows Azure AppFabric: It provides a variety of services that assist consumers to attach
users and on-premise applications to cloud-hosted applications, organize authentication and
apply data administration and associated characteristics, like caching.
SQL Azure: It is vitally an SQL server supplied as a service in the cloud. The platform
furthermore encompasses a variety of administration services that permit users to control all
these assets (resources), either through a web-based portal or programmatically. In most
situations, there is a REST-based API that can be utilized to characterize how the services will
work. Most administration jobs that can be presented through the web portal can furthermore
be accomplished utilizing the API.
Windows Azure is Microsoft's cloud platform for running Windows applications and storing
data, operating on Microsoft data center machines. It allows clients to run applications and
manage data on Microsoft-owned, Internet-accessible machines, shifting from traditional
software provision to a service-based model. This platform supports various applications,
including enterprise services and consumer-targeted solutions.
Key uses include:
Windows Azure is the application service in cloud which allows Microsoft data centres
to host and run applications. It presents a cloud functioning system called Windows Azure that
assists as a runtime for the applications and presents a set of services that permits development,
administration and hosting of applications off-premises. All Azure services and applications
created using them run on peak of Windows Azure.
1. Compute which presents a computation environment with Web Role, Worker Role and
VM Role.
2. Storage which focuses on supplying scalable storage (Blobs, non-relational Tables and
Queues) for large-scale needs.
3. Fabric which values high-speed attachments and swaps to interconnect nodes comprising
some servers. Fabric resources, applications and services running are organized by the
Windows Azure Fabric Controller service.
4.10 Geosciences:
Cloud computing has increasingly become a fundamental resource for geosciences, a field that
often deals with vast amounts of data and complex computational models. The application of
cloud computing in geosciences addresses several challenges by providing scalable
computational resources, storage, and advanced data analytics capabilities. This technology
supports a wide range of applications from climate modeling and seismic analysis to resource
management and environmental monitoring. Cloud computing is applied in various geoscience
domains:
1. Climate Modeling and Meteorology
Data Storage and Analysis: Cloud platforms store and process large datasets from satellites,
weather stations, and climate models, enabling researchers to analyze trends, predict weather
patterns, and study climate change effects.
High-Performance Computing (HPC): Cloud-based HPC allows for running complex climate
models that require extensive computational resources, facilitating more accurate and faster
simulations.
2. Seismic Data Processing and Analysis
Seismic Exploration: In oil and gas exploration, cloud computing is used to process and analyze
seismic data, helping to identify potential resource deposits. The scalability of cloud resources
allows for the rapid processing of large seismic datasets.
Earthquake Research: Researchers use cloud computing to simulate earthquake scenarios,
analyze seismic activity, and develop early warning systems by processing data from seismic
networks in real time.
3. Remote Sensing and Satellite Imagery
Data Management: Cloud platforms host and manage vast amounts of remote sensing data from
satellites, drones, and aircraft, making it accessible to researchers and decisionmakers.
The integration of cloud computing into social networking underscores a broader trend towards
more scalable, efficient, and innovative digital services. As cloud technologies continue to
evolve, they will undoubtedly drive further advancements in how social networks operate and
how users interact online.
4.11.3 Google
Google Cloud Platform (GCP), which is Google's suite of cloud computing services. Google
Cloud provides a wide range of services that enable developers and businesses to build, deploy,
and scale applications, websites, and services using the same infrastructure and data analytics
As cloud computing continues to evolve, cloud applications are becoming more sophisticated,
incorporating technologies like AI and machine learning to offer more personalized and
efficient user experiences. This evolution is driving significant changes in how businesses
operate and how individuals interact with technology in their daily lives.
4.12.1 Google App Engine.
Google App Engine (GAE) is a fully managed, Platform as a Service (PaaS) offering from
Google Cloud Platform that enables developers to build, deploy, and scale web applications
and APIs quickly and seamlessly. It abstracts away the infrastructure, allowing developers to
Web Applications: Ideal for building and hosting web applications, from simple websites to
complex, dynamic web portals.
Mobile Backends: Developers can use App Engine to create scalable backends for mobile
applications, providing APIs and services like user authentication, push notifications, and data
storage.
Microservices Architecture: Supports the development and deployment of microservices,
allowing teams to build, deploy, and scale services independently.
IoT Applications: Can serve as a backend for IoT applications, processing data from devices
and integrating with analytics and storage solutions.
Eommerce Sites: With its scalability and integration with Google’s analytics and machine
learning services, App Engine is wellsuited for ecommerce platforms requiring dynamic
scaling and personalized user experiences.
Getting Started with Google App Engine
Google App Engine represents a powerful and efficient platform for developers looking to
leverage cloud technologies to build scalable and resilient web and mobile applications, taking
advantage of Google’s vast infrastructure and services ecosystem.
4.13 Overview of OpenStack architecture.
OpenStack is an open-standard and free platform for cloud computing. Mostly, it is deployed
as IaaS (Infrastructure-as-a-Service) in both private and public clouds where various virtual
servers and other types of resources are available for users. This platform combines irrelated
components that networking resources, storage resources, multi-vendor hardware processing
tools, and control diverse throughout the data center. Various users manage it by the command-
line tools, RESTful web services, and web-based dashboard.
In 2010, OpenStack began as the joint project of NASA and Rackspace Hosting. It was handled
by the OpenStack Foundation which is a non-profit collective entity developed in 2012
September for promoting the OpenStack community and software. 50+ enterprises have joined
this project.
Architecture of OpenStack
OpenStack contains a modular architecture along with several code names for the components.
Nova (Compute)
Nova is a project of OpenStack that facilitates a way for provisioning compute instances. Nova
supports building bare-metal servers, virtual machines. It has narrow support for various
system containers. It executes as a daemon set on the existing Linux server's top for providing
that service.
This component is specified in Python. It uses several external libraries of Python such as SQL
toolkit and object-relational mapper (SQLAlchemy), AMQP messaging framework (Kombu),
and concurrent networking libraries (Eventlet). Nova is created to be scalable horizontally. We
procure many servers and install configured services identically, instead of switching to any
large server.
Managing end-to-end performance needs tracking metrics through Swift, Cinder, Neutron,
Keystone, Nova, and various other types of services. Additionally, analyzing RabbitMQ which
is applied by the services of OpenStack for massage transferring. Each of these services
produces their log files. It must be analyzed especially within the organization-level
infrastructure.
It handles every networking facet for VNI (Virtual Networking Infrastructure) and various
authorization layer factors of PNI (Physical Networking Infrastructure) in an OpenStack
platform. OpenStack networking allows projects to build advanced topologies of the virtual
network. It can include some of the services like VPN (Virtual Private Network) and a firewall.
Keystone (Identity)
Keystone is a service of OpenStack that offers shared multi-tenant authorization, service
discovery, and API client authentication by implementing Identity API of OpenStack.
Commonly, it is an authentication system around the cloud OS. Keystone could integrate with
various directory services such as LDAP. It also supports standard password and username
credentials, Amazon Web Services (AWS) style, and token-based systems logins. The catalog
of keystone service permits API clients for navigating and discovering various cloud services
dynamically.
Glance (Image)
The glance service (image) project offers a service in which users can discover and upload data
assets. These assets are defined to be applied to many other services. Currently, it includes
metadata and image definitions.
Images
Image glance services include retrieving, registering, and discovering VM (virtual machine)
images. Glance contains the RESTful API which permits querying of virtual machine metadata
and retrieval of an actual image as well. Virtual machine images are available because Glance
Metadata Definitions
Image hosts a metadefs catalog. It facilitates an OpenStack community along with a path to
determine several metadata valid values and key names that could be used for OpenStack
resources.
Rack space, in 2009 August, started the expansion of the forerunner to the OpenStack Object
Storage same as a complete substitution for the product of Cloud Files. The starting
development team includes nine developers. Currently, an object storage enterprise
(SwiftStack) is the prominent developer for OpenStack Swift with serious contributions from
IBM, HP, NTT, Red Hat, Intel, and many more.
Horizon (Dashboard)
Horizon is a canonical implementation of the Dashboard of OpenStack which offers the web-
based UI to various OpenStack services such as Keystone, Swift, Nova, etc. Dashboard shifts
with a few central dashboards like a "Settings Dashboard", a "System Dashboard", and a "User
Dashboard". It envelopes Core Support. The horizon application ships using the API
abstraction set for many projects of Core OpenStack to facilitate a stable and consistent
collection of reusable techniques for developers. With these abstractions, the developers
working on OpenStack Horizon do not require to be familiar intimately with the entire
OpenStack project's APIs.
Heat (Orchestration)
Heat can be expressed as a service for orchestrating more than one fusion cloud application
with templates by CloudFormation adaptable Query API and OpenStack-native REST API.
Mistral (Workflow)
Mistral is the OpenStack service that handles workflows. Typically, the user writes the
workflow with its language according to YAML. It uploads the definition of the workflow to
Mistral by the REST API. After that, the user can begin the workflow manually by a similar
API. Also, it configures the trigger for starting the workflow on a few events.
Ceilometer (Telemetry)
OpenStack Ceilometer (Telemetry) offers a Single Point of Contact for many billing systems,
facilitating each counter they require to build customer billing around every future and current
component of OpenStack. The counter delivery is auditable and traceable. The counter should
be extensible easily for supporting new projects. Also, the agents implementing data collections
must be separated from the overall system.
Trove (Database)
Zaqar (Messaging)
Zaqar is a service to provide a multi-tenant cloud messaging facility for many web developers.
It offers a complete RESTful API that developers could apply for sending messages among
several components of the mobile and SaaS applications by applying a lot of patterns of
communication. This API is a powerful messaging engine developed with security and
scalability in mind. Some other components of OpenStack can develop with Zaqar for various
surface events and to interact with many guest agents that execute in an over-cloud layer.
Designate (DNS)
Designate can be defined as a REST API multi-tenant to manage DNS. It facilitates DNS as
the Service. This component is compatible with various backend technologies such as BIND
and PowerDNS. It doesn't offer the DND service as its goal is to interface using a DNS server
(existing) for managing DNS zones based on per tenant.
Searchlight (Search)
Searchlight offers consistent and advanced search capabilities around many cloud services of
OpenStack. It accomplishes it by offloading the queries of user search through other API
servers of OpenStack by indexing the data into the ElasticSearch. This component is being
developed into Horizon. Also, it offers a command-line interface.