What is Microsoft Cloud Adoption Framework?

Microsoft Cloud Adoption Framework is basically a collection of guidance, best practices, tools and techniques to be followed by various technology business and technology stakeholders in the organization  to make sure they build and maintain the best possible platform which ensures security, governance, scalability and other non functional requirements aspects.

While cloud adoption gives 80%+ of benefits compared to the traditional, or legacy on-premise data center infrastructure way of life, as a public platform, it also introduces few points of concerns to business leaderships such as Security. Years back when the cloud service platforms were initially introduced, the banking and other financial firms had trust issues because there were multiple levels of organizational hierarchy to be convinced and technical knowledge level is different from person to person. But today, it is not anymore an issue because we have multiple cloud providers in the market providing cutting edge solutions to solve each and every problem of the customer and no significant breaches were reported, and more importantly the cloud literacy level of people also rose.

Here is where the Cloud Adoption Framework plays its big role in helping people, process and the technology. It defines a clear and practical roadmap to the cloud that is foolproof and quick enough to give businesses the expected result and smooth transition.

Below are the main stages in the roadmap  as per Microsoft Cloud Adoption Framework:

image

  1. Define: We start the journey by defining a business case, followed by a cloud adoption strategy. We set our vision, key drivers, objectives, and justification inline with the organization vision and other aspects such as financial and technology parameters.  We set the expectations and document the need at this stage. The motivation for a cloud adoption decision could be because of upgrading technology, business expansion, cost, reducing complexity, operational efficiency, customer experience, faster time-to-market, or business agility.
  2. Plan: Create the cloud adoption plan. This is one crucial phase where we have to plan the communication model, security, monitoring etc. Cloud readiness and adoption plan will be crystal clear at this point. Most cases would require a platform/application/infrastructure assessment and gap analysis for effective planning, especially for enterprise level applications. It is recommended to have an incremental implementation approach for larger projects. Approaches taken for migration for each application or service could be different. Several approaches are in consideration such as Rehost (lift-and-shift), Refactor (like splitting functionality to multiple chunks for maintainability), Rearchitect (like converting monolith to microservices architecture for scalability), Rebuild (dump unused functionality/applications and build new), and Replace (discard the old applciation and make everything new). For the business continuity, you might also plan to have the coexistence of legacy and new platforms for a short/evaluation period, not just to evaluate the efficiency, but also to help the staff and customers a smooth transition.
  3. Ready: We set the stage, aka Landing Zones and prepare other cloud infrastructure dependencies here.  This phase also includes the validation of the architecture, and patterns & practices.  As part of the process, team will address the issues identified while gap analysis, prepare team (eg. by providing training), and establish mitigation/support options.
  4. Adopt: Action phase! We do the migration/modernization of platform and depended applications. We also may do the cloud native transformation if planned earlier. Migration to PaaS services or introducing DevOps/DecSecOps/DevSecTestOps can be in the scope.
  5. Govern & Manage: Time to set benchmarks, compliance, rules, protocols, risk tolerance levels, mitigation plans, monitor, audit, and manage. Governance & Manage are not really phases, but a continuous monitoring and improvement process.

Read more on the Microsoft Cloud Adoption journey here:

A quick Sentiment Analysis app using Azure Cognitive Services

Step 1: Create a Text Analytics Resource

From the Azure Portal, create a resource “Text Analytics”

image

Once created, you should be able to get the Endpoint URL and Key from the “Keys and Endpoint” section

image

Step 2: Create a .NET Console application in Visual Studio

Get the Azure.AI.TextAnalytics nuget package for your solution

image

Here you go your sample code

 
using Azure;
using Azure.AI.TextAnalytics;
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "https://mytestoutlookaddin.cognitiveservices.azure.com/";
            string key = "paste_your_key_here";

            var client = new TextAnalyticsClient(new Uri(url), new AzureKeyCredential(key));

            DocumentSentiment mood = client.AnalyzeSentiment("It's a nice day!");
            Console.WriteLine("Mood: {0}", mood.Sentiment );
            Console.WriteLine("Positive: {0}", mood.ConfidenceScores.Positive);
            Console.WriteLine("Neutral: {0}", mood.ConfidenceScores.Neutral);
            Console.WriteLine("Negative: {0}", mood.ConfidenceScores.Negative);
            Console.ReadKey();
            
        }
    }
}

Below is the output expected:

image

Getting myself introduced to Azure Synapse Analytics

This week I got an opportunity to be part of the program “Analytics In A Day”, organized by my employer, Orion Innovation. This is a one full-day workshop by Microsoft, delivers through their partners and target audience is usually technology leaders, architects, managers and developers. I have experience with various components of Azure Synapse Analytics individually such as ADF/Azure Data Factory, Azure SQL Data Warehouse, Databricks and DataLake but it is a very nice experience working with a unified platform which provides seamless integration, or in other words – each stakeholders: Data Scientists, Analytics, Architects, Business users and IT guys gets the relief of having bothered only about the area they really have to bother about, such as: Data Scientist can focus on his data and models and don’t worry anymore about how he/she can bring the data inside the tool. The program starts with data sources, and talks about the ingestion, processing storage, machine learning and visualization.

I was previously part of “DIAD aka Dashboard In A Day” also, which is all about preparing reports and dashboards in Power BI stack.

Microsoft's Azure Synapse Analytics bridges the gap between data lakes and  warehouses | TechCrunch

“Units” in Cloud Platforms and Services

When it comes to costing/pricing on cloud based platforms such as Azure or AWS, it is always a confusion especially for beginners what various units mean. Let us have a look at some such common unit terminologies.

  1. SKU – Stock Keeping Unit – A purchasable units in a platform. Ref – https://en.wikipedia.org/wiki/Stock_keeping_unit

  2. ACU – Azure Compute Unit – A unit used to compare compute performance across Azure SKUs. Ref – https://docs.microsoft.com/en-us/azure/virtual-machines/acu
  3. TU – Transaction Unit – Usually 10K transactions = 1 Transaction Unit
  4. DTU – Database Transaction Unit – Ref – https://docs.microsoft.com/en-us/azure/azure-sql/database/purchasing-models#understanding-dtus
  5. eDTU – elastic DTU – Ref – https://docs.microsoft.com/en-us/azure/azure-sql/database/purchasing-models#dtu-based-purchasing-model
  6. RU – Request Unit – Ref – https://docs.microsoft.com/en-us/azure/cosmos-db/request-units
  7. DBCU – Databricks Commit Unit – Ref – https://azure.microsoft.com/en-in/pricing/details/databricks/
  8. DBU – Databricks Unit – Ref – https://docs.databricks.com/administration-guide/capacity-planning/cmbp.html
  9. DPU – Database Processing Unit – Ref – https://aws.amazon.com/glue/pricing/

This list will be updated regularly.