Unit 3 Cloud - Computing
Unit 3 Cloud - Computing
Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud
computing platform. It allows customers to outsource their IT infrastructures such as servers,
networking, processing, storage, virtual machines, and other resources. Customers access these
resources on the Internet using a pay-as-per use model.
In traditional hosting services, IT infrastructure was rented out for a specific period of time,
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients
can dynamically scale the configuration to meet changing requirements and are billed only for
the services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the
IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies
that the infrastructure resides at the customer-premise. In the case of public cloud, it is located
at the cloud computing platform vendor's data center, and the hybrid cloud is a combination of
the two in which the customer selects the best of both public cloud or private cloud.
1. Compute: Computing as a Service includes virtual central processing units and virtual
main memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as
routers, switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Advantages of IaaS
1. Shared infrastructure
2. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use basis. The users are
required to pay for what they have used.
IaaS providers focus on the organization's core business rather than on IT infrastructure.
1. Security
Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide
100% security. While the customer is in control of the apps, data, middleware, and the OS
platform, security threats can still be sourced from the host or other virtual machines (VMs).
Insider threat or system vulnerabilities may expose data communication between the host
infrastructure and VMs to unauthorized entities.
3. Internal resources and training. Additional resources and training may be required
for the workforce to learn how to effectively manage the infrastructure. Customers
will be responsible for data security, backup, and business continuity. Due to
inadequate control into the infrastructure however, monitoring and management of the
resources may be difficult without adequate training and resources available inhouse.
4. Virtual Machine sprawl
The VM can become out-of-date with respect to security updates because IaaS allows the
customer to operate the virtual machines in running, suspended and off state. However, the
provider can automatically update such VMs, but this mechanism is hard and complex.
5. Robustness of VM-level isolation
IaaS offers an isolated environment to individual customers through hypervisor. Hypervisor is
a software layer that includes hardware support for virtualization to split a physical computer
into multiple virtual machines.
6. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the customers might face
problem related to vendor lock-in.
Examples of IaaS
Vendor Iaas Solution Details
Amazon Web Elastic, Elastic Compute The cloud computing platform pioneer, Amazon
Services Cloud (EC2) MapReduce, offers auto scaling, cloud monitoring, and load
Route 53, Virtual Private balancing features as part of its portfolio.
Cloud, etc.
Netmagic Netmagic IaaS Cloud Netmagic runs from data centers in Mumbai,
Solutions Chennai, and Bangalore, and a virtual data
center in the United States. Plans are underway
to extend services to West Asia.
Rackspace Cloud servers, cloud files, The cloud computing platform vendor focuses
cloud sites, etc. primarily on enterprise-level hosting services.
Reliance Reliance Internet Data RIDC supports both traditional hosting and
Communications Center cloud services, with data centers in Mumbai,
Bangalore, Hyderabad, and Chennai. The cloud
services offered by RIDC include IaaS and
SaaS.
Cisco Metacloud Cisco Nexus Dashboard Manage your network with an intuitive and
interactive web interface connecting you to the
Meraki industry’s leading cloud IT platform.
Dashboard
Microsoft Azure Azure OpenAI General availability of Azure OpenAI
Service expands access to large, advanced AI
models with added enterprise benefits
Google Compute Compute Engine Secure and customizable compute service that
Engine (GCE) lets you create and run virtual machines on
Google’s infrastructure.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to support
the web application life cycle.
PaaS providers provide the Programming languages, Application frameworks, Databases, and
Other tools
1. Programming languages
PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java, PHP,
Ruby, Perl, and Go.
2. Application frameworks
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis
to communicate with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the
applications.
3. Simplified Development
PaaS allows developers to focus on development and innovation without worrying about
infrastructure management.
4. Scalable solutions
It is very easy to scale the resources up or down automatically, based on their demand.
Applications deployed can scale from one to thousands of users without any changes to the
applications.
Some PaaS vendors also provide already defined business functionality so that users can avoid
building everything from very scratch and hence can directly start the projects only.
6. Instant community
PaaS vendors frequently provide online communities where the developer can get the ideas to
share experiences and seek advice from others.
Disadvantages of PaaS
1. Lack of portability between PaaS clouds
Although standard languages are used, yet the implementations of platform services may vary.
For example, file, queue, or hash table interfaces of one platform may differ from another,
making it difficult to transfer the workloads from one platform to another. Vendor lock-in
One has to write the applications according to the platform provided by the PaaS vendor, so
the migration of an application to another PaaS vendor would be a problem.
2. Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not located within the
walls of the company, there can be a risk in terms of privacy of data.
3. Integration with the rest of the systems applications
It may happen that some applications are local, and some are in the cloud. So there will be
chances of increased complexity when we want to use data which in the cloud with the local
data.
Characteristics
Here are the characteristics of PaaS service model:
PaaS offers browser based development environment. It allows the developer
to create database and edit the application code either via Application
Programming Interface or point-and-click tools.
PaaS provides built-in security, scalability, and web service interfaces.
PaaS provides built-in tools for defining workflow, approval processes, and
business rules.
It is easy to integrate PaaS with other applications on the same platform.
PaaS also provides web services interfaces that allow us to connect the
applications outside the platform.
PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the following
diagram:
The below table shows some popular PaaS providers and services that are provided by them -
Providers Services
Google App Engine (GAE) App Identity, URL Fetch, Cloud storage client library, Logservice
Business Services - SaaS Provider provides various business services to start-up the business.
The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer
Relationship Management), billing, and sales.
Social Networks - As we all know, social networking sites are used by the general public, so
social networking service providers use SaaS for their convenience and handle the general
public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail services, many
e-mail providers offering their services using SaaS.
The software is hosted remotely, so organizations do not need to invest in additional hardware.
All users will have the same version of the software and typically access it through the web
browser. SaaS reduces IT support costs by outsourcing hardware and software maintenance
and support to the IaaS provider.
8. Multidevice support
SaaS services can be accessed from any device such as desktops, laptops, tablets, phones, and
thin clients.
9. API Integration
SaaS services easily integrate with other software or services through standard APIs.
Disadvantages of SaaS
4. Security
Actually, data is stored in the cloud, so security may be an issue for some users. However,
cloud computing is not more secure than in-house deployment.
5. Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-user,
there is a possibility that there may be greater latency when interacting with the application
compared to local deployment. Therefore, the SaaS model is not suitable for applications whose
demand response time is in milliseconds.
Switching SaaS vendors involves the difficult and slow task of transferring the very large data
files over the internet and then converting and importing them into another SaaS also.
No License Required
Low Deployment Cost
Less Vendor Lock-in
More portable applications
More Robust Solution
The following diagram shows the SaaS implementation based on SOA:
Cloud Orchestration is the process of automating the tasks needed to manage connections and
operations of workloads on private and public clouds. Cloud orchestration technologies
integrate automated tasks and processes into a workflow to perform specific business functions.
Directory software is a tool for building and managing any sort of online directory or
listing website. It's typically used by nonprofits, clubs, associations, chambers of commerce
or any other organization that has a membership base
Popular SaaS Providers
The below table shows some popular SaaS providers and services that are provided by them -
Provider Services
NetSuite ERP, accounting, order management, CRM, Professionals Services Automation (PSA)
e-commerce applications.
Cloud computing trends demonstrate how this technology is changing the way businesses
operate and how they allocate their IT budgets. Significantly, public cloud users (who share
computing resources) no longer have to purchase and maintain hardware and other
infrastructure or manage IT upgrades and software patches — that responsibility now falls on
their cloud vendors. This leaves businesses and their IT teams able to focus on core business
objectives like innovation, new product or service offerings and hiring new talent. It also
helps to level the playing field for growing businesses that had been unable to afford the steep
price tag of advanced technologies they can now access through a subscription.
With access to on-demand computing power, highly scalable platforms and a more flexible
approach to IT spending, the cloud has gone from emerging technology to an indispensable IT
resource.
Edge computing: This form of cloud computing brings data processing — collection,
storage and analysis — closer to the sources generating the data, rather than a centralized
cloud. This reduces latency and powers the use of edge devices. Edge computing is the
driving force behind smart devices, such as smartphones, smartwatches and smart cars, and
the interconnection of all the data generated by these technologies. Gartner predicts 75% of
business-generated data will be created and processed outside of a centralized cloud by 2025.
Edge computing is a new method of processing data that doesn’t conduct activities inside a
data center. Instead, processing and storing data occurs on specialized hardware at or close to
the network’s edge.
Every edge server has different storage capabilities, networking, and computing,
allowing it to perform the following tasks:
Security
Network switching and routing
Load balancing
In place of cloud computing, edge computing is not a viable alternative. Instead, edge and
cloud computing solutions work best together, and this trend is already apparent in 2022.
Using both cloud and edge technology allows IT environments to benefit from the cloud
while also offering:
Reduced bandwidth use
Data processing almost instantly
Low to no response time lag
Reduced data transmission rates
In 2022, edge computing will be crucial as more businesses attempt to boost efficiency by
linking edge devices with cloud integration. At least 40% of organizations will look to
incorporate Secure Access Service Edge (SASE) into their toolchains so that you can
anticipate a rise in SASE as well. With the help of this security architecture, a business may
monitor and regulate access to cloud applications and services, on-premises infrastructure,
and end-user devices. SASE guides in upholding a high standard of security and compliance,
two of the primary issues with edge computing.
Microsoft Azure is a growing set of cloud computing services created by Microsoft that hosts
your existing applications, streamline the development of a new application, and also enhances
our on-premises applications. It helps the organizations in building, testing, deploying, and
managing applications and services through Microsoft-managed data centers.
It is essential to understand the internal workings of Azure so that we can design our
applications on Azure effectively with high availability, data residency, resilience, etc.
Microsoft Azure is completely based on the concept of virtualization. So, similar to other
virtualized data center, it also contains racks. Each rack has a separate power unit and network
switch, and also each rack is integrated with a software called Fabric-Controller. This Fabric-
controller is a distributed application, which is responsible for managing and monitoring
servers within the rack. In case of any server failure, the Fabric-controller recognizes it and
recovers it. And Each of these Fabric-Controller is, in turn, connected to a piece of software
called Orchestrator. This Orchestrator includes web-services, Rest API to create, update, and
delete resources.
When a request is made by the user either using PowerShell or Azure portal. First, it will go to
the Orchestrator, where it will fundamentally do three things:
Combinations of racks form a cluster. We have multiple clusters within a data center, and we
can have multiple Data Centers within an Availability zone, multiple Availability zones within
a Region, and multiple Regions within a Geography.
Azure covers more global regions than any other cloud provider, which offers the scalability
needed to bring applications and users closer around the world. It is globally available in 50
regions around the world. Due to its availability over many regions, it helps in preserving data
residency and offers comprehensive compliance and flexible options to the customers.
o Availability Zones: These are the physically separated location within an Azure region.
Each one of them is made up of one or more data centers, independent configuration.
Azure Services
o Compute services: It includes the Microsoft Azure Cloud Services, Azure Virtual
Machines, Azure Website, and Azure Mobile Services, which processes the data on the
cloud with the help of powerful processors.
o Data services: This service is used to store data over the cloud that can be scaled
according to the requirements. It includes Microsoft Azure Storage (Blob, Queue Table,
and Azure File services), Azure SQL Database, and the Redis Cache.
o Application services: It includes services, which help us to build and operate our
application, like the Azure Active Directory, Service Bus for connecting distributed
systems, HDInsight for processing big data, the Azure Scheduler, and the Azure Media
Services.
o Network services: It helps you to connect with the cloud and on-premises
infrastructure, which includes Virtual Networks, Azure Content Delivery Network, and
the Azure Traffic Manager.
The services provided by Microsoft Azure are PaaS and IaaS. Many programming languages
and frameworks are supported by it.
Azure Components
Categorizing the services would help you understand Azure better. These categories are termed
as ‘Components’ in this tutorial. The Individual components are explained with detailed
pictures in subsequent chapters.
Compute / Execution Models
This is the interface for executing the application, which is one of the basic functions of Azure.
As seen in the above image, there are different models such as Web App, Virtual Machine,
Mobile Service, Cloud Service, and Batch Service. These models can be used either separately
or in combination as per the requirement.
Data Management
Data management can be done by using SQL server Database component or the simple data
storage module offered by Windows Azure. SQL server database can be used for relational
database. The storage module can store unrelated tables (without foreign key or any relation)
and blobs. Blobs include binary data in the form of images, audio, video, and text files.
Networking
Azure traffic manager routes the requests of a user intelligently to an available datacenter. The
process involves finding the nearest datacenter to the user who makes the request for web
application, and if the nearest datacenter is not available due to various reasons, the traffic
manager deviates the request to another datacenter. However, rules are set by the owner of the
application as to how a traffic manager should behave.
The virtual network is another feature that is part of networking in services offered by Windows
Azure. The virtual network allows a network between local machines at your premise and
virtual machine in Azure Datacenter. IPs to virtual machines can be assigned in a way that
makes them appear to be residing in your own premise. The virtual network is set up using a
Virtual Private Network (VPN) device.
The following image shows how these two features actually look in Azure portal.
Caching
Microsoft Azure offers two kinds of caching which are in-memory Caching and Content
Delivery Network (CDN) for caching frequently accessed data and improves the application
performance. CDN is used to cache the blob data that will be accessed faster by users around
the world.
Identity and Access
This component is about management of users, authentication and authorization. Active
directory stores the information of users accessing the application and also the organization’s
information. It can synchronize with the related information on local machines residing on
premises. Multifactor Access (MFA) service is built to address the security concerns such as
only the right user can access the application.
Mobile Service
Windows Azure offers a very easy platform to develop mobile application. You can simply
start using mobile development tools after logging into your account. You don’t have to write
big custom codes for the mobile application if you use this service. The push notifications can
be sent, data can be stored and users can be authenticated in very less time.
Backup
The site recovery service replicates the data at secondary location as well as automates the
process of recovery of data in case of data outage. Similarly Azure backup can be used to
backing up the on premise data in clouds. Data is stored in encrypted mode in both the cases.
Windows Azure offers a very effective and reliable backup service to clients and ensures they
don’t face inconvenience in case of hardware failures.
Media
This service addresses multiple concerns related to uploading media and making it available to
end users easily. Users can manage tasks related to the media like encoding, ad insertion,
streaming, etc. easily.
Commerce
Windows Azure offers the opportunity to users to buy or sell applications and data through
their platform. The applications are put in the marketplace or Azure store from where they can
be accessed and bought by other users.
Software Development Kit (SDK)
Azure applications can be produced by the developers in various programming languages.
Microsoft currently provides language-specific SDKs for Java, .NET, PHP, Node.js, Ruby, and
Python. There is also a general Windows Azure SDK that supports language, such as C++.