Azure Fundamentals - Condensed Prep Notes
Azure Fundamentals - Condensed Prep Notes
Cloud computing is flexible and cost-efficient, which can be beneficial to every business,
whether it's a small start-up or a large enterprise.
Serverless computing lets you run application code without creating, configuring, or
maintaining a server.
Benefits of cloud computing
It's cost-effective
This consumption-based model brings with it many benefits, including:
It's scalable
Vertical scaling, also known as "scaling up", is the process of adding resources to
increase the power of an existing server. Some examples of vertical scaling are: adding
more CPUs, or adding more memory.
Horizontal scaling, also known as "scaling out", is the process of adding more
servers that function together as one unit. For example, you have more than one server
processing incoming requests.
It's elastic
spike or drop in demand,
It's current
Cloud usage eliminates the burdens of maintaining software patches, hardware setup,
upgrades, and other IT management tasks.
It's reliable
offer data backup, disaster recovery, and data replication services
referred to as fault tolerance
It's global
It's secure
physical security
digital security
Compliance Offerings
Operational Expenditure (OpEx): You pay for a service or product as you use it.
● Leasing software and customized features
● Scaling charges based on usage/demand instead of fixed hardware or capacity.
● Billing at the user or organization level.
Cloud deployment models
Public cloud
Advantages
● High scalability/agility – you don't have to buy a new server in order to scale
● Pay-as-you-go pricing – you pay only for what you use, no CapEx costs
● You're not responsible for maintenance or updates of the hardware
● Minimal technical knowledge to set up and use - you can leverage the skills
and expertise of the cloud provider to ensure workloads are secure, safe,
and highly available
Disadvantages
Not all scenarios fit the public cloud. Here are some disadvantages to think about:
Private cloud
Advantages
● You can ensure the configuration can support any scenario or legacy
application
● You have control (and responsibility) over security
● Private clouds can meet strict security, compliance, or legal requirements
Disadvantages
Some reasons teams move away from the private cloud are:
● You have some initial CapEx costs and must purchase the hardware for
startup and maintenance
● Owning the equipment limits the agility - to scale you must buy, install, and
setup new hardware
● Private clouds require IT skills and expertise that's hard to come by
Hybrid cloud
Advantages
● You can use your own equipment to meet security, compliance, or legacy
scenarios where you need to completely control the environment
Disadvantages
Upfront costs There are no upfront There are no upfront Users have no upfront
costs. Users pay only costs. Users pay only for costs; they pay a
for what they what they consume. subscription, typically
consume. on a monthly or annual
basis.
User ownership The user is The user is responsible Users just use the
responsible for the for the development of application software;
purchase, installation, their own applications. they are not
configuration, and However, they are not responsible for any
management of their responsible for maintenance or
own software, managing the server or management of that
operating systems, infrastructure. This software.
middleware, and allows the user to focus
applications. on the application or
workload they want to
run.
Cloud provider The cloud provider is The cloud provider is The cloud provider is
ownership responsible for responsible for responsible for the
ensuring that the operating system provision,
underlying cloud management, network, management, and
infrastructure (such and service maintenance of the
as virtual machines, configuration. Cloud
storage, and providers are typically
networking) is responsible for
available for the user. everything apart from
the application that a
user wants to run. They
provide a complete
managed platform on
which to run the
application.

