Microsoft UK kindly sponsored us to watch the keynote stream of Connect() last month. Traditionally we do this every year with Build, so it was nice to get the community together for an evening - a few beers and pizzas with friends break up the week nicely.
Overall, I was very happy with the announcements and it created a great forum for discussion. This conference took us back to what it’s like to be a developer; In an age where every other announcement is about AI it was nice to take a step back to developer tooling and what Microsoft are doing to help developers get more productive.
The UK Azure Community jointly put on many Microsoft-sponsored hacks with Data Science London from 2012 onwards, so I think cloud has democratised data for everyone. But we do all feel smothered by the promise of AI at the moment, so I really did see Connect() as a little respite.
There was a lot of focus on Visual Studio Code and Visual Studio. Running around between several communities, it’s great to see so many people who are traditionally non-Microsoft people use Visual Studio Code as their default editor. I saw the Intellicode announcement and immediately installed the extension.
When Live Share was released, I loved it. Now it has become our new standard. We, as developers, demand this sort of instant collaboration with all of our tools. Intellicode is another tool that I’ve used since it was released - it's something we take for granted these days and I think Intellicode will shortly become the new standard. Like so much of our modern stack, machine learning has provided new enablement. Intellicode is the perfect example of this; it knows what I want to code and proves pretty easily that I am a very predictable developer! Anyway, I’ve been using it for weeks now and haven’t uninstalled it, so it’s looking good.
My company, Elastacloud, was privileged to be part of the Connect() keynote for the release of Azure Machine Learning into GA. It was a very fulfilling experience which entailed strong collaboration with the product team. AMLv2 is a different beast from v1, which wasn’t really for developers, but more for the data science aficionados and noobs. It didn’t really scale so well either, though it did look pretty. Time has taught me function over form is always a better bet, so it's nice to see Microsoft making the right updates in v2.
These are the key features which make it work nicely out-of-the-box:
- Ability to version control models
- Reuse of Python and Python machine libraries
- Being able to turn trained models into web service endpoints for scoring services
- Easily pluggable into a Continuous Deployment scenario
- Full API and CLI support
- Scalable through one-click deploys to Kubernetes clusters
- Integration with Jupyter notebooks
- Concept of jobs and logging
- Full visibility of results and history of machine learning experiment in Azure portal
There I go again, talking about AI! In this instance though, and as evidenced through our customer case study in the keynote, AMLv2 is a developer’s tool which allows many skills in the team to build deployable production services in Azure which can scale using common container-based technologies.
Speaking of containers, there were a great many welcome additions to Connect() which really set aside Microsoft in the container space. I think the container space has been awash with orchestration tools for a few years now, so it’s nice to see Microsoft taking a leading role in defining standards. Do I use Kubernetes, Mesosphere, Swarm etc. when I need to manage and scale container instances? There are some hard and fast rules to each of these, and if you want to have the best of it you need to be an expert. In this way it was great that Microsoft has stepped into this space and removed the need for us to manage infrastructure.
The term “serverless” is an instant boon for all of us that want to ensure that we focus on writing code and building systems. I think this is a great strategy for Microsoft, really taking a lead in a space which is awash with a lack of clarity for most engineers. Of my favourite announcements at the event, this one topped it - the new Azure Kubernetes Service (AKS) public preview for Virtual Kubelets, a technology that Microsoft open-sourced last year. AKS is a great service and is a big step up over Azure Container Service (ACS) but you still have to do a lot more work here to manage and administer the service. With the new preview you don’t have to do very much, containers are elastically provisioned in seconds so we can finally welcome the serverless revolution! Whilst there were no updated announcements for Service Fabric Mesh, Microsoft raised the bar with this service and now I feel that you can easily choose between a serverless Service Fabric or a serverless Azure Kubernetes service.
I’ve been to so many customers over the years that have struggled with devops and think they’re doing a marvellous job. It’s not their fault, because when they started their Azure journey the tooling was very different. We see combinations of TeamCity and Octopus Deploy all over the place, and it’s become fairly evident that they spend 70% of their time messing around with how to get things into production. Azure Pipelines / Devops and GitHub Workflow bring this home now. Any business using tools which expend 70% of their dev’s team time on deployment should sack their CTO! This is a complete waste of company money, and for companies to move at an accelerated pace of development, they should drop all allusions of this being difficult now. Microsoft has a beautiful, integrated and extensible approach to devops now, and it should be a part of every developer’s arsenal. Devops shouldn’t be a fight with tooling, it should be seamless and that is what Microsoft has provided with the advent of Azure Pipelines.
There were a great many more announcements, such as those around CosmosDB, Azure Search, open sourcing .NET (WPF etc.), .NET Core 3.0 and Visual Studio 2019. However, I wanted to capture what I thought the spirit of this Connect() event was to me, and it's that this event was all about developers, Microsoft’s core bread and butter.