KEMBAR78
Unit 3 Cloud - Computing | PDF | Cloud Computing | Software As A Service
0% found this document useful (0 votes)
8 views26 pages

Unit 3 Cloud - Computing

Infrastructure as a Service (IaaS) allows customers to outsource IT infrastructure like servers and storage on a pay-as-you-go basis, enabling dynamic scaling and reducing the need for organizations to maintain their own infrastructure. IaaS is offered in public, private, and hybrid cloud models, providing resources such as virtual machines and networking components while clients manage their applications and data. Advantages include shared infrastructure and flexibility, while disadvantages encompass security concerns and potential vendor lock-in.

Uploaded by

sahil128821
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)
8 views26 pages

Unit 3 Cloud - Computing

Infrastructure as a Service (IaaS) allows customers to outsource IT infrastructure like servers and storage on a pay-as-you-go basis, enabling dynamic scaling and reducing the need for organizations to maintain their own infrastructure. IaaS is offered in public, private, and hybrid cloud models, providing resources such as virtual machines and networking components while clients manage their applications and data. Advantages include shared infrastructure and flexibility, while disadvantages encompass security concerns and potential vendor lock-in.

Uploaded by

sahil128821
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/ 26

Infrastructure as a Service | IaaS

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.

Apart from these resources, the IaaS also offers:

 Virtual machine disk storage


 Virtual local area network (VLANs)
 Load balancers
 IP addresses
 Software bundles
All of the above resources are made available to end user via server virtualization. Moreover,
these resources are accessed by the customers as if they own them.
IaaS delivers cloud computing infrastructure, including servers, network, operating systems,
and storage, through virtualization technology. These cloud servers are typically provided to
the organization through a dashboard or an API, giving IaaS clients complete control over the
entire infrastructure. IaaS clients can still access their servers and storage directly, but it is all
outsourced through a “virtual data center” in the cloud. IaaS clients are responsible for
managing aspects such as applications, runtime, OSes, middleware, and data. However,
providers of the IaaS manage the servers, hard drives, networking, virtualization, and storage.

IaaS provider provides the following services -

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

IaaS allows multiple users to share the same physical 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.

3. Focus on the core business

IaaS providers focus on the organization's core business rather than on IT infrastructure.

4. Full control over computing resources through administrative access to VMs


IaaS allows the customer to access computing resources through administrative access to
virtual machines in the following manner:
 Customer issues administrative command to cloud provider to run the virtual
machine or to save data on cloud server.
 Customer issues administrative command to virtual machines they owned to
start web server or to install new applications.
5. Flexible and efficient renting of computer hardware
IaaS resources such as virtual machines, storage devices, bandwidth, IP addresses, monitoring
services, firewalls, etc. are made available to the customers on rent. The payment is based upon
the amount of time the customer retains a resource. Also with administrative access to virtual
machines, the customer can run any software, even a custom operating system.
6. Portability, interoperability with legacy applications
It is possible to maintain legacy between applications and workloads between IaaS clouds. For
example, network applications such as web server or e-mail server that normally runs on
customer-owned server hardware can also run from VMs in IaaS cloud.
Disadvantages of IaaS

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.

2. Compatibility with legacy security vulnerabilities


Because IaaS offers the customer to run legacy software in provider's infrastructure, it exposes
customers to all of the security vulnerabilities of such legacy software.

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.

7. Data erase practices


The customer uses virtual machines that in turn use the common disk resources provided by
the cloud provider. When the customer releases the resource, the cloud provider must ensure
that next customer to rent the resource does not observe data residue from previous customer.

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.

Sify Technologies Sify IaaS Sify's cloud computing platform is powered by


HP's converged infrastructure. The vendor
offers all three types of cloud services: IaaS,
PaaS, and SaaS.

Tata InstaCompute InstaCompute is Tata Communications' IaaS


Communications offering. InstaCompute data centers are located
in Hyderabad and Singapore, with operations in
both countries.

DigitalOcean DigitalOcean to help developers, startups and small and


medium-sized businesses (SMBs) rapidly build,
deploy and scale applications to accelerate
innovation and increase productivity and agility.
You can choose from a wide array of IaaS, fully
managed PaaS, Managed Databases and
container based Kubernetes services to meet
your needs as you grow. DigitalOcean combines
the power of simplicity, community, open
source, and customer support so customers can
spend less time managing their infrastructure
and more time building innovative applications
that drive business growth.

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.

