DevOps in the Enterprise

The role of IT in DevOps

VorlonJS – A Journey to DevOps: Introducing the blog post series

If you have any question about this blog post series or DevOps, feel free to contact me directly on Twitter : https://twitter.com/jcorioland.

What is Vorlon.JS?

Vorlon.JS is a node.js based tool for web developers that allows you to remotely test, inspect and debug a web application. Because it’s not easy to use traditional web debugging tools “F12-like” on devices such as mobile or embedded devices, Vorlon.JS offers a way to improve the debug experience, using a remote dashboard.

You want to learn more about Vorlon.JS? David wrote a blog post that explains why they made this tool. You can also check this post wrote by Etienne about the last version that was released!

Vorlon.JS is open sourced on GitHub, and the team accept pull requests, especially if you want to propose a new plugin.

Why this blog posts series today?

Few weeks ago, we attended a DevOps hackathon at Microsoft Corp with Benjamin, Etienne, Pierre and Stéphane. We decided to work on the Vorlon.JS project to improve the way the team develop, test and release the application.

We worked on some key points to be able to implement unit tests (using the Mocha Node.JS test framework), continuous integration to build, integrate and test the code each time a new commit is done, continuous deploymentto be able to release Vorlon.JS without having to deploy it manually each time. To do that, we have used Visual Studio Team Services that provides a lot of tools to build and release applications (even Node.JS apps!) and Microsoft Azure as deployment platform.

We are currently working on how we can improve the application continuously, using Microsoft Azure Application Insights that allows to monitor and diagnostic an application in a very simple way.

The following video gives an overview of the different practices we have implemented and that will be detailed in this blog post series:

Why DevOps?

Basically, DevOps is about people and transforming the way we do software development projects. It impacts everyone in the organization, from developers to IT operations, product owners, and business teams. It consists to help them to work together with the same goals such as increasing the frequency of new feature releases and delivering the best application to users.

Microsoft offers a lot of tools that may be used to implement DevOps practices. Of course, there are also a lot of non-Microsoft tools that you may want to use, even if you are deploying your applications in Microsoft Azure!

In this series I will discuss mostly about Visual Studio Team Services that provides:

  • A project management system that allows to manage user stories, task, bugs (…) and helps to implement well-known development methods like Agile, Scrum, Kanban…
  • Source control management (GIT or Team Foundation Version Source Control – TFVSC) or external source control provider integration, like GitHub
  • An open build system that allows to do continuous integration on a lot of Frameworks like .NET, Java, Node.JS, and is compatible with tools like NPM, Gulp and more…
  • A web-based test system and a cloud-based load test system
  • An open Release Management system that allows to automatize the creation of environment, in Microsoft Azure, for example and to deploy applications in these environments. It supports a lot of technologies you may be familiar with like Chef, Puppet, Web Deploy, Docker and more…

It will also discuss about Microsoft Azure that provides a lot of services that can be used to deploy a Node.JS application like Vorlon.JS and Visual Studio Code an open-source, cross-platform development tool that can be used to develop and debug a Node.JS application and that provides a native GIT integration.

Because development lifecycle of an application does not end when it is deployed to the production environment, this series will also describe the processes of Continuous Monitoring and Continuous Improvement using tools like Azure Web App slots to create test in production or Microsoft Azure Application Insights that allows to monitor an application (diagnostic) and to be able to get metrics about its usage.

This blog post series will discuss of the following subjects / practices:

The first post about project planning and management with Visual Studio Team Services is already available here.

More DevOps resources

If you’re interested in reading/watching more about DevOps, you’ll find some interesting resources below:

Enjoy!

If you have any question about this blog post series or DevOps, feel free to contact me directly on Twitter : https://twitter.com/jcorioland.