Azure Learning
Azure Learning
It's the delivery of computing services over the internet, which is otherwise known as the cloud.
These services include servers, storage, databases, networking, software, analytics, and
intelligence.
Instead of maintaining CPUs and storage in your datacenter, you rent them for the time
that you need them. The cloud provider takes care of maintaining the underlying
infrastructure for you.
What is Azure?
Azure is a continually expanding set of cloud services that help your organization meet your
current and future business challenges. Azure gives you the freedom to build, manage, and
deploy applications on a massive global network using your favorite tools and frameworks.
What does Azure offer?
Be ready for the future: Continuous innovation from Microsoft supports your development
today and your product visions for tomorrow.
Build on your terms: You have choices. With a commitment to open source, and support for all
languages and frameworks, you can build how you want and deploy where you want to.
Trust your cloud: Get security from the ground up, backed by a team of experts, and proactive
compliance trusted by enterprises, governments, and startups.
For example, Azure provides AI and machine-learning services that can naturally communicate
with your users through vision, hearing, and speech. It also provides storage solutions that
dynamically grow to accommodate massive amounts of data.
The Hypervisor emulates all the funcytions of a real computer and its CPU In a VM optimizing
the capacity of the hardware. It can run multiple VM at the same time
Azure takes this Virtualization technology and repeats it at a massive scale at MS datacenters
throughout the world
Azure services
Compute
Compute services are often one of the primary reasons why companies move to the
Azure platform. Azure provides a range of options for hosting applications and services.
Here are some examples of compute services in Azure.
Networking
Linking compute resources and providing access to applications is the key function of
Azure networking. Networking functionality in Azure includes a range of options to
connect the outside world to services and features in the global Azure datacenters.
Storage
Storage service for very large objects, such as video files or bitmaps.
File shares that can be accessed and managed like a file server.
A data store for queuing and reliably delivering messages between applications.
Table storage is a service that stores non-relational structured data (also known as structured
NoSQL data) in the cloud, providing a key/attribute store with a schemaless design.
Mobile
With Azure, developers can create mobile back-end services for iOS, Android, and
Windows apps quickly and easily. Features that used to take time and increase project
risks, such as adding corporate sign-in and then connecting to on-premises resources
such as SAP, Oracle, SQL Server, and SharePoint, are now simple to include.
IoT
People can access more information than ever before. Personal digital assistants led to
smartphones, and now there are smart watches, smart thermostats, and even smart
refrigerators. Personal computers used to be the norm. Now the internet allows any item
that's online capable to access valuable information. This ability for devices to garner
and then relay information for data analysis is referred to as IoT.
Big data
Data comes in all formats and sizes. When we talk about big data, we're referring
to large volumes of data. Data from weather systems, communications systems,
genomic research, imaging platforms, and many other scenarios generate hundreds of
gigabytes of data. This amount of data makes it hard to analyze and make decisions. It's
often so large that traditional forms of processing and analysis are no longer
appropriate. E.g:
Azure Synapse Analytics
Run analytics at a massive scale by using a cloud-based enterprise data warehouse that
takes advantage of massively parallel processing to run complex queries quickly across
petabytes of data
AI
AI, in the context of cloud computing, is based around a broad range of services, the
core of which is machine learning. Machine learning is a data science technique that
allows computers to use existing data to forecast future behaviors, outcomes, and
trends. E.g:
Cloud-based environment you can use to develop, train, test, deploy, manage, and track
machine learning models. It can auto-generate a model and auto-tune it for you. It will
let you start training on your local machine, and then scale out to the cloud.
DevOps
Public cloud
Services are offered over the public internet and available to anyone who wants to
purchase them. Cloud resources, such as servers and storage, are owned and operated
by a third-party cloud service provider and delivered over the internet.
Private cloud
A private cloud consists of computing resources used exclusively by users from one
business or organization. A private cloud can be physically located at your
organization's on-site (on-premises) datacenter, or it can be hosted by a third-party
service provider.
Hybrid cloud
A hybrid cloud is a computing environment that combines a public cloud and a private
cloud by allowing data and applications to be shared between them.
IaaS
Infrastructure-as-a-Service
This cloud service model is the closest to managing physical servers; a cloud provider
will keep the hardware up-to-date, but operating system maintenance and network
configuration is up to you as the cloud tenant.
PaaS
Platform-as-a-Service
This cloud service model is a managed hosting environment. The cloud provider
manages the virtual machines and networking resources, and the cloud tenant deploys
their applications into the managed hosting environment.
SaaS
Software-as-a-Service
In this cloud service model, the cloud provider manages all aspects of the application
environment, such as virtual machines, networking resources, data storage, and
applications. The cloud tenant only needs to provide their data to the application
managed by the cloud provider.
Resources: Resources are instances of services that you create, like virtual
machines, storage, or SQL databases.
Resource groups: Resources are combined into resource groups, which act
as a logical container into which Azure resources like web apps, databases,
and storage accounts are deployed and managed.
Subscriptions: A subscription groups together user accounts and the
resources that have been created by those user accounts. Organizations can
use subscriptions to manage costs and the resources that are created by
users, teams, or projects.
Management groups: These groups help you manage access, policy, and
compliance for multiple subscriptions. All subscriptions in a management
group automatically inherit the conditions applied to the management
group.
Azure regions
A region is a geographical area on the planet that contains at least one but potentially
multiple datacenters that are nearby and networked together with a low-latency
network.
Azure availability zones
Availability zones are physically separate datacenters within an Azure region. You want
to ensure your services and data are redundant so you can protect your information in
case of failure. When you host your infrastructure, setting up your own redundancy
requires that you create duplicate hardware environments. Azure can help make your
app highly available through availability zones.
Each Azure region is always paired with another region within the same geography
(such as US, Europe, or Asia) at least 300 miles away. This approach allows for the
replication of resources (such as VM storage) across a geography that helps reduce the
likelihood of interruptions because of events such as natural disasters, civil unrest,
power outages, or physical network outages that affect both regions at once.
Azure subscriptions
Virtual machines are software emulations of physical computers. They include a virtual
processor, memory, storage, and networking resources. VMs host an operating system,
and you can install and run software just like a physical computer. When using a remote
desktop client, you can use and control the VM as if you were sitting in front of it.
Examples of when to use VMs
Virtual machine scale sets are an Azure compute resource that you can use to deploy
and manage a set of identical VMs. With all VMs configured the same, virtual machine
scale sets are designed to support true autoscale. No pre-provisioning of VMs is
required. For this reason, it's easier to build large-scale services targeting big compute,
big data, and containerized workloads
Azure Batch enables large-scale parallel and high-performance computing (HPC) batch
jobs with the ability to scale to tens, hundreds, or thousands of VMs.
Virtual Machines virtualize the hardware while Container virtualizes the Operating
System. In containers we just wait for the App to launch instead of both OS and App like
in VM. For complete control VM is the better option and for portability and
performance, containers does the job.
Manage containers:
Containers are managed through a container orchestrator, which can start, stop, and
scale out application instances as needed. There are two ways to manage both Docker
and Microsoft-based containers in Azure: Azure Container Instances and Azure
Kubernetes Service (AKS).
Azure Container Instances offers the fastest and simplest way to run a container in
Azure without having to manage any virtual machines or adopt any additional services.
It's a platform as a service (PaaS) offering that allows you to upload your containers,
which it runs for you.
The task of automating, managing, and interacting with a large number of containers is
known as orchestration. Azure Kubernetes Service is a complete orchestration service
for containers with distributed architectures and large volumes of containers.
What is Kubernetes?
As more and more workload are moved in a containers, management systems are
needed to handle the demands of containerized applications at scale. One of the most
popular options for managing container-based workload is Kubernetes.
It manages the placement of PODs which can consists of one or more containers on a
Kubernetes cluster node. Additionally, if one the these PODs crashes, Kubernetes can
create a new instance of it and if a cluster node is removed, it can move any affected
workload to a different cluster/node.
Use containers in your solutions
Containers are often used to create solutions by using a microservice architecture. This
architecture is where you break solutions into smaller, independent pieces. For example,
you might split a website into a container hosting your front end, another hosting your
back end, and a third for storage. This split allows you to separate portions of your app
into logical sections that can be maintained, scaled, or updated independently.
App Service
With Azure App Service, you can quickly build, deploy, and scale enterprise-grade web,
mobile, and API apps running on any platform. You can meet rigorous performance,
scalability, security, and compliance requirements while using a fully managed platform
to perform infrastructure maintenance. App Service is a platform as a service (PaaS)
offering.
Functions
Functions are ideal when you're concerned only about the code running your service
and not the underlying platform or infrastructure. They're commonly used when you
need to perform work in response to an event.
Azure Logic Apps
Logic apps are similar to functions. Both enable you to trigger logic based on an event.
Where functions execute code, logic apps execute workflows that are designed to
automate business scenarios and are built from predefined logic blocks.
Functions and Logic Apps can both create complex orchestrations. An orchestration is a
collection of functions or steps that are executed to accomplish a complex task.
Azure Virtual Desktop is a desktop and application virtualization service that runs on the
cloud. It enables your users to use a cloud-hosted version of Windows from any
location. Azure Virtual Desktop works across devices like Windows, Mac, iOS, Android,
and Linux. It works with apps that you can use to access remote desktops and apps. You
can also use most modern browsers to access Azure Virtual Desktop-hosted
experiences.
Users have the freedom to connect to Azure Virtual Desktop with any device over the
internet. They use a Azure Virtual Desktop client to connect to their published Windows
desktop and applications.
Enhance security
Azure Virtual Desktop provides centralized security management for users' desktops
with Azure Active Directory (Azure AD). You can enable multifactor authentication to
secure user sign-ins. You can also secure access to data by assigning granular role-
based access controls (RBACs) to users.
What is Azure virtual networking?
Azure virtual networks enable Azure resources, such as VMs, web apps, and databases,
to communicate with each other, with users on the internet, and with your on-premises
client computers. You can think of an Azure network as an extension of your on-
premises network with resources that links other Azure resources.
Azure virtual network allows you to create multiple isolated virtual networks. When you
set up a virtual network, you define a private IP address space by using either public or
private IP address ranges. The public IP range only exists within the virtual network and
isn't internet routable.
Internet communications
A VM in Azure can connect to the internet by default. You can enable incoming
connections from the internet by assigning a public IP address to the VM or by putting
the VM behind a public load balancer. For VM management, you can connect via the
Azure CLI, Remote Desktop Protocol, or Secure Shell.
Internet communications
A VM in Azure can connect to the internet by default. You can enable incoming
connections from the internet by assigning a public IP address to the VM or by putting
the VM behind a public load balancer. For VM management, you can connect via the
Azure CLI, Remote Desktop Protocol, or Secure Shell.
Azure virtual networks enable you to link resources together in your on-premises
environment and within your Azure subscription. In effect, you can create a network that
spans both your local and cloud environments.
By default, Azure routes traffic between subnets on any connected virtual networks, on-
premises networks, and the internet.
Azure virtual networks enable you to filter traffic between subnets by using the
following approaches:
Network security groups A network security group is an Azure resource that can
contain multiple inbound and outbound security rules. You can define these rules
to allow or block traffic, based on factors such as source and destination IP
address, port, and protocol.
Network virtual appliances A network virtual appliance is a specialized VM that
can be compared to a hardened network appliance. A network virtual appliance
carries out a particular network function, such as running a firewall or performing
wide area network (WAN) optimization.
You can link virtual networks together by using virtual network peering. Peering enables
resources in each virtual network to communicate with each other. These virtual
networks can be in separate regions, which allows you to create a global interconnected
network through Azure.
VPN gateways
A VPN gateway is a type of virtual network gateway. Azure VPN Gateway instances are
deployed in a dedicated subnet of the virtual network and enable the following
connectivity: