Starting using DevOps: Enterprise vs. Startups
In order to remain competitive, both nimble startups and established enterprises must adopt the most efficient techniques of value delivery.
Nowadays, DevOps is the methodology that allows allocating the resources optimally to provide uninterrupted service with constant flow of improvements. This article describes the differences in adopting DevOps ideology in startups or enterprise business.
Startups nowadays usually accept this model by default, as it allows them to thrive, ensuring fast and smooth value delivery via cloud-native software. Enterprise business, however, is the whole other thing, as they have stale structure with clearly defined specialist roles and responsibilities, which is great for delivering predictable results within certain workflow and pipeline. The main flaw, however, is the resistance to change, both structural and behavioral. “Don’t change the thing that works” is a motto that worked for quite some time in enterprise business. Well, not any more.
Annual or semi-annual release schedules don’t work any more. If the customers do not get a much needed feature within a month or so, they are quick to depart for an alternative that provides the needed functionality. Thus said, enterprise business has to adopt tighter delivery schedules and faster feedback reaction loops in order to remain competitive. How is it done best? How to transform the structure that resists changes in favor of stability?
How to Help Enterprise Embrace DevOps?
There are three major areas of effort concentration in order to help enterprise specialists adopt DevOps:
- Instating Centers of Excellence (CoE). COE is a group of professionals that operates separately from established Development, Operations and QA departments. It must include both internal talents from all of these departments and external experts in DevOps. Such a group has to receive separate funding and have a separate schedule of work on a standalone project. This will allow dropping the established practices and embracing the DevOps approach, where all specialists have decent understanding of all of the process stages and work interchangeably.
From the idea evaluation and all the way through writing, building and testing the code, releasing the product, maintaining and updating it, gathering feedback and running all the process anew until finally retiring this software — “you build it, you run it” is the core message of DevOps paradigm. After taking part in such COE project and experiencing the DevOps benefits firsthand, enterprise employees become the visionaries and promoters of further adoption of this methodology across the enterprise.
- Splitting the software structure to microservices. When instead of complex products that require large teams to develop and maintain you utilize a set of intercommunicating microservices using API to exchange data, the speed of development drastically increases, while delivering high-quality code.
When a rather small team of interchangeable DevOps specialists is responsible for a separate microservice, there are less bottlenecks within the software delivery pipeline, as any available team member can devote their effort to solving the issue at hand, be it writing a code, testing and deploying it or solving the customer’s support request. This works contrary to usual enterprise workflow, where operational overhead in one department can put the work of all the other departments on hold.
- Building infrastructure as code. Instead of siloing the responsibilities, technologies and tools between Development and Operations departments, DevOps combines all the processes. This means the developers do not consider their job done once the new software build successfully runs the tests and the operations engineers do not manually set up the environments for deployment. All processes involving infrastructure can and must be automated, using the tools like Puppet or Chef for configuration management and rapid allocation of the needed resources.
When all the processes are automated, every DevOps team member is able to use all the tools and can write the code, run the tests, build the new app version and push it to production with several strings of code or clicking several buttons in DevOps tools of choice.
Starting using DevOps requires certain effort both for enterprise and startups. However, it really pays off in the long run. It’s much better for a startup to begin working under DevOps paradigm from the very beginning, to avoid gaining technical debt and losing the momentum once the need for automated testing becomes obvious and unavoidable. For the enterprises, the choice is even more simple. Adopting the DevOps methodology is the question of survival and nobody wants to become extinct. Evolve or be left behind.
Feel free to browse through the latest insights and hints on the DevOps, Big Data, Machine Learning and Blockchain from IT Svit!
What is the cloud pyramid: the layers of DevOps services
We use cloud computing services quite a lot nowadays, yet many people don’t have a clear picture of the cloud structure in mind. This is what the cloud pyramid looks like:
DevOps Culture: A Huge Step for Mankind
In order to perform well, the company should be comprised of departments concentrated on performing their tasks. Effective interaction between these departments is what drives the DevOps culture. How to achieve this goal?
How CryptoKitties help the Blockchain technology evolve
The game centered on collecting, breeding and trading virtual felines for ethers has taken the Ethereum network by storm. Here are certain important outcomes for the Blockchain technology as a whole.
Google distrust of Symantec SSL certificates. Why is it important?
As soon as in Google 66, which is scheduled to be released on April 17, 2018, Google plans to distrust all Symantec-issued SSL certificates issued prior to June 1, 2016. What should be done about this?