Skip to main content

AZ-900 Microsoft Azure Fundamentals : Study Notes

List of resources to prepare for AZ 900 certification:

2. Andrew Brown's 3-hour video (broken into individual videos for every topic)

3. My collection of Microsoft documentation links

And below are my own study notes,  created from all of the above. Happy preparing.

Availability Options



An Azure geography is a discrete market, typically containing at least one or more regions, that preserves data residency and compliance boundaries. 

 

An Azure region is a set of datacenters, deployed close by and connected through a dedicated regional low-latency network.  Each Azure region is paired with another region within the same geography (such as US, Europe, or Asia) at least 300 miles away, which together make a region pair 

 

Examples of geographies and corresponding regions:

 

Geography

Regions (Location of datacenters)

India

Central India (Pune), South India (Chennai), West India (Mumbai)

Europe

North Europe (Ireland), West Europe (Netherlands)

UK

UK South (London), UK West (Cardiff)

 

 

Azure Availability Zones are unique physical locations (different datacenter buildings) within an Azure region. Each zone is made up of one or more datacenters equipped with independent power, cooling, and networking.

 

Service types:

  • Foundational – Available in all recommended and alternate regions when the region.
  • Mainstream – Available in all recommended regions, demand-driven in alternate regions.
  • Specialized – Targeted service offerings, often industry-focused or backed by customized/specialized hardware. Demand-driven availability across regions.

 

Availability sets 

Availability sets are a way for you to ensure your application remains online if a high-impact maintenance event is required, or if a hardware failure occurs.

Availability sets are made up of Update domains (UD) and Fault domains (FD).

 


  • Update domains. When a maintenance event occurs (such as a performance update or critical security patch applied to the host), the update is sequenced through update domains.

Sequencing updates using update domains ensures that the entire datacenter isn't unavailable during platform updates and patching.

Update domains are a logical section of the datacenter, and they are implemented with software and logic.

It could be that when any update is started, it is like U0->U1->U2->….->Un. When one update domain is being updated then others are working normally.

 

  • Fault domainsFault domains provide for the physical separation of your workload across different hardware in the datacenter.

Virtual machines in the same fault domain share a common power source and physical network switch.

In the event the hardware that supports a server rack becomes unavailable, only that rack of servers would be affected by the outage.

 



Maximum Fault Domains are 3, Maximum Update domains can be 20.

 

Azure Management Tools

Azure Portal

Azure CLI – Cross-platform command-line tool. Can be installed on MacOS using Homebrew 

brew update && brew install azure-cli
 
Azure Powershell – Can be installed on Windows Powershell or Powershell Core (cross-platform version of Powershell, can be installed on Linux and MacOS)
 
Azure Cloud Shell
 
Azure REST API

Azure Policy

Azure Policy is a tool to create, manage, assign policies that control and enforce the properties of resources.  

 

Imagine we allow anyone in our organization to create virtual machines (VMs) with not more than 4 CPUs.

Once the policy is implemented, Azure Policy will

1.     stop anyone from creating a new VM outside the list of allowed stock-keeping units (SKUs).

2.     If you try to update an existing VM, it will be checked against policy.

3.     Finally, Azure Policy will audit all the existing VMs in our organization to ensure our policy is enforced. It can audit non-compliant resources, alter the resource properties, or stop the resource from being created.

 

Initiatives: An initiative definition is a set or group of policy definitions to help track your compliance state for a larger goal. 

 

Azure RBAC

 

Azure role-based access control (Azure RBAC) helps you manage who has access to Azure resources, what they can do with those resources, and what areas they have access to.

 

Key points:

-       Security Principal

-       Role Definition

-       Scope (Management Groups, Subscriptions, Resource Groups)

-       Role Assignments/Deny Assignments

 

Azure Blueprints

 

Blueprints are a declarative way to orchestrate the deployment of various resource templates and other artifacts such as:

  • Role Assignments
  • Policy Assignments
  • Azure Resource Manager templates (ARM templates)
  • Resource Groups

 

Resource Locks/Management Locks

 

Delete: Users can read/update resource but can’t delete it.

Read Only: Read Only

 

Need Owner or User Access Admin to create or delete these locks

 

Locks are inherited, meaning if you set a lock at resource group, it is applied to all the resources of the group.

 

Azure Network Security Group (NSG)

 

Once inside a virtual network (VNet), it's crucial that you limit communication between resources to only what is required.

 

For communication between virtual machines, Network Security Groups (NSGs) are a critical piece to restrict unnecessary communication.

 

Network Security Groups allow you to filter network traffic to and from Azure resources in an Azure virtual network. An NSG can contain multiple inbound and outbound security rules that enable you to filter traffic to and from resources by source and destination IP address, port, and protocol.

