Gain flexibility to run open-source applications your way with Microsoft Azure

2021年5月26日 に投稿済み

Azure Distinguished Engineer

“Tech companies born with an open-source mentality get it. It’s our ability to work together that makes our dreams believable, and ultimately achievable; we must learn to build on the ideas of others”—Satya Nadella, CEO, Microsoft

Microsoft has always been a developer-first organization, and we are striving to make our tools and platforms better to serve developers. In that spirit, Azure is designed to give developers control over their infrastructure and provide the greatest flexibility regardless of operating system, database, language, deployment tool, or methodology, and to extend those options on-premises and to the edge. Today, many of those systems are open source: Linux, Kubernetes, Spark, and Python—just some of the best-known examples. And so Azure has been built to run those technologies, either at the infrastructure as a service (IaaS) or platform as a service (PaaS) levels, through Linux running in virtual machines (VMs), or our Azure Kubernetes Service (AKS) for cloud-native development, often in tandem with one of our managed services for popular open-source databases.

We are committed to open source at Microsoft. We contribute to Linux, Kubernetes, Visual Studio Code, and serving in open-source organizations like the Cloud Native Computing Foundation (CNCF) or Open Source Security Foundation (OpenSSF). At Microsoft Build, we are sharing our latest work to enable developers to develop flexibly and innovate quickly on Azure.

How Microsoft does open source

Open source is about creating an open mindset—collaborating and contributing to software knowledge to create added value and build on the work of others. We collaborate with communities, customers, and partners to bring the best of their technologies to our customers and contribute to open-source projects to ensure they are healthy and to share our innovations. Our developers are using open source to get their jobs done more effectively. Virtually every team at Microsoft is involved with using or contributing to open source: 30,000 Microsoft employees have GitHub accounts associated with their Microsoft identity.

Flexibility for your cloud-native applications

Every day more and more developers are reaping the benefits of cloud-native development. Azure helps to modernize your applications and migrate to the cloud without disrupting your business. We built Azure with the developer in mind so that difficult architectures are made simpler. Azure is a highly secure cloud platform with the broadest compliance coverage so you can trust your workloads and data are safe. Let’s look at some of the ways this works.

Containers, microservices, and DevOps solutions are the core technologies for building on the cloud. Ninety percent of new apps will consist of microservice architectures by 20221. To manage the complexity of containerized applications, Azure Kubernetes Service (AKS) orchestrates the containers and scales up or down as necessary with an automated, integrated continuous integration and continuous delivery (CI/CD) pipeline. The benefit of microservice architecture is an open, efficient, scalable, and portable solution for agile development with automated workflows to build, test, and deploy.

We also work with partners to bring their cloud-native technologies to customers. For example, Azure Red Hat OpenShift provides highly available, fully managed OpenShift clusters on-demand, monitored, and operated by both Microsoft and Red Hat. Kubernetes is at the core of Red Hat OpenShift. OpenShift brings added-value features to complement Kubernetes, and that’s what makes it a turnkey container platform with a significantly improved developer and operator experience.

For many customers, serverless technologies provide the platform for next-generation applications. You can maximize the benefits of microservices by using event-driven architecture to communicate between decoupled services through events while maintaining independence, abstraction, and flexibility. Kubernetes Event-Driven Autoscaling (KEDA) is an open-source project bringing event-driven and serverless scale to any container. The community has helped build support for over 35 event sources spanning all clouds. You can also pair KEDA with a serverless runtime like Azure Functions. Azure Functions layers on a serverless developer experience and runtime to event-driven architectures. Azure Functions spans 10 separate open-source projects on GitHub with 60 contributors from the community across hundreds of commits. Serverless applications reduce cost, increase developer productivity, and accelerate the pace of innovation. Developers can finally focus on building applications and not infrastructure management. 

You can enhance your microservice architecture even more with an open-source project, Dapr (Distributed Application Runtime), that helps developers focus on building their applications instead of solving the same distributed application challenges over and over again. Dapr offers a collection of building blocks that abstract away challenges such as saving state for building stateful applications, service invocation, and secret management. By integrating with over 70 different components that allow developers to use industry-leading open source and cloud-specific technologies, Dapr simplifies the development of cloud-native applications. This simplification helps developers build their applications faster without sacrificing the flexibility to choose which language to use or where to run the application—on-premises, in any cloud, or on an edge device. Dapr runs alongside the application as a sidecar so the application code remains independent and Dapr scales with it. With the recent release of Dapr v1.0, Dapr is now production-ready and some Azure customers such as ZEISS and Ignition Group have already used Dapr to build their cloud-native applications running on AKS.

