Microsoft Build 2019 is over! It has been a good conference. It had it’s upsides and flaws and being on the floor of the conference here is my short (hopefully) recap of what I have seen, what I recommend and not recommend to watch :)
The most important thing of every conference are the sessions for sure. So here is what I have attended and what I have observed and my recommendations.
Microsoft has evolved the way it does keynotes from the last year which is splitting them into more keynotes. The first keynote is Satya Nadella Vision Keynote. The keynote started with a massive failure of a Holo Lens 2 demo… it was so awkward… I really don’t remember a bigger failure ever on such an important session… but well… things happen and “demo gods” are not always with you. The session itself had it “Satya’s” level which is always good and inspiring but unfortunately after so many years it seems always the same thing :/ And the biggest con of this session was logistic. There were only like 300 seats to watch the keynote live! Rest off the people had to go to the overflow rooms to watch the stream on screens. Well… that would be fine on a free event where by the way you can see Satya but when you pay a lot of money and many times travel a lot of kilometers you expect to watch it live so it was a big no-go for me from this conference. I hope next year they will not continue this approach.
The second keynotes were split into two Tech Keynotes: Microsoft Azure Empowering every Developer by Scott Guthrie and The Microsoft 365 Platform: A Vision for Windows and Office Developers by Rajesh Jha. As you can imagine I went to the Azure one ;) And again - “ScottGu’s” level as always good session with some new features in Azure announced. The problem with it is that a lot of features are announced but with very few demos :( They mostly focus on case studies from clients/partners who already have used those features and the videos they play are always the same: a client/partner -> problem/issue -> new feature in Azure -> problem solved. No details, no specifics - it’s just always great and fun to use. I would like to see the new features at least in a short demo on the stage because watching “the same” video over and over again becomes a bit boring. Nevertheless a good session to watch and again a funny moment with “two Scott’s” having some technical problems and solving them on the fly - you need to watch to see what I’m talking about ;) This session fortunately was available live - but also not for everyone.
My favorite announcements were (not all of them were during the keynote but I’ll put them here):
- ML.NET 1.0 which allows developers which no experience with AL/ML to add models to their solutions, train those models and them to the application they are building in a super easy way. Read more
- Azure Cosmos DB API for Spark and etcd - new API layers for already great product which allow you to do more interesting things with Spark and also kubernetes with the etcd support. Read more
- Azure Kubernetes Service virtual nodes features goes GA so in many cases you can move with this easy approach to spinning up new containers into production. Read more
- KEDA: Kubernetes-based event-driven autoscaling which is a lot of buzz words like serverless, containers, kubernetes but in it looks like a very interesting piece of tech which is event-driven scaling for containers! Read more
- Azure SQL Database Edge a subset of the full Azure SQL DB which you can run on your edge and even on ARM64 processors! Super cool for many scenarios when you need such a DB closer to your solution. Read more
- Azure SQL Database serverless which allows you to optimize your Azure costs in times of smaller activity with the database. I already see a lot of places where this could be introduced in my company in many projects. Read more
- .NET 5 arrives in 2020 which means that FINALLY we will get one .NET platform which will be able to run on multiplatform. This is an epic move from MSFT and I’, so happy to see it. Read more
- Unified pipelines in Azure Devops which means you can have a single YAML file which defines your CI and CD pipeline. Much better approach. Read more
- GitHub Identity support for Azure so now you can use your GH account to log into the Azure Portal. Read more
The breakout sessions are the main sessions during every Build Conference. This year they were an hour long which I believe is optimal for such an event. So the sessions which I have attended were:
- .NET Platform Overview and Roadmap - and this was a very good, informative and entertaining session as always done by Scott Hanselman and Scott Hunter. They explained really good about .NET 5 mentioned above and why, how and where all of this is going. They have also mentioned about .NET for Spark which from the diagrams shown beets other languages supported in Spark… Let’s see how it does in the real world ;) The session also briefly touched upon C# 8.0 byt that was another session which I have attended later.
I highly recommend this session.
- Fundamentals of Kubernetes on Microsoft Azure and the road ahead - then came a time for the “theme” of the conference and the subject which everyone is talking about which are containers and AKS. A good session showing the basics of AKS for people who are maybe not so familiar with it and announcing new things like for example API Server authorized IP ranges, Limiting egress traffic, Kubernetes network policies (GA), Azure Policy for AKS and also showing more about KEDA and of course the future roadmap for AKS.
Again I recommend this session.
- From Zero to DevOps Superhero: The Container Edition - wow… this was a fast train. Overall a pretty good session, really demo focused but I think in many way way to fast not explaining a lot of things. If you have no experience in Azure DevOps - get some first as you will get lost after 5 minutes, you need to a bit about Java development because it was Java based so again if you don’t know how Java apps are developed you will get lost after next 5 minutes. But when you overcome those two elements it’s a good session to watch and learn how to setup Azure DevOps for containers and the whole CI/CD pipeline.
I recommend this session if you know the basics.
- The Future of C# - Mads and Dustin always to do a great job with those sessions. They showed the stuff which was already known in C# 8.0 like Nullable Reference Types or Asynchronous Streams but they also have spent some time showing what they are thinking about in an undefined future with C# and there are some wild ideas which would be awesome to have like records or many improvements to interfaces they would like to introduce.
This is a must see session if you are interested in the language design, inner workings itself.
- Architecting Cloud-Native Apps with AKS and Cosmos DB - this session was basically intro information on Azure Cosmos DB itself and how you can exchange Mongo DB to use Cosmos and it’s Mongo API so no rocket science and nothing interesting in my opinion. I was hoping for more specific use cases, some elements to watch out for but non if this was in this session.
I don’t recommend this session at all.
- Service Mesh on AKS, the future is now - a very chaotic, basic session on a case study from a company in Taiwan as I recall. Nothing interesting to watch and find in this session… and unfortunately English of the speakers was super weak making it hard to understand :(
I don’t recommend this session.
- Building Azure Apps using the Common Data Service - I went to this session with high hopes as I wanted to learn more about CDS as I don’t have a lot experience in it. unfortunately it was a disappointment. Very little information on CDS itself and the speaker was explaining for 10+ minutes, line by line a piece of code in an Azure Function which was extracting exif information for a picture… Seriously? It had no significant relation to the CDS itself so it could have been just two/three sentences about what this code does and that’s it. No one will remember this anyway, you can always look it up on GitHub and it wasn’t related to the core topic itself. Waste of time.
I don’t recommend this session.
- Enterprise security in the era of containers and Kubernetes - as I mentioned before AKS was a “theme” during the conference so having in mind introducing in at my company which is an “enterprise” I though I would be a good idea to go to this session and learn how this all should be done… This session so marked 300 level. So in summary the information was very basic and nothing “special” about this security in AKS. in addition the speakers were using a script which was auto-typing commands in bash and they were fairly complicated commands in terms of amount of parameters. Again - it took time, didn’t add any value to the presentation itself as no one will remember those command anyway and you will have to look to the documentation to get them right.
I mildly recommend this session if you don’t have any working knowledge about cloud security so maybe then you will learn something new.
- Inside Azure datacenter architecture with Mark Russinovich - going to any big Microsoft conference and not going to Mark Russinovich session should be punished ;) This session was expected to be great and it didn’t disappoint in anything. mark as always was informative, funny, showed some of the current state of Azure Datacenters, why some things are the way they are and also showed a couple of things new in Azure like for example ARM Custom Providers, Azure Blob Index, Azure Blob Quick Query or Cosmos DB Multi-model approach to data manipulation.
I recommend this session.
- Best practices for Azure Cosmos DB: Data modeling, Partitioning and RUs - again a session marked as 300 level and the information was basically going through the Cosmos DB documentation regarding this topics in an artificial scenario which didn’t bring any value and was awkward at moments. Just read the docs on this subject and you will know everything needed for this. I was expecting more interesting thins with this topics.
I don’t recommend this session.
- Build Mission Critical .NET microservices - this was one of the most anticipated sessions in the conference. The topic maybe didn’t suggest it but it was focused on Service Fabric. There were some basics information on it, case studies which did not have a “wow” factor to them, some roadmap announcements and what is already done and what will be available soon with Service Fabric. But the most important an interesting part was the future of Service Fabric or even more Service Fabric Mesh and this was done by introducing project Atlas which in general in my opinion puts SF as a very specific technology when you need things which are delivered by SF itself, you are a .NET shop. In any other case you should go with AKS - which simplifying very much - will run on top off SFM.
I highly recommend this session.
- Azure Security: Can you keep a secret? - the last session of the conference which I have attended. I had high hopes for this session but have mixed feeling. The first part which was about discovering secrets in code, managing secrets, app auth was super basic and not level 300 again how it was marketed. The most interesting thing from this session were two private previews announced for Azure KeyVault which were integration with Azure Event Grid which allows you to subscribe to events from Key Vault like for example certificate about to expire so then you can take an action on it and the second one was Azure Policies for Azure Key Vault so now you can set multiple policies for artifacts which are going to be in your vault for example the expiration length of a certificate.
I mildly recommend this session.
Theater, sneek peak, tech talk sessions
During the whole conference presentation on the expo floor also took place. I had a chance to partially or in full see those sessions:
- Talk Tech with Damian Edwards & David Fowler - as always guys are super fun to listen too and very informative but they have spent a lot, like a lot of time on performance and why it’s so great in .NET right now. Well fine but not really my thing to spent so much time discussing this.
- Talk Tech with Brendan Burns - Brendan of course talked about AKS, it’s basics, some architecture and answered some questions.
- A preview of the next evolution in Microsoft SEAL - our homomorphic encryption library - a pretty nice short session on the SEAL library which allows you to do homomorphic encryption which is a super interesting subject in itself and opens a lot of new scenarios but at this point it’s still in a phase which wouldn’t be “doable” in a production environment without substantial computing power - its getting there but still some time needs to fly for it to be usable.
As always there were a lot of booths for multiple Microsoft and partners/sponsors products. You could basically talk to any team you wanted and ask questions which you wanted to ask directly and get some answers.
You could also see some Azure Hardware
This was one the weakest points of the conference.First of all it wasn’t very good and second of all i don’t why the organizers were distributing it in only 2-3 places which made all the people during lunch group at once at only 2-3 locations. The way that food was distributed during the attendee reception of Monday evening was much better. There were food station all over the place so you could walk all around, grab something to eat, talk to people etc. and the food was much better than when comparing to the lunches. I hope that this will improve because when you pay like 2300 USD for the conference food shouldn’t be such a bad element of the conference.
There had to be a party and it was good as always. it took place on the Century Link stadium with many attractions, food and beverages so we all could have a great time together and meet new people in a more informal situation.
It’s time to summarize all of this which I wrote. In general the conference was good. The overall score would be 7/10. It gave a lot of inspiration on new things coming in Azure and not only. Location is good because Seattle is always fun to visit. I just hope that for the future Microsoft will focus more on deeper sessions so they are not so basic in many cases and just are a “live act” of the documentation which you can find docs.microsoft.com
If you would like to learn more about what happened at Build here is a bunch of materials for you:
Hope to see you at Build next year! :)