EBSCO sent me and 4 other developers to the BUILD conference again this year. (It is so great to work for a company that values training and community engagement but is also willing to pay for it.) The conference was held in Seattle this year at the Washington State Convention Center downtown. For those that couldn’t attend physically, Microsoft live streamed many of the keynotes/sessions and will make all the recordings available on Channel 9, as always.
This year Microsoft held various pre-con events on Tuesday. These were day-long workshops focused on specific technologies, including Artificial Intelligence, Office365 Development, Serverless in Azure and Visual Studio Extensions. My colleague Samir Behara attended the Artificial Intelligence workshop and blogged about it –
All the workshops started in the morning and my flight didn’t get in until noon so I missed those but I was able to attend the BUILD Developer Day event on the Microsoft campus. Julia Larson kicked off the event welcoming the crowd of 125 customers and explaining this was the first time they had invited this many customers to talk to the product teams at once to get feedback and improve the products.
“We are obsessed with customers and getting their feedback!”
The format was interesting. The explained it would be like “speed dating’’ where each customer would be assigned to a table and various Microsoft engineers would rotate to the table every 20-30 minutes to learn about how the customer used various technologies and ask questions.
I spoke with 6 different sets of engineers all of which asked interesting questions and were fun to talk to. All the engineers were looking for opportunities to improve their products. Overall, it was a great event and had the opportunity to meet many contacts that I will utilize in the future.
Satya Nadella, CEO of Microsoft, kicked off the conference with the mission of Microsoft:
“Empower every person and every organization on the planet to achieve more.”
Satya is an incredible speaker. He spoke about “timeless values” that Microsoft is focusing on to achieve the mission:
- Empower people
- Inclusive design
- Build trust in technology
All the keynote presenters spoke to these values during their presentations and how those new features were written to achieve these values. Satya’s leadership is a breath of fresh air and continues to press forward beyond old stigmas from Microsoft’s past.
There were many demos and announcements around machines learning with the addition of new Cognitive Services including (but not limited to):
- Vision Service
- Language Understanding
- Speech Service
- Decision Service
- Video Indexer
Many of these new services were highlighted across the suite of Microsoft products.
Microsoft continues to bring machine learning to developers so they can be easily leveraged in their applications/services without needing large investments in machine learning training. This seems like the most practical approach for developers to benefit from machine learning without have to gain or employ a PhD. Although, more advanced solutions are also available for those with a deeper understanding of the topic and need to customize the learning algorithms.
Azure, as always, is a big push. Two new features that stood out to me were the new Azure Cloud Shell and Azure CostmosDB offering.
Azure Cloud Shell
Azure now provides a shell inside the Azure Portal website for those that prefer the commandline. The Azure Cloud Shell is in preview currently but the demos were very impressive.
Azure CosmosDB is the first distributed, multi-model, high-scale database as as service. It supports columnar, key/value, documents and graph models. As well as multiple client APIs including: MongoDB, DocumentDB SQL, Gremlin and Azure tables.
This is a similar approach to the Azure Container Service which supports multiple container orchestrators (Kubernetes, Mesos and Docker Swarm). I really like this model of building support in for established, 3rd party APIs. I think this will be a key differentiator amongst cloud providers.
Microsoft did a great job at BUILD highlighting large customers using Azure and .NET. I’m not sure if its actually better than years past or I just noticed it more this year. Regardless, Microsoft must continue to show who is using their technology and highlight their success stories.
Docker and container technologies were a star of the show. From SQL Server containers to Docker support in Visual Studio and Service Fabric, Microsoft knows container technology is a big deal and they are working hard to support it everywhere. Debugging against multiple containers simultaneously within Visual Studio was a really cool feature and, I believe, will be a differentiator amongst IDEs.
I was able to attend some invite-only roundtable sessions with the Microsoft teams working on containers and it was great to see Docker employees there as well. Microsoft is working closely with the Docker team to make Windows containers and Visual Studio development a first class experience.
No big announcements here but continued progress toward .NET Standard 2.0 and .NET Core 2.0 including a preview release. Based on customer feedback, the .NET team decided to include significantly more APIs from the full .NET Framework in Core 2.0 resulting in 70% of all existing Nuget packages just working. The GA release of 2.0 is targeted for this fall. This will be big!
Terry Myerson and Joe Belfiore led the day 2 keynotes which focused more on the Windows operating system and their upcoming Fall Creator Update.
This fall Microsoft will release the Fall Creators Update with more features focusing on fostering creativity. Related to this, Joe introduced their new Microsoft Fluent Design System which looks really impressive.
Two new 1st party applications were announced focused on helping users be more creative: Story Remix and Timeline. Both look like impressive apps that I would use. Timeline utilizes the Microsoft Graph to track files/interaction over time and allow more efficient searching across the timeline.
They also announced iTunes and Spotify would be coming to the Windows Store. I just hope this includes application support for smaller Windows Phone devices.
Windows Subsystem for Linux
I have written several posts about how convenient the Windows Subsystem for Linux has been. Now Microsoft is making it even easier to install it and providing more choice amongst Linux distributions with the additions of Suse and Fedora.
Project Rome is a cross-platform service and API for sharing state across devices. Application developers who utilize Rome will give users a more seamless application experience across devices.
Project Rome further reinforces Windows commitment to making Windows the most open and engaging operating system for users with all types of devices (including non-Windows devices).
OneDrive Placeholders were once supported and then deprecated but they are back allowing you to see a placeholder of all your OneDrive files locally. When you need to access a file, OneDrive will automatically download the actual file. Apparently, this feature was completely rewritten with new kernel-level changes that allow it to work from any context within Windows which should provide a more delighting experience.
No keynote on Day 3 just sessions all day. Two highlights for me were the SignalR .NET Core: Realtime cross-platform open web communication and Open Q&A: Moving 65,000 Microsofties to DevOps on the public cloud
David Fowler and Damien Edwards covered the rewrite of SignalR for Core in an entertaining fashion. Bottom line, there are breaking changes from the old API but they all appear to simplify or improve the technology.
DevOps at Microsoft
Sam Guckenheimer (one of my favorite DevOps speakers) facilitated a panel of 4 DevOps specialists from across multiple product areas of Microsoft. Each member of this panel has gone through and is still working on improving their DevOps practices. I really enjoyed hearing how a big company like Microsoft has had some of the same struggles we have and how they got through them.
My question for the panel was how they balance providing a standardized CD process versus allowing teams to build their own. Everyone agreed, allowing each team to build their own is terribly inefficient, leads to different approaches/capabilities for each team and distracts teams from working on features. Microsoft has a One Engineering System team who builds the main CD pipeline structure and then allows the teams to extend some aspects of it to meet their needs.
This approach resonates with the path my team at EBSCO took in building a centralized/shared pipeline template from which all teams could benefit to produce a common DevOps workflow.
Stay tuned for a further post covering what I learned about Microsoft’s plans for developing microservices with .NET. They never clearly defined the strategy in keynotes/sessions but I was able to connect with the engineering teams and get the real story.
As always BUILD was a great conference and still my favorite. The keynotes/sessions were all great but the real value was in making connections with other attendees and Microsoft engineers. No one had business cards this year but I definitely made a dozen or so new connections at the conference that I can leverage in the future through Twitter/LinkedIn/etc.
I would definitely encourage you to go back and watch the recorded session on Channel9 to learn about what’s coming from Microsoft and if you have the opportunity, attend the conference in the future..
So what is your favorite feature/announcements? What are you looking forward? Continue the conversation and/or ask questions in the comments below.