They provide a list of allowed and denied communication to and from network interfaces and subnets, and are fully customizable.

 

CIA Security Principle

Confidentiality: Least privilege principle

 

Integrity: prevent unauthorized changes

 

Availability: services always available to authorized users

 

Azure Advisor vs Azure Monitor

Advisor suggests best practices to optimize costs, improve reliability, operational excellence, security and performance.

 

Monitor is a one stop shop for searching and viewing logs and analysing metrics.

 

Service Health

Dashboard that tells about health of services in regions across the world. Also mentions planned maintenance events and gives RCA for any issues.

 

Also health of individual resources can be checked.

 

Service Trust Portal vs Trust Center vs Compliance Manager

STP: Where compliance managers/officers go to check Azure’s audit reports.

Trust Center: Where one can read Microsoft’s privacy policies, Data collection policies etc.

 

Security Center vs Sentinel

Azure Security Center plays a vital role in “Collect” and “Detect” roles. While Azure Sentinel in addition to the first two roles also designed to perform “Investigate” and “Respond” roles.

ASC helps to setup azure and hybrid environment as securely as possible.

 

Sentinel has lot many connectors so it can get data from ASC and other 3rd party security tools also. It is a tool for infosec professionals.

 

Azure DDoS protection, combined with application design best practices, provides defense against DDoS attacks.

Every property in Azure is protected by Azure's infrastructure DDoS (Basic) Protection. Azure DDoS protection Standard provides additional mitigation capabilities over the Basic service tier that are tuned specifically to Azure Virtual Network resources.

 

 

Network Resources

 

VNets can be connected to each other using vNet Peering or VPN Gateways.

 

VPN Gateways can be used to connect onprem resources to Azure network or two different azure networks. Only one VPN Gateway per vnet, so obviously one VPN Gateway can have multiple connections.

 

Load Balancer: Can be used to distribute traffic in, out and within a vnet. Public LB can be used to let the traffic coming from internet. Private LB manages traffic between resources in the vnet.

 


Application Gateway does traffic distribution for internet applications only.

 

Traffic Manager uses DNS closest to user.

 

Points to remember

 

-       Tags are not inherited

-       Permissions are inherited




Comments

Popular posts from this blog

How to upload to Google Cloud Storage buckets using CURL

Signed URLs are pretty nifty feature given by Google Cloud Platform to let anyone access your cloud storage (bucket or any file in the bucket) without need to sign in. Official documentation gives step by step details as to how to read/write to the bucket using gsutil or through a program. This article will tell you how to upload a file to the bucket using curl so that any client which doesn't have cloud SDK installed can do this using a simple script. This command creates a signed PUT URL for your bucket. gsutil signurl -c 'text/plain' -m PUT serviceAccount.json gs://test_bucket_location Here is my URL: https://storage.googleapis.com/test_sl?GoogleAccessId=my-project-id@appspot.gserviceaccount.com&Expires=1490266627&Signature=UfKBNHWtjLKSBEcUQUKDeQtSQV6YCleE9hGG%2BCxVEjDOmkDxwkC%2BPtEg63pjDBHyKhVOnhspP1%2FAVSr%2B%2Fty8Ps7MSQ0lM2YHkbPeqjTiUcAfsbdcuXUMbe3p8FysRUFMe2dSikehBJWtbYtjb%2BNCw3L09c7fLFyAoJafIcnoIz7iJGP%2Br6gAUkSnZXgbVjr6wjN%2FIaudXIqA

Running Apache Beam pipeline using Spark Runner on a local standalone Spark Cluster

The best thing about Apache Beam ( B atch + Str eam ) is that multiple runners can be plugged in and same pipeline can be run using Spark, Flink or Google Cloud Dataflow. If you are a beginner like me and want to run a simple pipeline using Spark Runner then whole setup may be tad daunting. Start with Beam's WordCount examples  which help you quickstart with running pipelines using different types of runners. There are code snippets for running the same pipeline using different types of runners but here the code is running on your local system using Spark libraries which is good for testing and debugging pipeline. If you want to run the pipeline on a Spark cluster you need to do a little more work! Let's start by setting up a simple standalone single-node cluster on our local machine. Extending the cluster is as easy as running a command on another machine, which you want to add to cluster. Start with the obvious: install spark on your machine! (Remember to have Java a

java.lang.IllegalArgumentException: Malformed \uxxxx encoding

I was getting this exception during build while running ant. Googling didn't help much and I was flummoxed because the same code was running fine till now. My code reads a text file and does some operations on the basis of values read. It was only when I saw the text files I understood the error. I had copied the text in wordpad and saved it as .txt file. Wordpad had put lot of formatting information before and after the content. Also there was "\par" after every line, which was giving this error. So moral of the story: if you get this exception check your properties file (or any other file that your code might be reading.)