Platform as a Service | PaaS

Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily


create, test, run, and deploy web applications. You can purchase these applications from a cloud
service provider on a pay-as-per use basis and access them using the Internet connection. In
PaaS, back end scalability is managed by the cloud service provider, so end- users do not need
to worry about managing the 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.

Example: Google App Engine, Force.com, Joyent, Azure.

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

PaaS providers provide application frameworks to easily understand the application


development. Some popular application frameworks provided by PaaS providers are Node.js,
Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.

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.

Platform-as-a-Service offers the runtime environment for applications. It also offers


development and deployment tools required to develop applications. PaaS has a feature
of point-and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may
log on to these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor. For
example, an application written in Python against API of Google, and using App Engine of
Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the developers
and how it helps the end user to access business applications.
Advantages of PaaS
1. Lower administrative overhead
Customer need not bother about the administration because it is the responsibility of cloud
provider.
2. Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
Developers only need a PC and an internet connection to start building 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.

5. Prebuilt business functionality

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.

7. More current system software


It is the responsibility of the cloud provider to maintain software versions and patch
installations.

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:

Stand-alone development environments


The stand-alone PaaS works as an independent entity for a specific function. It does not
include licensing or technical dependencies on specific SaaS applications.
Application delivery-only environments
The application delivery PaaS includes on-demand scaling and application security.
Open platform as a service
Open PaaS offers an open source software that helps a PaaS provider to run applications.
Add-on development facilities
The add-on PaaS allows to customize the existing SaaS platform.
Popular PaaS Providers

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

Salesforce.com Faster implementation, Rapid scalability, CRM Services, Sales cloud, M


connectivity, Chatter.

Windows Azure Compute, security, IoT, Data Storage.

AppFog Justcloud.com, SkyDrive, GoogleDocs

Openshift RedHat, Microsoft Azure.

Cloud Foundry from Data, Messaging, and other services.


VMware
Software as a Service | SaaS

SaaS is also known as "On-Demand Software". It is a software distribution model in which


services are hosted by a cloud service provider. These services are available to end-users over
the internet so, the end-users do not need to install any software on their devices to access these
services.

There are the following services provided by SaaS providers -

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.

Document Management - SaaS document management is a software application offered by a


third party (SaaS providers) to create, manage, and track electronic documents.

Example: Slack, Samepage, Box, and Zoho Forms.

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.

Software-as–a-Service (SaaS) model allows to provide software application as a service to


the end users. It refers to a software that is deployed on a host service and is accessible via
Internet. There are several SaaS applications listed below:

 Billing and invoicing system


 Customer Relationship Management (CRM) applications
 Help desk applications
 Human Resource (HR) solutions
Some of the SaaS applications are not customizable such as Microsoft Office Suite. But SaaS
provides us Application Programming Interface (API), which allows the developer to
develop a customized application.
Advantages of SaaS
1. Modest software tools
The SaaS application deployment requires a little or no client side software installation, which
results in the following benefits:

 No requirement for complex software packages at client side


 Little or no risk of configuration at client side
 Low distribution cost

2. Efficient use of software licenses


The customer can have single license for multiple computers running at different locations
which reduces the licensing cost. Also, there is no requirement for license servers because the
software runs in the provider's infrastructure.
3. Centralized management and data
The cloud provider stores data centrally. However, the cloud providers may store data in a
decentralized manner for the sake of redundancy and reliability.
SaaS services are offered as a one-to-many model means a single instance of the application is
shared by multiple users.
4. Platform responsibilities managed by providers
All platform responsibilities such as backups, system maintenance, security, hardware refresh,
power management, etc. are performed by the cloud provider. The customer does not need to
bother about them. Software as a service removes the need for installation, set-up, and daily
maintenance for the organizations. The initial set-up cost for SaaS is typically less than the
enterprise software. SaaS vendors are pricing their applications based on some usage
parameters, such as a number of users using the application. So SaaS does easy to monitor and
automatic updates.
5. Multitenant solutions
Multitenant solutions allow multiple users to share single instance of different resources in
virtual isolation. Customers can customize their application without affecting the core
functionality.

6. Less hardware required for SaaS

The software is hosted remotely, so organizations do not need to invest in additional hardware.

7. No special software or hardware versions required

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

1. Browser based risks


