DevOps practices in 2021: why it matters
If there is a word on everyone's mind at the beginning of 2021, it’s DevOps! Whether it is our account managers or our consultants, everyone agrees that the analytics market has never been more prepared to implement DevOps. But what is DevOps and, above all, in what context must it be integrated to generate the expected outcomes? Meeting with Chehine Marouani, DevOps consultant at agileDSS.
The emergence of ERPs and software development over the last few decades has improved the management of companies but has also led to dysfunctions related to the separation of development and operations teams. It is within this context and to overcome these dysfunctions that the DevOps methodology has emerged.
However, what exactly is DevOps?
The DevOps’ context.
In a traditional organization (meaning that isn’t using DevOps) the development team is responsible for bringing new features or improvements to an existing functionality, fixing a bug, or simply amending codes so that the environment better meets the needs of the business lines. The operations team, meanwhile, must maintain a functional, operational, and accessible structure for the business lines at all times. In this “traditional” approach, the teams work in silos, and by deploying new functionalities, the development teams risk destabilizing the environment. The operations team, the guarantor of the environment’s quality, may therefore be reluctant to implement new functionalities.
You end up with teams with differing objectives that tend not to collaborate, which impacts both the speed of the process and its quality. DevOps addresses precisely this issue, allowing for a continuous, faster, and more secure deployment while maintaining the stability of the environments.
So, what is DevOps?
Result of the contraction of the words “Development” and “Operations”, DevOps “is the unification of the development and operations teams towards a common objective : bringing value to the company as quickly as possible while guaranteeing quality throughout the cycle.” (Chehine Marouani).
DevOps is therefore a set of tools, best practices and a methodology. The DevOps methodology, above all, consists of breaking down silos and getting teams to collaborate by encouraging development and operations teams to take responsibility. The objective? To deliver a reliable analytical solution that brings value to business lines faster.
In this sense, the application of the DevOps methodology requires the involvement of all teams. Thus, the developer must integrate operations issues during development, and operations must be aware of the need to quickly integrate the code into the environment.
The DevOps consultant (or the DevOps team depending on the project) must be the keystone of the close collaboration between the teams. Their role is similar to a facilitator’s who will enable continuous deployment to deliver value more quickly.
Another important aspect of DevOps is the automation of many processes (using automated tests or automatic alerts, for example) to improve the code and environment reliability. Applying the DevOps methodology means industrializing a certain number of tests that make it possible to identify failures and thus anticipate problems that may arise.
To summarize, the objective is to free up time where teams really make a difference while guaranteeing the quality of the environment. A true hybrid between a developer and a system administrator, DevOps bridges the gap between the two departments.
Are you interested in DevOps? Know that we will be publishing a blog soon about the different DevOps tools we have tested on Snowflake (Flyway, Datalytyx and Snowchange). Subscribe to our newsletter to make sure you don't miss it!
The links between DevOps, agility and analytics.
DevOps is a methodology found in many branches of software development and IT. How does it relate to agility and analytics?
DevOps practices and agile methodology, same battle?
In many ways, DevOps can be a reminder of agile methodology. Indeed, the links and similarities between the two practices are striking. In both cases, the objective is to deliver value faster and to limit issues between stakeholders (end customer/business line and IT teams in one case, development/operations teams in the other). But the application of the DevOps methodology has the same organizational limits as the agile methodology. Without effective change management and the contribution of all departments involved, the benefits of DevOps will remain limited and its deployment restricted. It is therefore essential to plan the implementation of DevOps well before launching it.
“Applying the DevOps methodology is a bit out of your comfort zone. The developer can no longer think only in terms of code, he must participate in its deployment in the environment. The same goes for system administrators. This can lead to reluctance. It is therefore important to agree upstream or at the beginning of the project on the conditions for applying DevOps. Therefore, in agreement with the client, we can lay down the golden rules that everyone agrees to comply with, serving the best interests of the project.”
Analytics DevOps, a distinctive expertise
What about DevOps applied to analytics in all this? Aside from the technologies specific to Big Data, Business Intelligence, Cloud computing and bridging the gap between development teams and operations, how does DevOps applied to analytics differ from other IT specialties?
Generally speaking, DevOps is applied within the framework of a deployment or modifications made to an application on an environment. DevOps applied to analytics, on the other hand, also focuses on data. It can therefore be said that analytics DevOps is just as concerned with the reliability and quality of data as it is with the applications running smoothly.
What exactly does this mean? A code change can have major implications. Without prior testing, it can destabilize the environment to the point of bringing production to a halt. The result? No more consumable fresh data, greatly complicating the company's management, at least until the problem is identified and addressed, which can take time.
Without destabilizing the environment, it is possible that a code change may distort the generated results. We therefore end up with inaccurate data to guide decisions. And where a complete production shutdown is immediately identifiable, a set of incorrect data can take several months before being identified and consequently mislead the decision-maker.
Analytics DevOps’ efforts are therefore concentrated on anticipating all problems that could impact the reliability of the data. By following the DevOps methodology (working and testing in parallel, systematic cross-checking of code modifications, industrialization of tests at precise stages, and the generation of automatic alerts in case of suspicion), DevOps guarantees reliable data, an essential condition for good decision-making.
Now you know the benefits of DevOps and more specifically, DevOps in an analytics project. But is your company ready for DevOps? To encourage further reflection, here are a few questions we invite you to ask yourself:
- What is the level of collaboration between your development and operations teams? Are they ready to implement DevOps? What do they need to be able to apply DevOps?
- What processes ensure the reliability of your data and environments? Are you certain of the reliability of your data and environment?
Would you like to deepen your knowledge on the subject? We invite you to contact one of our experts or to discover our case study on the subject: facilitating the operation of a data lake thanks to DevOps.
Snowflake migration: Modernize your BI without compromising your previous investments.
April 2021Pascal Dufresne
Agility, is it only for IT?
January 2021Marc-Denis Léger
Revisiting the BUS matrix in a dashboard project
September 2015Charles-Etienne Lavoie