I normally am not a fan of Microsoft conferences. But i’ve always loved the Build Conference. Not just because there is usually an awesome show giveaway. Like this years HP spectre x360, currently my Windows 10 testing machine. But also because the vibe, format, and topic matter is always interesting. I attended this year for the third time, and I wanted to answer the same question I have every year. What, if anything, does Microsoft have for DevOps?
Authors note: Besides a free pass to //Build. Microsoft is not my customer. This post is my opinion solely. And it is long one.
Previously the technologies Microsoft offered around Application Lifecycle Management (ALM) were, and in many cases still are, clunky. They also were highly predicated on you being a Microsoft shop, down to the hypervisor. Even so, their investments and publicized direction were to go even higher up the chain, into the DevOps framework. But it was not always clear how they were going to do it. Now it is, it is going to take the vision behind Visual Studio Online VSO and Azure to make the DevOps story play out.
First lets start off where Microsoft has left off
The end game is to build the DevOps hub. One place for all metrics, release stages, pipeline management, and of course, cloud. Many of the ISVs in the space are after the hub, but no one, in my opinion, is even close yet. Microsoft might say they have it all, but there are several areas where MS has been weak on the end-to-end DevOps story.
- Closed system: Traditionally Visual Studio has been closed to any outside technologies.
- Team management: Team boards, projects, and team interactions have been clunky, and missed some obvious functionality.
- Integration: Yes there are visual studio extensions galore. But they do not integrate well was the pipeline.
- Orchestration: SCOM, Microsoft’s approximate equivalent to Chef or Puppet, took a special individual who was a fan of scripting hell and could navigate all the nuances of Windows System Center. Not only that, when it came to true cloud dev, it was very limited. You could use it to link to an Azure machine, but not much more. Part of this is because you are handcuffed to Hyper-V. The Hyper-V team needs overcome the the limitations around snapshots, and suspend VMs, to obtain the same level of flexibility other solutions have. The two things that keep SkyTap and CloudShare around.
- Analytics: You had some build analytics here, and some load testing analytics there. But nothing post release really. And even the pipeline analytics were confusing and ugly. There needs to be stronger and more modern analytics across the platforms. As well as a consistency amongst them.
And are the things that they got right from day one.
- Eating dog food covered in Koolaid. The VSO development team is living agile, and I believe them. They seem far from continuous delivery, but they are doing releases every 3-weeks and living modern development in their own team.
- The UX. Whoever made the call for the new UX, first seen with Azure IaaS launch around 20011, aws brilliant. The new UX carries across the developer tools stack. If I were to stick with Microsoft for one reason it would be that their UX is stupid simple, compared to the other top players.
- They have a vision, and are talking the DevOps talk. MS could have easily helped legacy shops hold onto their tried and true practices, and still made a lot of money. But they believe in, and are pushing the DevOps needle. This alone helps everyone apart of the movement.
//Build – What’s new
At the show I had the chance to sit down with Clemri Steyn a Product Marketing leed in the Visual Studio group. And see the DevOps strategy presentation from Ed Blankenship. Their job was to convince me the above weaknesses are being addressed and there is more for modern development:
The announcements were fast and furious and there could be some inaccuracies in the details
First the mushy stuff – over arching story:
- Unified lifecycle management. Do not allow the separation of operation lifecycle and developer ones.
- Hypothesis driven backlogs. In order to keep up with velocity, you have to fail forward and follow the lean theory – test, learn, repeat – model for your backlog.
- Convergence of testing and monitoring. Tieing the data from both testing and monitoring to feed back into application functionality and quality.
- Licensing. Have you ever been bit by MS licensing? It has always been complex and often nonsensical.The announcement was that VSO licensing is simple and supports the above goals. It’s now priced by App and throughput. So no math degrees to figure out what you are going to be spend.
Technical Announcements:
- New team board functionality. Better drag and drop on team boards, customization including support for Kanban. It has a look and feel similar to Trello project Management.
- They introduced Intelitest. Which is a new way to organize and optimize unit tests. The “Intelli” part will probe all the ways a method is being called. It allows developers to collapse unit tests into a single project, and easily create greater test coverage.
- Staying with the testing vein, they talked about the integration with SonarQube for code analysis, manage “technical debt” ( code that impedes progress).
- They addressed analytics in a big way, and it’s called Application Insights. I would call this the biggest announcement. Application Insights are analytics that go from exception analytics, to server monitoring, to application performance monitoring, to marketing analytics, and finally alerting. This is a bold move. And not going to make a lot of partner ISVs happy. But it makes sense. I think it lacks a lot of the refined functionality you find in a modern platform like LogEntries and SumoLogic. But a major difference is that because it is part of, or connected to VSO, it is easy to jump from analytics to code with a single click. A very nice feature for Devs. In addition to Application Insights they purchased HockeyApp for crash analytics on Android, iOS, and Windows Mobile, which will roll up to the Application Insight dashboards.
- They did improve orchestration. First off they seem to be end of lifeing, or at least averting attention from SCOM. Thank the lord. They have re-written orchestration from scratch in NodeJS. All the agents and tasks are released open source. It looks like the improved functionality will allow you to do more with releases of the entire stack, not just applications. Even cross platform. With the NodeJS agents for Mac you can easily do a build of an iOS app on a Mac in the cloud without leaving VSO. They have also added support for parallelized builds. Which is a must to keep up with the speed, and time cost of failed builds.
- This all leads to a better more integrated build process overall. They clearly did a good job with the InCycle acquisition, and have taken that application further. You now have a robust build task library. Which includes Chef, Docker etc. and you have drag drop environment creation and ordering.
- Universal apps. I’m still sort of blown away by the ability to build an application with multiple front-ends across platforms web, Android, iOS, and Windows mobile in a single project.
- Visual Studio Codelens finally goes GA! And it has a new feature that allows you to locate per class developers who have worked on it and their activities. Which means you can find a subject matter expert for methods or classes by simply looking at who is most active.
- In VSO they have a way better pull request system. Complete with inline conversations and approval assignments.
View Ed’s Entire Talk here: http://channel9.msdn.com/Events/Build/2015/2-615
Most of the above is only available in beta with MSDN accounts, some in public Preview with Visual Studio Online and VS 2015.
Still a miss
Orchestration is still weak in my opinion. I noticed they don’t talk a lot about Azure or Hyper-v provisioning.
They are also very weak in functional testing. This is a bummer, especially when they talked a lot about unit and integration testing, they are missing a big chunk of the quality matrix. I believe tools like Saucelabs, Appium etc are still going to be needed. But unfortunately now, with the more integrated environment, it will not fit nicely in the VSO pipeline, unless someone builds a task for the library.
In terms of adoption, VSO specifically, it is still low. 3 Million registered VSO users, but little in enterprise, unless they are small teams. However adoption of modern development, believe it or not, is also very low. So this is no big surprise. Even in the subsegment of software only companies.
The problem is still going to be execution. I’ve been excited about MS new stuff before. And i’m often disappointed about timing, and conflict between result and marketing. For example i’ve been waiting for the new Azure dashboard to come out of beta since \Build 2014. But I also know they have the time and money to refine and turn it around.
I am not a Microsoft Junkie. But I am a junkie for anything that works, and works well. And if it is a Microsoft development tool, i’m all for it (i’ve yet to find an IDE that can match Visual Studio). But what I am most excited about is how they will push the adoption needle for modern development in slow moving enterprises. Their captive audience.