Wednesday, July 27, 2022

 

This is a continuation of series of articles on hosting solutions and services on Azure public cloud with the most recent discussion on Multitenancy here and picks up the discussion on the checklist for architecting and building multitenant solutions. Administrators would have found the list familiar to them.  

While the previous article introduced the checklist as structured around business and technical considerations, this article provides information on a specific technology named Azure Arc

Azure Arc is a bridge that extends the Azure platform to the applications and services with the flexibility to run across datacenters, edge, and multi-cloud environments. Cloud native applications can be developed with a consistent development, operations, and security model because Azure Arc runs on both new and existing hardware, virtualization, and Kubernetes platforms, IoT devices and integrated systems.

It helps to centrally manage a wide range of resources including Windows and Linux servers, SQL Server, Kubernetes clusters and Azure services. It performs virtual machine lifecycle management from a variety of platforms such as Azure Stack HCI, VMware, and System Center VMM environments from a centralized location. It helps to meet governance and compliance standards for apps, infrastructure, and data with Azure Policy. Other services can be enrolled into such as Azure Monitor, Microsoft Defender for cloud and updates. The Microsoft Cloud adoption framework for hybrid and multi-cloud management in the Microsoft Cloud continues to provide guidance.

Cloud native applications can be built anywhere and at scale with Azure Arc because DevOps practices can be applied anywhere, and software can be build incrementally. Existing tools and practices involving source control and development environments can continue to work with Azure Arc. Errors can be reduced with consistent policy enforcements. The APIs are written once but run anywhere with the help of Kubernetes. It works even with machine-learning pipeline. It takes advantage of elastic scale, consistent on-premises and multi-cloud management, and cloud-style billing models. Sprawling IT assets can now be controlled, organized, and governed. It simplifies governance and management by delivering a consistent multi-cloud and on-premises management platform with the following features:

-          It promotes visibility of non-Azure and/or on-premises resources into Azure Resource Manager.

-          It helps to manage virtual machines, Kubernetes clusters and databases as if they were running on Azure

-          It helps to use familiar Azure services and management capabilities

-          It supports continued usage traditional ITOps while introducing DevOps practices to support new cloud native patterns in the environment.

-          It helps to configure custom locations as an abstraction layer on top of Azure arc-enabled Kubernetes clusters


#codingexercise 

Two nodes of a BST are swapped, find them
void InOrderTraverse(Node root, ref prev, ref List<Node> pairs)
{
if (root == null) return;
InOrderTraverse(root.left, ref prev, ref pairs);
If (prev && root.data < prev.data) pairs.add(root);
InOrderTraverse(root.right, ref root, ref pairs);
}


Given a BinaryTree and a value, check if the path sum from root to leaf equals the given value.
void getPathSum(Node root, int sum, ref List<Node> path, ref List<Node> paths)
{
if (root == null) return;
path.Add(root);
getPathSum(root.left, sum, ref path, ref paths);
getPathSum(root.right, sum, ref path, ref paths);
if (root.left == null && root.right == null && path.Sum() == sum)
   paths.add(path);
path.RemoveLast();

}

No comments:

Post a Comment