The COVID-19 pandemic required most of the organizations to adopt a remote working environment. This made people realize the importance of Cloud platforms and tools in enabling daily business and transactions to sustain the business and continue providing services to customers and consumers. Even during the pandemic, we saw Microsoft log a recording revenue for Intelligent Cloud for the closing the financial year on March 31 for the year 2019-2020.
Recently Microsoft shared the adoption rate of Microsoft Teams (which is their new collaboration platform after Skype for Business and Skype ecosystem). They reported that there are 72 million people worldwide who are now using Microsoft Teams daily as their primary collaboration tool worldwide. The revenue for Intelligent Cloud given above also shows a surge in the adoption of Cloud and AI services. We saw around 60%+ growth in the jobs outside tech industry in year 2019, as per Microsoft reports. This clearly shows that there is a massive wave in the adoption of Microsoft Azure, which is a cloud platform by Microsoft supporting Microsoft and Open Source workloads. In this blog, we will be talking about how we can build cloud-first applications using Microsoft Azure.
What are “Cloud First” Applications?
“Cloud First” applications are applications which are using the maximum of cloud native services (services made available in Cloud) and running fully on cloud. Their Dev/Test environments can be a part of cloud as well, but this is not mandatory. For building Dev/Test environments we can use Azure Dev/Test which allows us to spin up quick Dev/Test environments with a bare minimum of tools required for building applications. Similarly, for AI-based apps for Data Scientists and Machine Learning Developers, Microsoft offers DSVMs and DLVMs (Data Science Virtual Machines and Deep Learning Virtual Machines) respectively. This has both Windows and Linux flavours.
Types of Developers
Let us first understand the broader category of Developers
Tools and SDKs
Visual Studio is the core integrated development environment (IDE) for building Microsoft Azure based apps. Visual Studio also has different flavours such as Visual Studio code which can run on non-Windows Platforms like Mac (Apple) and newly announced web-based environment “Codespaces”.
Developers can leverage different Azure Services based on their programming language preferences. Primarily Microsoft offers “Unified SDK” (Collection of Libraries for .NET, Java, Python and JavaScript Developers) and also “SDK” for each Frameworks like .NET and Java, etc. Microsoft also offers Azure CLI and PowerShell scripts for IT Infrastructure professionals and admins to build, configure and deploy Azure IaaS components and workloads. Microsoft offers a cross platform Azure Storage Explorer which can be used to connect, operate and query data in Azure Storage. It runs on all Windows and non-Windows platforms like Linux and MacOS.
Azure DevOps
Azure DevOps enables developers to build CI/CD and allows them to check in code in the repo, do code reviews, testing, and bug fixing. It also enables developers and Project stakeholders to use DevOps dashboard to see the velocity of overall project and perform project rituals as per Agile/Scrum. We recently held a webinar on how to enable DevOps as a practise using Microsoft Azure. If you would like to know some of the insights shared in the webinar, you can access the recording here.
Let us quickly understand what Azure Services developers can leverage for their application development beside the environment and tools and SDK we talked of above.
Azure App Services (For Front End – Web Tier)
Developers can deploy their Web Apps (it can be .NET based apps or open source apps and frameworks like PHP, WordPress, Ruby etc.). Web Apps allows developers to have control on pre-production and production deployments by having “slots” features. They can define the scale, implement and integrate Identity management services like Azure AD on top of it. Services like Application Insights can be used for end-to-end application monitoring and we can configure different firewalls like Azure WAF (Web Application Firewall), Azure DDoS Protection, Azure Front Door etc. Microsoft also announced Static Web Apps on Azure in the recently held Build 2020 conference. Currently it is in Preview and you can leverage Azure Serverless and GitHub CI/CD with it to build faster scalable web apps. You can read more about it here.
Azure Data Services (For Back End – DB Tier)
Modern data and analytics estates can transform a business with five verticals having a complementary Microsoft Azure services to it. Developers can utilize the different data services based on the application demand. Azure provides different Relational and Non-Relational (NoSQL) data services along with state-of-the-art scalability, availability and security services and features to ensure your data is well protected, meeting regulatory compliance and highly available. Here are some of the widely popular data services in Azure:
Azure Serverless and Microservices offerings
Azure Functions is the Microsoft Serverless offering which allows you to build Microservices based architecture and allows different language experience and seamless deployment from Visual Studio. Azure function provides a wide range of triggering options and an innovative way of accessing and processing your data along with open source runtime that runs anywhere. Microsoft Azure also supports Azure Kubernetes Service (AKS), Docker and recently popular microservices framework Dapr. Check more on the Dapr framework here.
To know more about Azure AI services, Citizen Developers environments, new Azure analytical service “Azure Synapse” and other value add Cloud First app development services, please refer to the recording of our recently-held webinar “Building Cloud First Apps using Microsoft Azure”.