AZURE
AZURE
COMPUTE
NETWORKING
STORAGE
WEB
Azure App Service enables you to build and host web apps, background jobs, mobile
backends, and RESTful APIs in the programming language of your choice without managing
infrastructure. It offers auto-scaling and high availability, supports both Windows and Linux,
and enables automated deployments from GitHub, Azure DevOps, or any Git repo to
support a continuous deployment model. This platform as a service (PaaS) allows you to
focus on the website and API logic while Azure takes care of the infrastructure to run and
scale your web applications.
Types of Web Apps: Web apps, API Apps, Web Jobs, and Mobile Apps.
Web Apps: App Service includes full support for hosting web apps using ASP.NET, ASP.NET
Core, Java, Ruby, Node.js, PHP, or Python. You can choose either Windows or Linux as the
host operating system.
Azure Functions:
Azure Functions can be either stateless (the default) where they behave as if they’re
restarted every time they respond to an event), or stateful (called “Durable Functions”)
where a context is passed through the function to track prior activity.
Logic App:
Azure Logic Apps are similar to Functions - both enable you to trigger logic based on an
event. Where Functions execute code, Logic Apps execute workflows built from predefined
logic blocks. They are specifically designed to automate your business processes.
You create Logic App workflows using a visual designer on the Azure Portal or in Visual
Studio. The workflows are persisted as a JSON file with a known workflow schema.
There are five concepts in Azure Event Grid that let you get going: • Events - What
happened. • Event sources - Where the event took place. • Topics - The endpoint where
publishers send events. • Event subscriptions - The endpoint or built-in mechanism to route
events, sometimes to more than one handler. • Subscriptions are also used by handlers to
intelligently filter incoming events. • Event handlers - The app or service reacting to the
event.
Azure offers three services that assist with delivering event messages throughout a solution:
• Event Grid • Event Hubs • Service Bus
Event Grid uses a publish-subscribe model. Publishers emit events, but have no expectation
about which events are handled. Subscribers decide which events they want to handle.
Event Grid is deeply integrated with Azure services and can be integrated with third-party
services. It simplifies event consumption and lowers costs by eliminating the need for
constant polling. Event Grid efficiently and reliably routes events from Azure and non-Azure
resources.
Azure Event Hubs is a big data pipeline. It facilitates the capture, retention, and replay of
telemetry and event stream data. The data can come from many concurrent sources. Event
Hubs allows telemetry and event data to be made available to a variety of stream-
processing infrastructures and analytics services. It is available either as data streams or
bundled event batches. This service provides a single solution that enables rapid data
retrieval for real-time processing as well as repeated replay of stored raw data. It can
capture the streaming data into a file for processing and analysis.
Service Bus is intended for traditional enterprise applications. These enterprise applications
require transactions, ordering, duplicate detection, and instantaneous consistency. Service
Bus enables cloud-native applications to provide reliable state transition management for
business processes. When handling high-value messages that cannot be lost or duplicated,
use Azure Service Bus. Service Bus also facilitates highly secure communication across
hybrid cloud solutions and can connect existing on-premises systems to cloud solutions.
Service Bus is a brokered messaging system. It stores messages in a “broker” (for example, a
queue) until the consuming party is ready to receive the messages.
What is HD Insight?
Azure HDInsight, a full managed Cloud Hadoop and Spark offering.
HDInsight is a cloud service that makes it easy, fast, and cost-effective to process massive
amounts of data. HDInsight also supports a broad range of scenarios, like extract, transform,
and load (ETL); data warehousing; machine learning; and IoT.
Azure Networking:
The networking services in Azure provide a variety of networking capabilities that can be
used together or separately:
Connectivity services: Connect Azure resources and on-premises resources using any or a
combination of these networking services in Azure:
• Virtual Network (VNet) • Virtual WAN • ExpressRoute • VPN Gateway • Azure DNS • Azure
Bastion
Services that provide connectivity between Azure resources, connectivity from an on-
premises network to Azure resources, and branch to branch connectivity in Azure.
Azure Virtual Wide Area Network (WAN) is a networking service that provides optimized
and automated branch connectivity to, and through, Azure. Azure regions serve as hubs that
you can choose to connect your branches to. You can leverage the Azure backbone to also
connect branches and enjoy branch-to-VNet connectivity.
Application Protection Services: The networking services in Azure that help protect your
network resources.
Application Delivery Services:
Global load balancing services such as Traffic Manager and Front Door distribute traffic from
your end users across your regional backends, across clouds or even your hybrid on-premise
services. Global load balancing routes your traffic to your closest service backend and reacts
to changes in service reliability or performance to maintain always-on, maximal
performance for your users.
Regional load balancing services such as Standard Load Balancer or Application Gateway
provide the ability to distribute traffic within virtual networks (VNETs) across your virtual
machines (VMs) or zonal service endpoints within a region.
Azure Front Door: a service that offers a single global entry point for customers accessing
web apps, APIs, content and cloud services.
Application Gateway: uses Azure Load Balancer at the transport level and then applies the
routing rules to support layer-7 (HTTP) load balancing.
Azure Traffic Manager: load balancer for geographically distributed datacenters. Azure
Traffic Manager uses DNS to redirect requests to an appropriate geographical location
endpoint. Traffic Manager does not see the traffic passing between the client and the
service. It simply redirects the request based on most appropriate endpoints.
Subnet: Virtual networks can be segmented into one or more subnets. Subnets enable you
to segment the virtual network into one or more sub-networks and allocate a portion of the
virtual network’s address space to each subnet. You can then deploy Azure resources in a
specific subnet.
You can secure resources within subnets using Network Security Groups. Users interact with
the web tier directly, so that VM has a public IP address along with a private IP address.
Users don’t interact with the application or data tiers, so these VMs each have a private IP
address only.
Azure Application Gateway: If all your traffic is HTTP, a potentially better option is to use
Azure Application Gateway. Application Gateway is a load balancer designed for web
applications. It uses Azure Load Balancer at the transport level (TCP) and applies
sophisticated URL-based routing rules to support several advanced scenarios.
With Application Gateway, you can make routing decisions based on additional attributes of
an HTTP request, such as URI path or host headers. For example, you can route traffic based
on the incoming URL. So if /images is in the incoming URL, you can route traffic to a specific
set of servers (known as a pool) configured for images. If /video is in the URL, that traffic is
routed to another pool that’s optimized for videos.
This type of routing is known as application layer (OSI layer 7) load balancing since it
understands the structure of the HTTP message.
Here are some of the benefits of using Azure Application Gateway over a simple load
balancer:
• Cookie affinity. Useful when you want to keep a user session on the same backend server.
• SSL termination. Application Gateway can manage your SSL certificates and pass
unencrypted traffic to the backend servers to avoid encryption/decryption overhead. It also
supports full end-to-end encryption for applications that require that.
• Web application firewall. Application gateway supports a sophisticated firewall (WAF) with
detailed monitoring and logging to detect malicious attacks against your network
infrastructure.
• URL rule-based routes. Application Gateway allows you to route traffic based on URL
patterns, source IP address and port to destination IP address and port. This is helpful when
setting up a content delivery network.
• Rewrite HTTP headers. You can add or remove information from the inbound and
outbound HTTP headers of each request to enable important security scenarios, or scrub
sensitive information such as server names.
Azure Security Center: Security Center is a monitoring service that provides threat
protection across all of your services both in Azure, and on-premises.
Security Center can:
• Provide security recommendations based on your configurations, resources, and
networks.
• Monitor security settings across on-premises and cloud workloads, and automatically
apply required security to new services as they come online.
• Continuously monitor all your services, and perform automatic security assessments to
identify potential vulnerabilities before they can be exploited.
• Use machine learning to detect and block malware from being installed on your virtual
machines and services. You can also define a list of allowed applications to ensure that only
the apps you validate are allowed to execute.
• Analyse and identify potential inbound attacks, and help to investigate threats and any
post-breach activity that might have occurred.
• Provide just-in-time access control for ports, reducing your attack surface by ensuring the
network only allows traffic that you require.
Azure provides services to manage both authentication and authorization through Azure
Active Directory (Azure AD).
What is Firewall?
A firewall is a service that grants server access based on the originating IP address of each
request. You create firewall rules that specify ranges of IP addresses. Only clients from these
granted IP addresses will be allowed to access the server.
Azure Firewall is a managed, cloud-based, network security service that protects your Azure
Virtual Network resources. It is a fully stateful firewall as a service with built-in high
availability and unrestricted cloud scalability. Azure Firewall provides inbound protection for
non-HTTP/S protocols. Examples of nonHTTP/S protocols include: Remote Desktop Protocol
(RDP), Secure Shell (SSH), and File Transfer Protocol (FTP). It also provides outbound,
network-level protection for all ports and protocols, and application-level protection for
outbound HTTP/S.
• Azure Application Gateway is a load balancer that includes a Web Application Firewall
(WAF) that provides protection from common, known vulnerabilities in websites. It is
specifically designed to protect HTTP traffic.
• Network virtual appliances (NVAs) are ideal options for non-HTTP services or advanced
configurations, and are similar to hardware firewall appliances.
You can deploy Azure Firewall on any virtual network, but customers typically deploy it on a
central virtual network and peer other virtual networks to it in a hub-and-spoke model.
The advantage of this model is the ability to centrally exert control on multiple spoke VNETs
across different subscriptions. There are also cost savings as you don’t need to deploy a
firewall in each VNet separately. The cost savings should be measured versus the associate
peering cost based on the customer traffic patterns.
There are three types of rule collections available in Azure Firewall:
• Network Address Translation (NAT) rules are used to forward traffic from the firewall to
another device on the network
• Network rules are rules that allow traffic on specific IP address ranges and ports that you
specify
• Application rules are used to allow applications such as Windows Update to communicate
across you network. They can also be used to allow particular domain names such as
azure.com and microsoft.com.
Azure Firewall provides inbound protection for non-HTTP/S protocols (for example, RDP,
SSH, FTP), outbound network-level protection for all ports and protocols, and application-
level protection for outbound HTTP/S.
Azure Monitor maximizes the availability and performance of your applications by delivering
a comprehensive solution for collecting, analysing, and acting on telemetry from your cloud
and on-premises environments. It helps you understand how your applications are
performing and proactively identifies issues affecting them and the resources they depend
on.
• Metrics are numerical values that describe some aspect of a system at a particular point in
time. They are lightweight and capable of supporting near real-time scenarios.
• Logs contain different kinds of data organized into records with different sets of properties
for each type. Telemetry such as events and traces are stored as logs in addition to
performance data so that it can all be combined for analysis.
Application Insights is a service that monitors the availability, performance, and usage of
your web applications, whether they’re hosted in the cloud or on-premises. It leverages the
powerful data analysis platform in Log Analytics to provide you with deeper insights into
your application’s operations. Application Insights can diagnose errors, without waiting for a
user to report them. Application Insights includes connection points to a variety of
development tools, and integrates with Microsoft Visual Studio to support your DevOps
processes.