Azure lets you build on your terms with integrated support for open source tools, languages, and frameworks. For Java developers, we just announced the general availability of the Microsoft Build of OpenJDK, a long-term support (LTS) distribution of OpenJDK that is open source and available for free for anyone to deploy anywhere. Our open cloud gives you application portability and flexibility so that you can focus on delivering impact. To learn more about the new Microsoft Build of Open JDK visit our recent blog post, "Azure is the home for your enterprise Java applications."

Unlock innovation faster

Azure also provides a number of services to help you build AI-powered applications. With Azure Machine Learning you can build, train, and deploy machine learning models using open-source python machine learning libraries and platforms. You can manage and track your end-to-end machine learning lifecycle using MLflow, remove performance bottlenecks using PyTorch Profiler, and optimize and deploy it anywhere using ONNX Runtime, a high-performance inference and training engine. ONNX Runtime now supports accelerated training of transformer models making them up to 45 percent faster. With PyTorch Enterprise, you can get expert support for your deep learning projects while running 100 percent open-source PyTorch code. Azure reaches our developers where they are and, for those without specialized training in machine learning, we offer pre-trained AI models to incorporate into their application. Azure Bot Service is a comprehensive framework for building enterprise-grade conversational AI experiences. Bot Framework allows you to build, test, and publish your bot for any scenario—from sales to customer support and employee productivity.

Critical to machine learning is mitigating unfairness, protecting your users with differential privacy, and documenting the machine learning lifecycle with datasheets. We are putting responsible machine learning principles into practice and open-sourcing machine learning toolkits to enable data scientists and developers to innovate responsibly.

AI would not be valuable without data and that is why we have open-sourced datasets so that you can save time on data discovery and preparation. Azure open datasets are publicly available datasets that are ready to use in machine learning workflows to improve your accuracy. Datasets are accessed through an API and include public-domain data for weather, census, holidays, public safety, and more. If you choose to use your own data you can store it in our fully managed, open-source databases including Azure Database for PostgreSQL, Azure Database for MySQL, Azure Database for MariaDB, and Azure Cache for Redis, as well as Azure Cosmos DB, a fully managed NoSQL database with open-source APIs for MongoDB and Cassandra.

We are enabling developers to build new intelligent applications with the latest in machine learning toolkits and proactively supporting you to innovate responsibly. To learn more about how to harness the value of AI in your applications check out our recent blog post, "Harness the power of data and AI in your applications with Azure."

Azure open-source ecosystem

The Azure open-source ecosystem incorporates solutions from many companies and individuals. Part of making Azure a great platform for developers is to support all of the services they expect, regardless of the source. And we also strive to make Azure a great platform for partners. We’ve mentioned the Azure Red Hat OpenShift service, but we also have partnerships with Red Hat, SUSE, Databricks, HashiCorp, VMware, and others to jointly build and support their solutions as managed services. Together we can create a seamless experience across operations, identity, security, and billing that simplifies life for our users. Extending this momentum, at Microsoft Build, we announced an additional Elastic on Azure native integration allowing customers using Elastic services on Azure to access integrating billing, full technical support, and Azure portal integration.

As we look towards the future, we are thrilled to partner with companies that are as invested in developing open-source technologies as we are. Find out more about our partnership with Elastic in our recent blog post, "New Azure capabilities to simplify deployment and management."

Azure is the cloud for open source developers

Our mission at Microsoft is to empower every person and every organization on the planet to achieve more. Azure can help you innovate today, tomorrow, and in the future. We are empowering developers to build and innovate their applications by using our platform as their open playground, complete with the best tools and building blocks. You don’t have to know what you are going to build yet, but we are excited to see your creation. Check out our session at Microsoft Build, Run Open Source Applications your way with Microsoft Azure, and our amazing demos to see how we are empowering developers to innovate freely and quickly. Get the latest updates at the Open Source at Microsoft blog on how our engineers are innovating with open source and follow us on Twitter.


1IDC FutureScape: Worldwide IT Industry 2019 Predictions

Azure. Invent with purpose.