Azure services
Networking
Storage
Azure File storage File shares that you can access and manage like a file server
Azure Queue A data store for queuing and reliably delivering messages between
storage applications
Azure Table storage A NoSQL store that hosts unstructured data independent of any
schema
Azure Blob storage Storage service for very large objects, such as video files or bitmaps
Storage tiers
Azure offers three storage tiers for blob object storage:
Cool storage tier: optimized for data that are infrequently accessed
and stored for at least 30 days.
Archive storage tier: for data that are rarely accessed and stored for at
least 180 days with flexible latency requirements.
Azure File storage File shares that you can access and manage like a file server via Server
Message Block (SMB) protocol
Azure Queue A data store for queuing and reliably delivering messages between
storage applications
Azure Table storage A NoSQL store that hosts unstructured data independent of any
schema
Azure Data Lake Data Lake is a large repository that stores both structured and
Storage
unstructured data.
Disk Storage Disk storage provides disks for virtual machines, applications, and
other services to access and use as they
need,
you can use standard SSD and HDD
disks for less critical workloads, and
premium SSD disks for mission-critical
production applications.
These services all share several common characteristics:
1. Azure Storage Service Encryption (SSE) for data at rest helps you
secure your data to meet the organization's security and regulatory
compliance. It encrypts the data before storing it and decrypts the
data before retrieving it. The encryption and decryption are
transparent to the user.
2. Client-side encryption is where the data is already encrypted by the
client libraries. Azure stores the data in the encrypted state at rest,
which is then decrypted during retrieval.
Mobile
Databases
Service name Service function
Azure Cosmos DB Globally distributed database that supports NoSQL options
Azure SQL Database Fully managed relational database with auto-scale, integral
intelligence, and robust security
Azure Database for Fully managed and scalable MySQL relational database with high
MySQL availability and security
Azure Database for Fully managed and scalable PostgreSQL relational database with
PostgreSQL high availability and security
SQL Server on VMs Host enterprise SQL Server apps in the cloud
Azure SQL Data Fully managed data warehouse with integral security at every
Warehouse level of scale at no extra cost
Azure Database Migrates your databases to the cloud with no application code
Migration Service changes
Azure Cache for Redis Caches frequently used and static data to reduce data and
application latency
Azure Database for
MariaDB
Web
Azure Notification Hubs Send push notifications to any platform from any back
end.
Azure API Management Publish APIs to developers, partners, and employees
securely and at scale.
Azure Cognitive Search Fully managed search as a service.
Web Apps feature of Azure App Create and deploy mission-critical web apps at scale.
Service
Azure SignalR Service Add real-time web functionalities easily.
Internet of Things
Service Description
Name
IoT Fully-managed global IoT software as a service (SaaS) solution that makes it
Central easy to connect, monitor, and manage your IoT assets at scale
Azure Messaging hub that provides secure communications and monitoring between
IoT Hub millions of IoT devices
IoT Edge Push your data analysis models directly onto your IoT devices, allowing them to
react quickly to state changes without needing to consult cloud-based AI models.
Big Data
Service Description
Name
Azure SQL Run analytics at a massive scale using a cloud-based Enterprise Data
Data Warehouse (EDW) that leverages massive parallel processing (MPP) to run
Warehouse complex queries quickly across petabytes of data
Azure Process massive amounts of data with managed clusters of Hadoop clusters in
HDInsight the cloud
Azure Collaborative Apache Spark–based analytics service that can be integrated
Databricks with other Big Data services in Azure.
Compliance and security Dedicated servers required for Client-side encryption and
privacy and security encryption at rest
Store structured and Additional IT resources with Azure Data Lake and portal
unstructured data dedicated servers required analyzes and manages all types of
data
Replication and high More resources, licensing, and Built-in replication and redundancy
availability servers required features available
Application sharing and File sharing requires additional File sharing options available
access to shared administration resources without additional license
resources
Messaging and load Hardware redundancy impacts Azure Queue provides effective
balancing budget and resources load balancing
Artificial Intelligence
Service Description
Name
Azure Cloud-based environment you can use to develop, train, test, deploy, manage,
Machine and track machine learning models. It can auto-generate a model and auto-tune
Learning it for you. It will let you start training on your local machine, and then scale out
Service to the cloud
Azure Collaborative, drag-and-drop visual workspace where you can build, test, and
Machine deploy machine learning solutions using pre-built machine learning algorithms
Learning and data-handling modules
Studio
A closely related set of products are the cognitive services. These are pre-built APIs you
can leverage in your applications to solve complex problems.
DevOps
Service Description
Name
Azure Azure DevOps Services (formerly known as Visual Studio Team Services, or
DevOps VSTS), provides development collaboration tools including high-performance
pipelines, free private Git repositories, configurable Kanban boards, and
extensive automated and cloud-based load testing
Azure Quickly create on-demand Windows and Linux environments you can use to
DevTest test or demo your applications directly from your deployment pipelines
Labs
Regions
A region is a geographical area on the planet containing at least one, but potentially
multiple datacenters that are nearby and networked together with a low-latency network
Azure has specialized regions that you might want to use when building out your
applications for compliance or legal purposes. These include:
● US DoD Central, US Gov Virginia, US Gov Iowa and more: These are
physical and logical network-isolated instances of Azure for US government
agencies and partners. These datacenters are operated by screened US
persons and include additional compliance certifications.
● China East, China North and more: These regions are available through a
unique partnership between Microsoft and 21Vianet, whereby Microsoft
does not directly maintain the datacenters.
● Americas
● Europe
● Asia Pacific
● Middle East and Africa
Not every region has support for Availability Zones. The following regions have a
minimum of three separate zones to ensure resiliency.
● Central US
● East US 2
● West US 2
● West Europe
● France Central
● North Europe
● Southeast Asia
Availability Zones are primarily for VMs, managed disks, load balancers, and SQL
databases. Azure services that support Availability Zones fall into two categories:
● Zonal services – you pin the resource to a specific zone (for example,
virtual machines, managed disks, IP addresses)
● Zone-redundant services – platform replicates automatically across zones
(for example, zone-redundant storage, SQL Database).
Understand Region Pairs in Azure
Planned Azure updates are rolled out to paired regions one region at a time to minimize
downtime and risk of application outage.
Azure does not provide SLAs for most services under the Free or Shared tiers. Also,
free products such as Azure Advisor do not typically have an SLA.
1. Performance Targets
2. Uptime and Connectivity Guarantees
3. Service credits
SLA % Downtime per week Downtime per month Downtime per year
customers may have a discount applied to their Azure bill, as compensation for an
under-performing Azure product or service. The table below explains this example in
more detail.
< 99.9 10
< 99 25
< 95 100
When combining SLAs across different service offerings, the resultant SLA is called a
Composite SLA. The resulting composite SLA can provide higher or lower uptime
values, depending on your application architecture.
Calculating downtime
With this design, the application is still available even if it can't connect to the database.
However, it fails if both the database and the queue fail simultaneously.
If the expected percentage of time for a simultaneous failure is 0.0001 × 0.001, the
composite SLA for this combined path of a database or queue would be:
Therefore, if we add the queue to our web app, the total composite SLA is:
Azure Advisor
Advisor is a free service, therefore, it does not have a financially backed SLA.
API Management
● We guarantee that API Management Service instances running in the Standard
tier will respond to requests to perform operations at least 99.9% of the time.
● We guarantee that API Management Service instances running in the Premium
tier deployed across two or more regions will respond to requests to perform
operations at least 99.95% of the time.
No SLA is provided for the Developer tier of the API Management Service.
App Service
We guarantee that Apps running in a customer subscription will be available 99.95% of
the time. No SLA is provided for Apps under either the Free or Shared tiers.
Application Gateway
We guarantee that each Application Gateway Cloud Service having two or more
medium or larger instances, or deployments capable of supporting autoscale or zone
redundancy, will be available at least 99.95% of the time.
Automation
We guarantee that at least 99.9% of runbook jobs will start within 30 minutes of their
planned start times.
We guarantee at least 99.9% availability of the Azure Automation DSC agent service.
Azure DevOps
● We guarantee at least 99.9% availability of Azure DevOps Services for paid
Azure DevOps Services users, including users with paid User-Based Extensions
to Azure DevOps Services, to access the associated Azure DevOps Services
account.
● We guarantee at least 99.9% availability to execute load testing operations using
the paid Azure Test Plans Load Testing Service.
● We guarantee at least 99.9% availability to execute build and deployment
operations using the paid Azure Pipelines.
Azure Firewall
Azure Firewall offers fully stateful native firewall capabilities for Virtual Network
resources, with built-in high availability and the ability to scale automatically.
We guarantee that Azure Firewall will be available at least 99.95% of the time, when
deployed within a single Availability Zone.
We guarantee that Azure Firewall will be available at least 99.99% of the time, when
deployed within two or more Availability Zones in the same Azure regio
Azure Firewall
Azure Firewall offers fully stateful native firewall capabilities for Virtual Network
resources, with built-in high availability and the ability to scale automatically.
We guarantee that Azure Firewall will be available at least 99.95% of the time, when
deployed within a single Availability Zone.
We guarantee that Azure Firewall will be available at least 99.99% of the time, when
deployed within two or more Availability Zones in the same Azure region.
● Azure portal for interacting with Azure via a Graphical User Interface (GUI)
● Azure PowerShell and Azure Command-Line Interface (CLI) for
command line and automation-based interactions with Azure
● Azure Cloud Shell is authenticated, browser-accessible shell command-
line interface. Cloud Shell has a suite of developer tools, text editors, and
other tools
● Azure mobile app for monitoring and managing your resources from your
mobile device.
Azure Advisor
Finally, the Azure Advisor is a free service built into Azure that provides
recommendations on high availability, security, performance, operational excellence,
and cost
Azure compute
Azure compute is an on-demand computing service for running cloud-based applications.
Virtual machines
● IaaS
● Total control over the operating system (OS)
● The ability to run custom software, or
● To use custom hosting configurations
● VMs are also an excellent choice when moving from a physical server to the cloud ("lift
and shift")
availability sets
● An availability set is a logical grouping of two or more VMs that help keep your
application available during planned or unplanned maintenance.
● With an availability set, you get:
○ Up to three fault domains that each have a server rack with dedicated power and
network resources
○ Five logical update domains which then can be increased to a maximum of 20
Your VMs are then sequentially placed across the fault and update domains. The following
diagram shows an example where you have six VMs in two availability sets distributed across
the two fault domains and five update domains.
● There's no cost for an availability set.
● You only pay for the VMs within the availability set. We highly recommend that you place
each workload in an availability set to avoid having a single point of failure in your VM
architecture.
Scale sets allow you to centrally manage, configure, and update a large number of VMs in
minutes to provide highly available applications. The number of VM instances can automatically
increase or decrease in response to demand or a defined schedule. With Virtual Machine Scale
Sets, you can build large-scale services for areas such as compute, big data, and container
workloads.
Azure Batch
Azure Batch enables large-scale job scheduling and compute management with the ability to
scale to tens, hundreds, or thousands of VMs.
A container doesn't use virtualization, so it doesn't waste resources simulating virtual hardware
with a redundant OS.
Containers in Azure
to manage containers in Azure:
● Azure Container Instances (ACI)
● Azure Kubernetes Service (AKS)
1. You convert an existing application to one or more containers and then publish one or
more container images to the Azure Container Registry.
2. By using the Azure portal or the command line, you deploy the containers to an AKS
cluster.
3. Azure AD controls access to AKS resources.
4. You access SLA-backed Azure services, such as Azure Database for MySQL, via Open
Service Broker for Azure (OSBA).
5. Optionally, AKS is deployed with a virtual network.
Azure App Service
1. With Azure App Service, you can host most common web app styles including:
○ Web Apps (using ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP, or
Python)
○ API Apps (REST-based)
○ WebJobs (.exe, Java, PHP, Python, or Node.js) or script (.cmd, .bat, PowerShell,
or Bash)
○ Mobile Apps
i. Store mobile app data in a cloud-based SQL database
ii. Authenticate customers against common social providers such as MSA,
Google, Twitter, and Facebook
iii. Send push notifications
iv. Execute custom back-end logic in C# or Node.js
2. All of these app styles are hosted in the same infrastructure and share these benefits.
3. It offers automatic scaling and high availability.
4. App Service supports both Windows and Linux, and enables automated deployments
from GitHub, Azure DevOps, or any Git repo to support a continuous deployment model.
5. This platform as a service (PaaS) allows you to focus on the website and API logic while
Azure handles the infrastructure to run and scale your web applications.
App Service costs
● Pay for the Azure compute resources your app uses
● There is even a free tier you can use to host small, low-traffic sites.
Serverless computing
● Serverless computing is the abstraction of servers, infrastructure, and OSs.
● There's no need to even reserve capacity.
1. Azure Functions:
a. They're commonly used when you need to perform work in response to an
event, often via a
i. REST request,
ii. timer, or
iii. message from another Azure service and
b. When that work can be completed quickly, within seconds or less.
c. you're only charged for the CPU time used
d. Furthermore, Azure Functions can be either
i. stateless (the default), where they behave as if they're restarted every
time they respond to an event, or
ii. stateful (called "Durable Functions"), where a context is passed through
the function to track prior activity.
2. Azure Logic Apps:
a. 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 designed to automate business scenarios and built from predefined
logic blocks.
b. Every logic app workflow starts with a trigger, which fires when a specific event
happens or when newly available data meets specific criteria. Many triggers
include basic scheduling capabilities, so developers can specify how regularly
their workloads will run. Each time the trigger fires, the Logic Apps engine
creates a logic app instance that runs the actions in the workflow. These actions
can also include data conversions and flow controls, such as conditional
statements, switch statements, loops, and branching. 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.Azure
provides over 200 different connectors and processing blocks to interact with
different services - including most popular enterprise apps. You can also build
custom connectors and workflow steps if the service you need to interact with
isn't covered. You then use the visual designer to link connectors and blocks
together, passing data through the workflow to do custom processing - often all
without writing any code. As an example, let's say a ticket arrives in ZenDesk.
You could:
i. Detect the intent of the message with cognitive services
ii. Create an item in SharePoint to track the issue
iii. If the customer isn't in your database, add them to your Dynamics 365
CRM system
iv. Send a follow-up email to acknowledge their request
v. All of that could be designed in a visual designer making it easy to see
the logic flow, which is ideal for a business analyst role.
Management REST API, Visual Studio Azure portal, REST API, PowerShell,
Visual Studio
Execution context Can run locally or in the cloud Runs only in the cloud.
Choose an Azure compute service for
your application
Hosting model
Criteria Virtual App Service Azure Azure Container Azure
Machines Service Fabric Functions Kubernete Instances Batch
s Service
Application Agnostic Applications Services, Functions Containers Containers Scheduled
composition , containers guest jobs
executables
, containers
Density Agnostic Multiple Multiple Serverless Multiple No Multiple
apps per services per 1 containers dedicated apps per
instance via VM per node instances VM
app service
plans
Minimum 12 1 53 Serverless 33 No 14
number of 1 dedicated
nodes nodes
State Stateless or Stateless Stateless or Stateless Stateless or Stateless Stateless
manageme Stateful stateful Stateful
nt
Web Agnostic Built in Agnostic Not Agnostic Agnostic No
hosting applicable
Can be Supported Supported5 Supported Supported 5 Supported Not Supported
deployed to supported
dedicated
VNet?
Hybrid Supported Supported 6 Supported Supported 7 Supported Not Supported
connectivity supported
DevOps
Scalability
SLA SLA for SLA for SLA for SLA for SLA for SLA for SLA for
Virtual App Service Functions AKS Container Azure
Machines Service Fabric Instances Batch
Types of data
1. Structured data.
a. Structured data is data that adheres to a schema, so all of the data has the same
fields or properties.
b. Structured data can be stored in a database table with rows and columns.
Structured data relies on keys to indicate how one row in a table relates to data
in another row of another table.
c. Structured data is also referred to as relational data, as the data's schema
defines the table of data, the fields in the table, and the clear relationship
between the two.
d. Structured data is straightforward in that it's easy to enter, query, and analyze. All
of the data follows the same format. Examples of structured data include sensor
data or financial data.
2. Semi-structured data. Semi-structured data doesn't fit neatly into tables, rows, and
columns.
a. Instead, semi-structured data uses tags or keys that organize and provide a
hierarchy for the data.
b. Semi-structured data is also referred to as non-relational or NoSQL data.
3. Unstructured data. Unstructured data encompasses data that has no designated
structure to it. This lack of structure also means that there are no restrictions on the
kinds of data it can hold. For example, a blob can hold a PDF document, a JPG image, a
JSON file, video content, etc. As such, unstructured data is becoming more prominent
as businesses try to tap into new data sources.
Core Cloud Services
N-tier architecture
● used to build loosely coupled systems
● An N-tier architecture divides an application into two or more logical tiers. Architecturally,
a higher tier can access services from a lower tier, but a lower tier should never access
a higher tier.
○ The web tier provides the web interface to your users through a browser.
○ The application tier runs business logic.
○ The data tier includes databases and other storage that hold product information
and customer orders.
● An N-tier application can have a closed layer architecture or an open layer architecture:
○ In a closed layer architecture, a layer can only call the next layer immediately
down.
○ In an open layer architecture, a layer can call any of the layers below it
Resiliency
Resiliency refers to a system's ability to stay operational during abnormal conditions.
Load Balancer
A load balancer distributes traffic evenly among each system in a pool. A load balancer can help
you achieve both high availability and resiliency.
Azure Load Balancer
● Load Balancer supports inbound and outbound scenarios,
provides low latency and high throughput, and scales up to
millions of flows for all (TCP) and User Datagram Protocol
(UDP) applicationsTransmission Control Protocol
● You can use Load Balancer with
○ incoming internet traffic,
○ internal traffic across Azure services,
○ port forwarding for specific traffic, or
○ outbound connectivity for VMs in your virtual
network
● 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
inboun d and outbound HTTP headers of
each request to enable important security scenarios, or scrub sensitive
information such as server names.
DNS
Network latency
● Latency refers to the time it takes for data to travel over the network. Latency is
typically measured in milliseconds.
● Compare latency to bandwidth. Bandwidth refers to the amount of data that
can fit on the connection. Latency refers to the time it takes for that data to reach
its destination.
● Factors such as the type of connection you use and how your application is
designed can affect latency. But perhaps the biggest factor is distance.
Scale out to different regions
● One way to reduce latency is to provide
exact copies of your service in more
than one region. The following
illustration shows an example of global
deployment.
● How can you connect users to the
service that's closest geographically
● Azure Load Balancer distributes traffic within the same region to make your
services more highly available and resilient.
● Traffic Manager works at the DNS level, and directs the client to a preferred
endpoint. This endpoint can be to the region that's closest to your user.
● Load Balancer and Traffic Manager both help make your services more resilient,
but in slightly different ways. When Load Balancer detects an unresponsive VM,
it directs traffic to other VMs in the pool.
○ Traffic Manager monitors the health of your endpoints.
○ When Traffic Manager finds an unresponsive endpoint, it directs traffic to
the next closest endpoint that is responsive.
Security is a shared responsibility
https://www.microsoft.com/en-us/videoplayer/embed/RWkotg?pid=RWkotg-ax-86-id-
oneplayer&postJsllMsg=true&autoplay=false&mute=false&loop=false&market=en-
us&playFullScreen=false
● Data
● Endpoints
● Accounts
● Access management
https://www.microsoft.com/en-
us/videoplayer/embed/RE2yEvj?pid=RE2yEvj-ax-87-id-
oneplayer&postJsllMsg=true&autoplay=false&mute=false&loop=false&market=en-us&playFullScreen=false
Data
● Stored in a database
● Stored on disk inside virtual machines
● Stored on a SaaS application such as Office 365
● Stored in cloud storage
It's the responsibility of those storing and controlling access to data to ensure that it's
properly secured.
Application
Integrating security into the application development life cycle will help reduce the
number of vulnerabilities introduced in code.
Compute
Malware, unpatched systems, and improperly secured systems open your environment
to attacks.
Networking
At this layer, the focus is on limiting the network connectivity across all your resources
to allow only what is required.
Perimeter
At the network perimeter, it's about protecting from network-based attacks against your
resources.
Physical security
With physical security, the intent is to provide physical safeguards against access to
assets.
Azure Security Center
Security Center can:
Azure Security Center is part of the Center for Internet Security (CIS)
recommendations.
Detect. Review the first indication of an event investigation. For example, you can use
the Security Center dashboard to review the initial verification that a high-priority
security alert was raised.
Assess. Perform the initial assessment to obtain more information about the suspicious
activity. For example, obtain more information about the security alert.
Diagnose. Conduct a technical investigation and identify containment, mitigation, and
workaround strategies. For example, follow the remediation steps described by Security
Center in that particular security alert.
Important
To upgrade a subscription to the Standard tier, you must be assigned the role of
Subscription Owner, Subscription Contributor, or Security Admin.
Asymmetric encryption uses a public key and private key pair. Used for things like
Transport Layer Security (TLS) (used in HTTPS) and data signing.
Both symmetric and asymmetric encryption play a role in properly securing your data.
Encryption is typically approached in two ways:
● Encryption at rest:
○ Data at rest is the data that has been stored on a physical medium.
● Encryption in transit:
○ Data in transit is the data actively moving from one location to another.
Secure transfer can be handled by several different layers:
■ HTTPS is an example of an application layer in transit encryption.
■ a virtual private network (VPN), at a network layer, to transmit data
between two systems.
Encryption on Azure
Azure Storage Service Encryption automatically encrypts your data before persisting
it to Azure Managed Disks, Azure Blob storage, Azure Files, or Azure Queue storage,
and decrypts the data before retrieval.
● Azure Disk Encryption is a capability that helps you encrypt your Windows and
Linux IaaS virtual machine disks.
● Azure Disk Encryption leverages the industry-standard BitLocker feature of
Windows and the dm-crypt feature of Linux.
● The solution is integrated with Azure Key Vault to help you control and manage
the disk encryption keys and secrets
Encrypt databases
● Transparent data encryption (TDE) helps protect Azure SQL Database and
Azure Data Warehouse against the threat of malicious activity.
● By default, TDE is enabled for all newly deployed Azure SQL Database
instances.
● TDE encrypts the storage of an entire database by using a symmetric key called
the database encryption key.
● By default, Azure provides a unique encryption key per logical SQL Server
instance and handles all the details.
● Bring your own key (BYOK) is also supported with keys stored in Azure Key
Vault (see below).
Encrypt secrets
● Azure Key Vault is a centralized cloud service for storing your application
secrets. It is useful for a variety of scenarios:
● Secrets management. tokens, passwords, certificates, Application
Programming Interface (API) keys, and other secrets.
● Key management. Key Vault makes it easier to create and control the
encryption keys used to encrypt your data.
● Certificate management. Key Vault lets you provision, manage, and
deploy your public and private Secure Sockets Layer/ Transport Layer
Security (SSL/ TLS) certificates for your Azure, and internally connected,
resources more easily.
● Store secrets backed by hardware security modules (HSMs). The
secrets and keys can be protected either by software, or by FIPS 140-2
Level 2 validated HSMs.
Because Azure AD identities can be granted access to use Azure Key Vault secrets,
applications with managed service identities enabled can automatically and seamlessly
acquire the secrets they need.
Azure certificates
● Transport Layer Security (TLS) is the basis for encryption of website data in
transit.
● Certificates used in Azure are x.509 v3 and can be signed by a trusted certificate
authority, or they can be self-signed.
Types of certificates
Service certificates
Management certificates
● Management certificates allow you to authenticate with the classic deployment
model.
○ Many programs and tools (such as Visual Studio or the Azure SDK) use
these certificates to automate configuration and deployment of various
Azure services.
Internet protection
● Make sure you identify all resources that are allowing inbound network traffic of
any type, and then ensure they are restricted to only the ports and protocols
required.
● Azure Security Center is a great place to look for this information, because it
will identify internet-facing resources that don't have network security groups
associated with them, as well as resources that are not secured behind a firewall.
Firewall
Legitimate traffic from customers still flows into Azure without any interruption of
service.
Network integration
After your content is classified, you can track and control how the content is used. For
example, you can:
● Azure ATP has its own portal, through which you can monitor and respond to
suspicious activity.
● The Azure ATP portal allows you to create your Azure ATP instance, and view
the data received from Azure ATP sensors.
● You can also use the portal to monitor, manage, and investigate threats in your
network environment.
● You can sign in to the Azure ATP portal at https://portal.atp.azure.com .
● Your user accounts must be assigned to an Azure AD security group that has
access to the Azure ATP portal to be able to sign in.
● Azure ATP cloud service runs on Azure infrastructure and is currently deployed
in the United States, Europe, and Asia. Azure ATP cloud service is connected to
Microsoft's intelligent security graph.
Provide training
● Effective training will complement and reinforce security policies, SDL practices,
standards, and requirements of software security
● The optimal time to define the security requirements is during the initial design
and planning stages.
Factors that influence security requirements include, but are not limited to:
● Setting a meaningful security bar involves clearly defining the severity thresholds
of security vulnerabilities, and helps to establish a plan of action when
vulnerabilities are encountered.
● To track key performance indicators (KPIs) and ensure security tasks are
completed, bug tracking and/or work tracking mechanisms used by an
organization
● With the rise of mobile and cloud computing, it's important to ensure all data -
including security-sensitive information and management and control data - are
protected from unintended disclosure or alteration when it's being transmitted or
stored.
● A good general rule is to only use industry-vetted encryption libraries and ensure
they're implemented in a way that allows them to be easily replaced if needed.
● The vast majority of software projects today are built using third-party
components.
● Having an accurate inventory of these components, and a plan to respond when
new vulnerabilities are discovered, will go a long way toward mitigating risks.
● Define and publish a list of approved tools and their associated security checks,
such as compiler/linker options and warnings.
Perform Static Analysis Security Testing
Creating a policy
Policy definition
● A policy definition expresses what to evaluate and what action to take. For
example,
○ you could ensure all public websites are secured with HTTPS,
○ prevent a particular storage type from being created,
○ force a specific version of SQL Server to be used.
Here are some of the most common policy definitions you can apply.
Policy definition Description
Allowed Storage Account This policy definition has a set of conditions/rules that determine whether a
SKUs storage account that is being deployed is within a set of SKU sizes. Its
effect is to deny all storage accounts that do not adhere to the set of defined
SKU sizes.
Allowed Resource Type This policy definition has a set of conditions/rules to specify the resource
types that your organization can deploy. Its effect is to deny all resources
that are not part of this defined list.
Allowed Locations This policy enables you to restrict the locations that your organization can
specify when deploying resources. Its effect is used to enforce your
geographic compliance requirements.
Allowed Virtual Machine This policy enables you to specify a set of VM SKUs that your organization
SKUs can deploy.
Not allowed resource Prevents a list of resource types from being deployed.
types
To apply a policy, we can use the Azure portal, or one of the command-line tools such
as Azure PowerShell by adding the Microsoft.PolicyInsights extension.
We can use the applied policy definition to identify resources that aren't compliant with
the policy assignment through the Azure portal
Assign a definition to a scope of resources
● A policy assignment is a policy definition that has been assigned to take place
within a specific scope.
● This scope could range from a full subscription down to a resource group.
Policy effects
Disabled The policy rule is ignored (disabled). Often used for testing.
Audit, Creates a warning event in the activity log when evaluating a non-compliant
AuditIfNotExists resource, but it doesn't stop the request.
DeployIfNotExists Executes a template deployment when a specific condition is met. For example,
if SQL encryption is enabled on a database, then it can run a template after the
DB is created to set it up a specific way.
● The easiest approach is in the portal as it provides a nice graphical overview that
you can explore.
● spot resources that are not compliant and take action to correct them.
Finally, you can delete policy requirements through the portal, or through the
PowerShell command.
Organize policy with initiatives
● An initiative definition is a set or group of policy definitions to help track your
compliance state for a larger goal.
● Role assignments
● Policy assignments
● Azure Resource Manager templates
● Resource groups
The process of implementing Azure Blueprint consists of the following high-level steps:
Azure Monitor
It helps you understand how your applications are performing and proactively identifies
issues affecting them and the resources they depend on.
Data sources
Application monitoring data Data about the performance and functionality of the code you have
written, regardless of its platform.
Guest OS monitoring data Data about the operating system on which your application is running.
This could be running in Azure, another cloud, or on-premises.
Azure resource monitoring data Data about the operation of an Azure resource.
Azure subscription monitoring Data about the operation and management of an Azure subscription,
data as well as data about the health and operation of Azure itself.
Azure tenant monitoring data Data about the operation of tenant-level Azure services, such as Azure
Active Directory.
Diagnostic settings
Activity Logs record when resources are created or modified and Metrics tell you how
the resource is performing and the resources that it's consuming.
● This might involve, for example, sending a text or email to an administrator who
is responsible for investigating an issue,
● Autoscale. Azure Monitor uses Autoscale to ensure that you have the right
amount of resources running to manage the load on your application effectively.
● Autoscale can also help reduce your Azure costs by removing resources that are
not being used.
Visualizations, such as charts and tables, are effective tools for summarizing monitoring
data
● Dashboards
● Views
● Power BI
You'll often need to integrate Azure Monitor with other systems, and build customized
solutions that use your monitoring data.
● It can notify you, help you understand the impact of issues, and keep you
updated as the issue is resolved.
● Azure Service Health can also help you prepare for planned maintenance and
changes that could affect the availability of your resources.
Resource groups
● A resource group is a logical container for resources deployed on Azure.
● All resources must be in a resource group and a resource can only be a member
of a single resource group.
● Many resources can be moved between resource groups with some services
having specific limitations or requirements to move.
● Resource groups can't be nested.
● Before any resource can be provisioned, you need a resource group for it to be
placed in.
Logical grouping
Life cycle
● If you delete a resource group, all resources contained within are also deleted.
● Organizing resources by life cycle can be useful in non-production
environments, where you might try an experiment, but then dispose of it when
done.
● Resource groups make it easy to remove a set of resources at once.
Authorization
● Resource groups are also a scope for applying role-based access control
(RBAC) permissions.
Create a Resource Group
Resource groups can be created by using:
● Azure portal
● Azure PowerShell
● Azure CLI
● Templates
● Azure SDKs (like .NET, Java)
Organizing principles
● Examples. You might put all resources that are core infrastructure into this
resource group.
● But you could also organize them strictly by resource type.
Strategy you use to organize resources: authorization, resource life cycle, and
billing.
Use tagging to organize resources
Tags can be added and manipulated through the Azure portal, Azure CLI, Azure
PowerShell, Resource Manager templates, and through the REST API.
--resource-group msftlearn-core-infrastructure-rg \
--name msftlearn-vnet1 \
--resource-type "Microsoft.Network/virtualNetworks"
● You can use Azure Policy to automatically add or enforce tags for resources
Azure Policy
● Azure Policy is a service you can use to
○ create,
○ assign, and
○ manage policies.
● You can also enforce that specific tags are applied to resources. You'll take a
look at how policies work.
Create a policy
● Policies can be created and assigned through the
○ Azure portal,
○ Azure PowerShell, or
○ Azure CLI.
● You've created the policy, but you haven't actually put it into effect yet.
● To enable the policy, you need to create an assignment.
○ Ex: you'll assign it to the scope of our msftlearn-core-infrastructure-rg
resource group, so that it applies to anything inside the resource group.
● you can grant users the specific rights they need to perform their jobs.
● RBAC is considered a core service and is included with all subscription levels at
no cost.
Resource type
Costs are resource-specific, so the usage that a meter tracks and the number of meters
associated with a resource depend on the resource type.
Services
Location
● Most of the time inbound data transfers (data going into Azure datacenters)
are free.
● For outbound data transfers (data going out of Azure datacenters), the data
transfer pricing is based on Billing Zones.
● In most zones, the first outbound 5GB per month are free.
Note
The options that you can configure in the pricing calculator vary between products, but
basic configuration options include:
Option Description
Region Lists the regions from which you can provision a product. Southeast Asia, central
Canada, the western United States, and northern Europe are among the possible
regions available for some resources.
Tier Sets the type of tier you wish to allocate to a selected resource, such as Free Tier,
Basic Tier, etc.
Billing Options Highlights the billing options available to different types of customers and
subscriptions for a chosen product.
Support Options Allows you to pick from included or paid support pricing options for a selected
product.
Programs and Allows you to choose from available price offerings according to your customer or
Offers subscription type.
Azure Dev/Test Lists the available development and test prices for a product. Dev/Test pricing
Pricing applies only when you run resources within an Azure subscription that is based on a
Dev/Test offer.
Predict and optimize with Cost
Management and Azure Advisor
Azure Advisor
● Azure Advisor is a free service built into Azure that provides recommendations
on high availability, security, performance, operational excellence, and cost.
Note
● Azure provides the spending limits feature to help prevent you from exhausting
the credit on your account within each billing period.
● When your Azure usage results in charges that use all the included monthly
credit, the services that you deployed are disabled and turned off for the rest of
that billing period. Once a new billing period starts, assuming there are credits
available, the resources are reactivated and deployed.
● You are notified by email when you hit the spending limit for your subscription. In
addition, the Azure portal includes notifications about your credit spend. You can
adjust the spending limit as desired or turn it off completely.
Important
The spending limit feature is specific to subscriptions that include a monthly Azure credit
allotment. It is not available on pay-only subscriptions.
For Azure SQL Database, the Azure Hybrid Benefit works as follows: