This year was a special edition of MS Build; for obvious reasons, it was 100% virtual. I must say that I had my doubts at first, but I'm forced to admit that Microsoft nailed it. The experience was fantastic. I liked the personal schedule builder and the rebroadcast in 3 different timezones, to only name a few things. Microsoft even took the time to ship the conference's gear to all attendees, DIRECTLY to their doorstep, what a nice touch.
There were over 600 sessions, running 24h/day continuously. Unfortunately, this recap only covers what I was able to watch. If you see something missing, don't hesitate to engage in the comments down below.
Once again, Satya had a very compelling opening keynote. He remembered everyone that in a world constantly changing, the developer is more important than ever. Microsoft is building the best toolchain to empower those developers.
No big announcements from his part, but he highlighted some critical aspects of the conference to keep on eye on:
Scott was demoing some new vital tools in the developer environment, starting at the workstation's tooling.
Winget is a new tool to manage and script the installation of software packages. It will save developers a ton of time when they need to rebuild or set up their machines for a new project.
He showed some of the features of PowerToys, namely fancy zones, which I must admit is pretty awesome to arrange your working space in a more efficient way.
WSL 2.0 now support graphical applications, and there's even a new Linux file explorer GUI available.
Windows terminal is finally out of beta and just hit version 1.0.
Developing applications has always been made working locally. This approach comes with some downsides. For instance, you need to have all the tools and other dependencies of the project installed locally. It tends to create snowflakes environment. How many times have you heard "Strange it works on my machine".
Microsoft is coming with a new developer experience that runs entirely remotely. CodeSpaces (formerly VS online) is a new tool that enables you to spin a complete dev environment in the cloud, on a remote machine. Then you can develop directly in your browser or connect to it with your favorite tools like VS Code or Visual Studio.
It's also now possible to spin up a fully functioning environment from a GitHub repository. It will come pretty handly to review a pull request.
Collaboration is at the heart of this new experience. With LiveShare, you can collaborate with multiple people on that remote environment like you would in an Office document. This functionality will enable a whole new way of doing pair programming, mainly since most of us are still confined at home.
That session started with some impressive statistics about the Microsoft Intelligent Cloud (a.k.a. Azure + O365).
- Used by 95% of Fortune 500 companies
- 61 azure regions, more than any other cloud provider
- MS Teams hosts 4.1 billion meeting minutes per day
These are some pretty impressive numbers, and it seems they keep growing quarter after quarter. All of these remarkable services are built on top of the same building blocks that are publically available to you in Azure; ServiceFabric, Kubernetes, Media Services, Redis, FrontDoor, etc.
Microsoft wants to enable all the developers to focus on their application and not on the infrastructure supporting it. Speaking of which, they announced some new capabilities:
Windows container support for lift and shift scenarios
Spot pricing for low priority workloads
A free tier that gives you 400 RU
Serverless pricing where you only pay per consumption
New cognitive services
Synapse Link for real-time data analytics with no performance impacts on operational DB
No ETL required
Deep integration with PowerBI
First of all, there's a new kid on the block, Blazor WASM, which brings a new alternative for devs to run .NET in the browser to build rich client applications using the technology they know. It provides complete debugging capabilities in the browser. It's also possible to debug a full loop of Front-end and Back-end altogether in Visual Studio.
It's the beginning of the unification of the whole .NET stack.
Dotnet Core and Framework will be merged in the new version .NET 5.
MAUI will be the evolution of Xamarin Forms and will bring a single UI that can target any platform like Android, iPhone, Windows, etc.
Complete talk here
I think that session was my favorite. I must admit I'm a big fan of Functional Programming (FP) and especially F#. Microsoft showed some preview of what's coming in C# 9.0. Most of the new features are all about FP concepts and are implemented very similarly to F#, which will help bridge the gap between the two languages.
- Immutability in C# classes
- Simplicity, you can now skip some boilerplate code like
- Structural equality
- Better pattern matching
With all of this, Microsoft will reach an even broader audience and onboard them in the rich ecosystem of C#. It will also provide all the necessary tools for C# developers to start playing with FP concepts and write better code.
Making every developer and team more productive from dev box setup to coding to deployment and debugging
Microsoft has always invested a lot in great tooling. Call me a fanboy, but Visual Studio and VS Code are, in my opinion, the two best IDE out there. They are now bringing an improved experience within collaborative development with chat and voice integration directly in LiveShare. Git support also got a significant revamp, improving how VS handles git repositories. IntelliCode got smarter; it's now able to suggest coding standards that your teammates are following. It will save a lot of comments in PR when onboarding new developers in a project.
Infrastructure as Code (IaC) is the new trend in DevOps practices, and Microsoft knows it. They are doubling down in their IaC technology, the ARM Templates. They added a useful new parameter that you can use in PowerShell or Azure CLI when deploying an ARM template.
What-if will output all the changes that will be executed if you deploy that ARM Template. A great feature to validate impacts before deploying. There are also some new features to ARM template themselves:
- Auto-generation of parameter files
- Intellisense for
- Improved schema
TemplateSpec, a new way to package, version, and store ARM templates. It will help simplify the deployment of big infrastructures.
Microsoft has built one of the biggest supercomputers on earth (Top 5), putting it at the service of AI for everyone's benefit. They are improving their models and offering it to you as a service. They are also running a lot of research projects on it.
In that session, they showed an AI that can automatically read a user requirement and write Python code that fulfills that requirement. What's impressive is that the generated code integrates flawlessly with existing code. Not only the code is accurate, but it's well written and easy to read. It's utterly indistinguishable from code written by a real person. I don't think this kind of capability will ever replace a good old developer, but it can indeed be an excellent tool to have to speed up the development of an application.
Microsoft is one of the few providers that brings the AI at the edge. It enables the use of AI in the most challenging environments that don't always have a stable internet connection. On one of the demos, the equip a robot from Boston Robotics to make it fully autonomous.
The Power platform is having a lot of traction lately. It allows super rapid application development, which requires little to no code at all. It's currently used by more than 97% of the Fortune 500. This rich environment of tools for power users is also adding new services. Power Virtual Agent is a new automated chatbot build on top of the Microsoft bot framework.
Other notable improvements
- Support for the OpenTelemetry standard
- Transaction correlation support for Azure Service Bus
- New visualization
- Merge of application and infrastructure logs for better correlation and diagnostics capabilities
- Serverless option, only pay for what you use
- Scale instantly
- Can event completely pause/resume your DB automatically (e.g., at night when there's no traffic)
- AAD authentication
- DataBricks pools
- DataBricks container services
- ZSkipping, a new algorithm that can bring up to 100x performance improvement
It does not entirely cover the event, but it should give you a good overview of the significant announcements. Thank you again, Microsoft, for organizing such a great online and free event.
You can also consult the official book of news for the complete list of announcements.