You may have heard the term DevOps before. But what is DevOps really, what does it mean for teams, and in what contexts can the term be applied? Here I tell you how.
However, DevOps doesn't just impact IT teams in organizations. Implementing DevOps in an organization profoundly transforms the way other areas interact with IT.
DevOps is also an enabler of organizational agility - I'll explain what that means later. Large companies and new players that want to stay relevant and competitive must understand, master and leverage DevOps.
Meaning of the word DevOps?
DevOps is the result of unifying two words:
- Development, in the specific context of software, and
- Operations, of such software products developed
DevOps represents the combination of a way of thinking, practices, and tools. We could say that:
- Mindset: mindset and culture of the organization
- Practices: processes and procedures.
- Tools: Computer systems, automation and system control programs.
DevOps according to Wikipedia
Paraphrasing - and improving in passing - the definition of DevOps in Wikipedia we can say that:
DevOps is an acronym and refers to a software development and releasing methodology that proposes the unification of the development and systems operation teams. DevOps arises as a response to intermediation and transition models where development and operations teams are antagonistic.
In short, DevOps is:
- A working model that impacts business and IT collaboration to reduce time to go live (or TTL).
- Automation-based commissioning processes, including:
- Deployment - deployment
- Product verification or testing.
- Commissioning - release or releasing.
- In the not-so-happy cases - when things go wrong, DevOps also provides for the whole recovery scheme - rolling back y disaster recovery.
- New SW product design models. Little is said about this, but the truth is that, with the arrival of new technologies such as containers, microservices architectures and models such as serverless, DevOps is empowered and becomes simpler to adopt.
Is DevOps a methodology?
Many might say that DevOps is a methodology, but the truth is that its impact starts in the very processes of product definition - or ideation. That is, for technology-based companies, DevOps changes the way we design products.
The famous MVP of a startup - startup - that does not contemplate DevOps will surely only distance its release to the market and of course, the return on investment.
DevOps is a culture?
No. But cultural change is part of organizations that want to adopt and leverage DevOps.
Imagine you own a large corporation and every year during strategic planning you are allowed to give your opinion to the board of directors about a project or a new product. How frustrating it would be to end the year without seeing a result.
Now imagine that your team is not only able to listen to you, it is able to materialize in a matter of days, hours or minutes, changes in the systems in operation. For example, DevOps emerged as a requirement of a technology startup to renew the product in operation at least 10 times a day, DAILY!
I ask you: would having this skill in your team change the way you conceive your projects and business initiatives?
Of course it is!
DevOps, DevSecOps, ITOps and the others
You get the idea, DevOps seeks to reduce the time to go live of a development team's output. However, this poses other challenges to the organization.
We have already talked about DevOps, it is the unification of SW development and IT operations teams.
Within the context of the unification of Development and Operations, the concept of security - both of the development process and of the operation itself - is becoming increasingly important. It is not for nothing that we see news every day about cyber attacks that, on many occasions, are attributed to governments.
Security cannot be underestimated, that's why DevSecOps, which is an extension of the DevOps concept, offers an additional dimension: that of security.
ITOps, DataOps and SysOps
It is understood that with the rise of the term DevOps, other movements or points of view rise with similar ideas. Here is a small summary of these movements:
- DataOps: It is the conjunction of the concept of DevOps in industries or companies that handle large volumes of data. Therefore, DataOps has a strong component in data management and data analysts - data scientist and developers.
- SysOps: With a special focus on the operation of large-scale systems. Not just for an enterprise but on a global scale. Now with the rise of PaSS and IaSS models - platform and infrastructure as a service, there are groups focused on operating infrastructure.
- ITOps: Information Technology Operations. A new name for IT operations.
This is perhaps the most radical concept. NoOps means: NO OPERATIONS. That is, everything is 100% automated and therefore there is no management team. Something risky for large companies, but very useful for small companies that before scaling - growing - can access great technologies without investing too much.
AIOps: AI in the service of technology operations
When it comes to innovation, AIOps is at the forefront. Gartner predicts that the IT operations workforce will undergo radical change in the coming years. Therefore, the demand for technology and new, more flexible and more reliable services will require a transformation of IT enterprise capabilities.
The goal, to use ML technologies - machine learning and big data to strengthen IT operations.
Why is DevOps critical to agility?
What's the use of having the best car driver at your service if your car doesn't work, or even worse, your car fails too often when it's running and you have to stop continuously.
Organizational agility is the ability to introduce change and innovation into the business environment - or to adapt quickly to the changes that others introduce.
So, if this agility depends heavily on the IT systems and technologies that the organization uses to operate and interact with its customers, DevOps is key.
Imagine being part of the most dazzling scrum team, full of talent and good ideas. Able not only to devise but to materialize the most innovative and - surely - the most successful products. What good is it if your organization is unable to put them to work in an orchestrated way with the other existing products and services of the organization.
DevOps is a fundamental part of what is known in SAFe as the Continuous Delivery Pipeline. It is the ability to explore, integrate and deploy solutions continuously - or very often.
The DevOps challenge, operating products in development
What is the challenge behind DevOps? The real problem is that you will have to operate products - to enable the learning and feedback cycles so necessary in innovation and new product development. In other words, you're in the dilemma of:
- Develop a product good enough to go to market
- As cheap as possible
- So fast to ensure it is convenient and timely
- Incomplete enough to adapt the product to the changing needs of the market.
In the end, you have to live harmoniously between "defining the product", "completing the product" and "operating the product".
DevOps is an enabler for technology-based startups
How have small or start-up companies such as NuBank How is it possible for a startup to go from having a few hundred customers to millions of customers in what is known as "exponential growth"?
Easy, through the adoption of DevOps as a line of thinking. Incorporating:
- A cultural change within the company to take advantage of this "no-nonsense" thinking.always Beta".
- A challenge in the design of our products and services to adapt unexpectedly to exponential growth - I recommend you read the book "exponential organizations"if this is a topic that catches your attention.
- A paradigm for acquiring technology products and services to support such growth - PaSS or cloud services offered by Amazon, Google and Microsoft.
There are thousands of tools that solve specific needs of development or operations teams. From small integration services, to complex platforms for design and automation flows.
The best tool I can share with you is the DevOps Periodic Table which, without being perfect, provides a very detailed list of tools focused on improving the flow of products from conception to operation.
DevOps Periodic Table by Digital.AI
The periodic table of DevOps tools is an excellent reference index for starters. It's great for identifying popular tools within the software development and delivery lifecycle - as I said, at SAFe they call it the Continuous Delivery Pipeline.
This periodic table of DevOps tools was created by experienced professionals who cast - according to the authors - more than 18K votes for more than 400 products.
I invite you to always take a look at the DevOps Periodic Table to keep up to date.