DevOps at the Devshop

The biggest lessons we have learnt as a startup are in business operations. Some context: our team consists entirely of developers. It has been that way from the beginning. We have always been more comfortable designing algorithms and user interfaces. We have not enjoyed the same flair with the business end of operations. Us evolving into a growing and thriving business meant we had to make ourselves more productive. We had to find ways to optimise our profitability without compromising the value that our clients and partners have grown accustomed to. This meant gap closing between the development and the business operations of the Devshop. This became the starting point  of redesigning our DevOps culture.

What is DevOps

Donovan Brown, Principal Program Manager at Microsoft defines DevOps as

“The union of people, processes, and product to enable continuous delivery of value to the users”

To increase the value that we offered to our partners and clients meant that we had ship code faster. We had to do this while delivering the same kind of work that had made them choose us. Achieving this meant engineering and operation concerns had to work together much more seamless. This is through client on-boarding, planning, development, testing, deployment and maintenance phases of our process.

Using the right tools

An undoubtable aid to our DevOps culture is Visual Studio Team Services. By adopting VSTS we got features like Source Control Management, Private Repositories, Planning and Workflow Management tools like Kanban boards, Tools for Continuous Integration and Continuous Delivery. Visual Studio Team Service gave us an end to end solution for all our technical devops needs. The beauty of Visual Studio Team Services was that is allowed us to automate most of the mundane task of our process and let members across our team do the less mundane tasks. The VSTS platform allows us to use any other framework for any other part of the process if we feel we need to.

We also adopted Microsoft Azure as our platform of choices for web service for a number of reasons. One of these reasons is how seamlessly Azure will integrate with Visual Studio Team Services. This made a lot of the processes we implement available through very easy processes.

Automation- what a beautiful thing

One of the sweet benefits of adopting this new DevOps culture was the number of things that we have automated.

Deployment.

A single “git push” command from our code editors now sets in motion a beautiful process for a number of our projects. A case of a Webapp with a ReactJS frontend and a NodeJS backend – a single push triggers the following process.

  1. Uploads Code to a private team repository
  2. Upload then triggers a Continuous Integration Process.
    1. The CI Process starts a remote hosted machine.
    2. The code in the repository is moved to that machine.
    3. A Powershell Script triggers “npm run build” command on the remote hosted machine.
    4. Process creates React /build deployment-ready folder.
  3. Once the process on the hosted machine is complete is triggers an Azure Web Deployment.
  4. The /build folder is moved to Azure.
  5. After completion an email is sent notifying whoever triggered the build on whether it has been successful.

The beauty of this process is that it is flexible to my technology stack and the DevOps culture we choose to adopt. We can choose to run tests at the end of the process. We could write scripts to have the code pushed to the live site if it passes a set of tests.

Added value for clients

The level of automation in our process has now allowed us to serve our clients better. We now have backups for every project we take on for our clients. As a result we can redeploy their work for them with the push of a button. Also noteworthy, small changes are made and the deployment process triggered by a single “git push” command. Due to the automation, a large cost overhead is avoided. Our development process has improved significantly because clients can see our internal project communication while we work on their project. Clients are even able to see live versions of the work as it progresses. We now provide telemetry for our clients so that they know when to revert to a previous deployment according to response by users.

Added value for Users

For applications like Dialogue and Foodie, we can now address bugs more promptly and ship new features much faster. Because we collect telemetric data with every deployment, we are able to see our user’s response to every deployment. This allows us to continuously and consistently deliver more value to end-users

Added value for developers.

While running a task like “npm run build” is simple, it runs for a few seconds which may take a developer out of the zone. Our new adopted process allows all this to happen on an external machine. Our previous process of deployment process for example, required for a developer to zip a file, login in to our hosting platform, navigate to the correct folder, upload then unzip the folder. This needed to happen whenever we wanted to update clients on changes we have made. This has greatly improved productivity.

DevOps has greatly improved the efficiency of developers

DevOps has greatly improved the efficiency of developers

Conclusion.

This article could never exhaust the benefits we have had at the Devshop after adopting our new DevOps culture. The adoption has increased our productivity on monumental levels and we will be sharing more articles on the technical and non-technical aspects. Overall, we have managed to make developer more productive resulting in greater client satisfaction and consequently healthier profits. We recommend that organisation take their DevOps seriously. While we have achieved much from the time we to the decision to adopt devops, it is is a continuous  process and we are always looking for ways to make ourselves better

Summary
DevOps - The Story about how we are delivery more value, faster.
Article Name
DevOps - The Story about how we are delivery more value, faster.
Description
How we redefined our DevOps culture at the Devshop, increased our productivity and effectively provided more value to our end-users and our clients.
Author
Publisher Name
The Devshop
Publisher Logo
Comments
  • DeveloperPrince says:

    Thank you Mike, especially on stressing out that DevOps is a culture rather than to think of it a tool or generic process for development. It is a culture many organisations should adopt, and based on the small history of DevOps from the fall of 2009 when DevOps became prominent, a number of tech companies especially in 2015 when microsoft became the spear headers of DevOps joined in the culture and we have seen drastic reduction on lead time in deployment, in debugging and even in integration, we have seen improvement work culture and improved business relations, industrial relations and even customer relations.

    So Ultimately I believe that the DevShop can organise another Seminar which will look at improving work culture by implementing DevOps and even have a talk on Agile Development Method and workflow.

    I will be glad to help facilitate and assist in arranging the seminar.

Leave a Reply

Your email address will not be published. Required fields are marked *