See all documents
Useful information's about Microsoft Azure.
Sat Oct 19 2024 • 2642 words • 27 min read
It can be difficult for organization's to justify the reasoning for moving to the cloud because of the cost associated to it. However, there are many benefits with moving to the cloud as it can help with reducing costs and increasing Recovery Time Objective (RTO) and Recovery Point Objective (RPO).
An example of reducing cost is when an organization purchases hardware the hardware is tax deducted over a period of years. However, when we are using a cloud provider such as Microsoft Azure the costs can be tax deductable within the same year since it's a operational costs. In addition, the hardware is main-tained and replaced by Microsoft which can help with reducing costs.
It's important to note that Microsoft Azure can help with reducing costs but it can also lead to increased costs if the architects and engineers doesn't follow the best practices.
Nowadays, most organization's uses Infrastructure as Code (IaaC) to create their cloud environment as that enables them to:
It's recommended to use Azure Biceps, Azure ARM Templates, or Terraform to create your cloud environ-ment. However, most organization's prefers Terraform as it's integrated with Azure, AWS, Digital Oceans, and multiple of other cloud providers.
Azure comes with many capabilities to organize our cloud resources since it can quickly become complex to manage our cloud resources. Here are some best practices to follow which are recommended by Microsoft:
If Azure Resource Tag and Azure Resource Lock is not adapted in the early stages it can quickly become complex to manage the cloud environment and that can lead to increased costs.
If your organization is migrating from on-premises to Microsoft Azure it's recommended to take a closer look at the following tools developed by Microsoft:
Azure Migrate can be connected with vSphere to scan for on-premises virtual machines and also provide us a cost estimation for the migration. Azure Data Box is a box organization's can order to upload their data to Azure instead of transferring terabytes of data through the internet.
Azure Virtual Network is our networking environment in the cloud and it enables us to do the following:
We can also attach Azure Network Security Group to the virtual network, subnet mask, and virtual machines and that allows us to do the following:
It's only recommended to use Azure Network Security Group on virtual network and subnet mask level because if an issue occurs troubleshooting it will be much easier. It's recommended by Microsoft to use a Hub & Spoke Virtual Network setup to secure our cloud resources:
We should always take advantage of Hub & Spoke Virtual Network as it will ensure all traffic that goes in and out the network is secure and non malicious.
Azure Firewall comes with many capabilities to protect our cloud resources from malicious threat actors. It also allows us to configure the firewall to accept or decline specific traffic and ports. Azure Firewall also comes with three different SKUs:
We should only use Premium SKUs depending on the risk tolerance of the organization as some are willing to risk more to reduce costs and others are willing to spend more to reduce risk. As architects and engin-eers our responsibility is to comply with the risks the management has accepted.
Azure Web Application Firewall (WAF) provides a centralized protection for web application from common exploits and vulnerabilities. It can help with protecting our website from server-side template injection, cross-stie scripting, path traversal, and SQL injection attacks and much more.
Note
Azure Web Application Firewall can also protect cloud resources such as Azure Application Gateway and Azure Front Door.
Azure Application Gateway is recommended for balancing HTTP traffic between multiple of virtual machines as it comes with advanced routing and more security capabilities. However, Azure Load Balancer is recommended for distributing TCP and UDP traffic between multiple of virtual machines.
Azure Virtual Machines are as any virtual machines that we could create in an VMWare vSphere, it also comes with capabilities to deploy custom ISO files in-case we need to move our legacy virtual machines to Microsoft Azure.
Azure also enables us to take advantage of Azure Availability Zones incases of disaster since each Azure Availability Zone has distinct power source, network, and cooling. Another Azure feature which we can also take advantage of Azure Virtual Machine Scale Set to deploy more virtual machines when the demand is high and automatically decrease it when the demand is low.
We can also use Azure Availability Sets to increase the up-time for our virtual machines. Here is a overview of Azure Availability Sets:
When Fault Domain 1 goes down because of a disaster than the traffic is forwarded to Fault Domain 2. It's important to note that it's possible to have more than two fault domains.
Important
We can also reduce the costs of the Azure Virtual Machines by taking advantage of Azure Hybrid Benefits and Azure Reservation.
Azure Bastion is a great solution for connecting to virtual machines without going through the public internet. It allows us to access all the virtual machines inside our virtual network and virtual networks which are peered together.
Azure Site Recovery replicates all our Azure Resources from one region to another in-case a disaster occurs with our primary region. According to Microsoft; Azure Site Recovery has a RTO SLA for one hour to replicate our environment to a different region.
Azure Front Door is a Content Delivery Network that delivers our static web application faster and more reliably. It will automatically forward the user to the closest server. If an region fails than the traffic is automatically forwarded to the closest available server.
Azure Batch is commonly used for HPC purposes as it allows us to manage nodes, install application to nodes, and schedule jobs on the nodes. A node is a virtual machine that Azure Batch manages.
Azure Container is a small and lightweight operating system which is commonly used for developing applications. It enables us to quickly share our code with clients and other developers without troubleshooting the host operating system.
Azure Containers are fantastic for running simple applications which doesn't require complex networking front-end or back-end.
Azure Kubernetes comes with the same capabilities as Kubernetes since it allows us to do the following:
It also enables us to create complex networking environment with front-end network, back-end network, and internal network.
Azure Storage comes with many different capabilities and options to store our data's.
Azure also provides us the option to store our files in different tiers.
Microsoft has implemented the following tools to enable us to work with the different storage options.
It's good to have a fundamental understanding about Azure Storage as it can help with implementing the correct solution and reduce costs.
Azure Blobs is recommended for storing texts, images, videos, and audio files. With Azure Blobs it's also possible to create snapshots for each object and quickly obtain the old version of the object. It also comes with the capabilities to store objects in the following tiers:
Azure Blobs also allows us to store confidential files and legal files which are not supposed to be modified or deleted using the following features:
Understanding the different capabilities of Azure Blobs is extremely useful while integrating to cloud as it can help with reducing costs, confidentiality, and authenticity.
Azure Functions is a serverless feature that allows us to execute code without worrying about the virtual machine. It's recommended to use Azure Functions to run code which handles REST Requests, Timer, and Messages.
Note
With Azure Functions we are only charged for per-second resource consumptions and execution.
Azure Logic Apps is a serverless compute solution that enables us to create automated workflow without having understanding about programming or scripting. We can create a automated workflow which sends a email to specific users or groups when a event is triggered.
Azure App Service is a Platform as a Service (PaaS) solution that provides us with the capability to run our application code or docker container without needing to maintain the operating system. You can choose three different ways to deploy the application code and container:
Azure App Service is a Platform as a Service (PaaS) solution that provides us with the ability to run application code.
Azure SQL is a PaaS solution that is fully managed service where you don't have to deal with configuring, managing, tuning, and backups. You can also choose between the following two pricing models:
It's also possible to scale Azure SQL depending on the demand to reduce the costs. Azure SQL also comes with the following data security features:
These features helps with securing our data at different situations to ensure it stays confidential and secure at all times.
Important
If you're migrating SQL database from on-premises it's recommended to use Azure SQL Managed Instance as it's better for lift-and-shift scenarios and it comes than Azure SQL.
Azure Data Warehouse is used for storing large amount of structured data which will be used for creating Data Visualization, Power BI, and Data Analytics. Azure Data Warehouse is more expensive to operate and maintain therefore it's recommended to use Azure Data Lake.
Azure Data Lake is used for storing large amount of structured, semi-structured, and unstructured data. With all the data inside the Azure Data Lake we can use tools such as Azure Databricks and Power BI to create analytical prediction and graphs for management and board members.
Microsoft Entra Application Proxy is a resource that enables us to access our on-premises applications through an extneral URL. It also allows us to use SSO and MFA on our application to increase security.
Azure Key Vault is commonly used for storing certificates and secrets. Azure Key Vault also comes with different SKUs:
Our applications can access these keys using the following authentication methods:
It's recommended to use Managed Identities if you want a specific resource to access the Azure Key Vault as it's the most secure option. Note that Azure Key Vault is automatically backed up to a secondary region in-case of a disaster.
Microsoft highly recommends reading the following articles if the organization is considering moving to Microsoft Azure:
It's important to read through the articles as it will ensure that the organization's cloud environment follows the SLA, RPO, RTO set by the management. The articles will also go through the different challenges that will come with moving to the cloud such as training employees and following strict RBAC procedures.
Microsoft Azure offers many ways to implement our cloud environment and it comes with many security capabilities to keep our environment secure. It also comes with many capabilities to increase the RTO and RPO to achieve the goals set by the management. Microsoft Azure also supports all sizes of organization's ranging from small, medium, and large to help them with integrating to the cloud.
© 2024 Husenjan
Made by Husenjan