If the customer visits malicious website and browser becomes infected, the subsequent access
to SaaS application might compromise the customer's data.
To avoid such risks, the customer can use multiple browsers and dedicate a specific browser to
access SaaS applications or can use virtual desktop while accessing the SaaS applications.
2. Network dependence
The SaaS application can be delivered only when network is continuously available. Also
network should be reliable but the network reliability cannot be guaranteed either by cloud
provider or by the customer.
3. Lack of portability between SaaS clouds
Transferring workloads from one SaaS cloud to another is not so easy because work flow,
business logics, user interfaces, support scripts can be provider specific.

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.

Open SaaS and SOA


Open SaaS uses those SaaS applications, which are developed using open source
programming language. These SaaS applications can run on any open source operating system
and database. Open SaaS has several benefits listed below:

 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

Salseforce.com On-demand CRM solutions

Microsoft Office Online office suite


365

Google Apps Gmail, Google Calendar, Docs, and sites

NetSuite ERP, accounting, order management, CRM, Professionals Services Automation (PSA)
e-commerce applications.

GoToMeeting Online meeting and video-conferencing software

Constant Contact E-mail marketing, online survey, and event marketing

Oracle CRM CRM applications

Workday, Inc Human capital management, payroll, and financial management.


What Are the Trends in Cloud Computing?

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.

Key Trends in Cloud Computing

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.

1. The Growth of Serverless Computing


Serverless computing is a cloud approach in which the customer doesn’t have to deal with
infrastructure administration and server provisioning. Instead, the cloud service providers
manage the supporting infrastructure and distribute computing power following the demand.
Serverless computing provides many advantages to a business:
 You don’t pay a set price for a certain amount of bandwidth or storage. Instead, you
can go with the pay-as-you-go model.
 The internal team is not responsible for managing the servers.
 The team can spend more time developing and developing new concepts because
internal developers don’t have to provision complicated server clusters.
 There is no risk of under- or over-provisioning because serverless platforms scale
autonomously without any help from the internal staff.
Serverless computing is rapidly growing at a quick pace. Expect to see more businesses use
serverless solutions in the upcoming year as it offers yet another way to improve team agility
and save costs.
The difference between generic cloud computing and serverless is based on how resources
are allocated — serverless is a subset of PaaS used by companies who need a lot of
processing power, but only in short bursts. Compiling software code is one example.
This lets growing businesses take advantage of greater computing power at a reasonable cost,
while large organizations can roll out new digital services without adding to the burden of
their already-stretched IT teams.

2. Even More Adoptions for AI and ML


All machine learning and AI platforms need a lot of processing power and data bandwidth,
and the cloud is the most cost-effective approach to get these resources. AI and ML
technologies complement each other.
 AI guides cloud IT services in managing data while obtaining reliable insights into
user behavior, trends, preferences, etc.
 Cloud computing security increases the affordability and accessibility of AI.
Cloud computing plays a vital role in creating two emerging AI technologies.
Creative Algorithms:
These software tools use machine learning to produce everything from artificial data to works
of art. These algorithms can also use to train different AI systems.
Language Modeling:
Programs that understand human languages more accurately are a technology that is expected
to change how companies communicate with their customers.
Cloud computing for business will be crucial in delivering these services to customers and
providing the necessary infrastructure for programs with high computational demands.
Not only big companies profit from AI’s usage of cloud network services. Cloud computing
service models will become a popular entry point for high-end AI solutions among small and
low-tech organizations. Start-ups and businesses with smaller resources could not use
advanced ML and AI functionalities without the cloud.
Moreover, cloud computing service providers have allowed companies of all sizes and sorts
to create AI/ML products. Since these AI/ML platforms demand a lot of processing power
and bandwidth, cloud migration optimization will unavoidably play a significant role in that
expansion.

3. Deploying to the Edge

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.

4. Kubernetes and Blockchain


Kubernetes is a technology that offers a tamper-proof digital ledger that can record data
without depending on a centralized authority. Blockchain technology is a game-changer but
has scaling issues, particularly massive data management and storage.
A blockchain environment can scale quickly with the help of Kubernetes (K8s), an open-
source technology for automating deployments and scaling programs. With several containers
running for a single essential service, K8s also offer high availability.
Enterprises will carry on pushing the boundaries of blockchain and K8s in 2022 since they
work so well together.
Containers offer businesses a dedicated, cloud-based space where they can build, test and
deploy new applications.
Cloud native: Cloud-native applications allow businesses to build and deliver new
software to their customers more quickly than traditional monolithic cloud
applications, which run on a single hardware or software hub. Instead, cloud-native
applications are built as a network of distributed containers and microservices. That
means multiple teams can work on new features at the same time, accelerating the
pace of innovation.

5. More Focus on Cloud Security


The main barriers to cloud adoption continue to be issues about compliance, privacy, and
integration problems. In response, cloud service providers are providing enhanced security
features.
In the feature, we will witness huge demand for:
Secure Access Service Edge (SASE): SASE allows users to stably manage and regulate
access across end-user devices, on-premise IT, and cloud apps.
Cloud-Based Disaster Recovery (DR): A business can use cloud disaster recovery to back
up data and create a standby IT environment that can take over if the primary infrastructure
fails.
What is Azure
Windows Azure, which was later renamed as Microsoft Azure in 2014, is a cloud computing
platform, designed by Microsoft to successfully build, deploy, and manage applications and
services through a global network of datacenters.

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.

Azure as PaaS (Platform as a Service)


As the name suggests, a platform is provided to clients to develop and deploy software. The
clients can focus on the application development rather than having to worry about hardware
and infrastructure. It also takes care of most of the operating systems, servers and networking
issues.
Pros
 The overall cost is low as the resources are allocated on demand and servers are
automatically updated.
 It is less vulnerable as servers are automatically updated and being checked for
all known security issues. The whole process is not visible to developer and thus
does not pose a risk of data breach.
 Since new versions of development tools are tested by the Azure team, it
becomes easy for developers to move on to new tools. This also helps the
developers to meet the customer’s demand by quickly adapting to new versions.
Cons
 There are portability issues with using PaaS. There can be a different
environment at Azure, thus the application might have to be adapted
accordingly.
Azure as IaaS (Infrastructure as a Service)
It is a managed compute service that gives complete control of the operating systems and the
application platform stack to the application developers. It lets the user to access, manage and
monitor the data centers by themselves.
Pros
 This is ideal for the application where complete control is required. The virtual
machine can be completely adapted to the requirements of the organization or
business.
 IaaS facilitates very efficient design time portability. This means application can
be migrated to Windows Azure without rework. All the application
dependencies such as database can also be migrated to Azure.
 IaaS allows quick transition of services to clouds, which helps the vendors to
offer services to their clients easily. This also helps the vendors to expand their
business by selling the existing software or services in new markets.
Cons
 Since users are given complete control they are tempted to stick to a particular
version for the dependencies of applications. It might become difficult for them
to migrate the application to future versions.
 There are many factors which increases the cost of its operation. For example,
higher server maintenance for patching and upgrading software.
 There are lots of security risks from unpatched servers. Some companies have
welldefined processes for testing and updating on-premise servers for security
vulnerabilities. These processes need to be extended to the cloud-hosted IaaS
VMs to mitigate hacking risks.
 The unpatched servers pose a great security risk. Unlike PaaS, there is no
provision of automatic server patching in IaaS. An unpatched server with
sensitive information can be very vulnerable affecting the entire business of an
organization.
 It is difficult to maintain legacy apps in Iaas. It can be stuck with the older
version of the operating systems and application stacks. Thus, resulting in
applications that are difficult to maintain and add new functionality over the
period of time.

How Azure works

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:

1. Authenticate the User


2. It will Authorize the user, i.e., it will check whether the user is allowed to do the
requested task.
3. It will look into the database for the availability of space based on the resources and
pass the request to an appropriate Azure Fabric controller to execute the request.

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.

o Geographies: It is a discrete market, typically contains two or more regions, that


preserves data residency and compliance boundaries.
o Azure regions: A region is a collection of data centers deployed within a defined
perimeter and interconnected through a dedicated regional low-latency network.

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.

Big Data and Big Compute


The large amount of data can be stored and managed using Windows Azure. Azure offers
HDInsight which is Hadoop-based service. Organizations often need to manage large amount
of data which is necessarily not relational database management. Hadoop is a prominent
technology used these days. Thus, Azure offers Hadoop service on their platform for clients.
The term ‘Big Compute’ refers to high performing computations. This is achieved by executing
code on many machines at the same time.
Messaging
Windows Azure offers two options for handling the interactions between two apps. One falls
under storage component of the service and is called 'Message Queues'. The other one comes
under the app service and is called 'Service Bus'. The messages can be sent to initiate
communication among different components of an application or among different applications
using these two options.

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++.

You might also like