1. What is DevOps Methodology?
DevOps is an information technology (IT) methodology that facilitates collaboration, communication, and integration between software developer teams and IT operations units. The main goal of DevOps is to improve the quality and speed of software delivery, enabling continuous and frequent updates that deliver value to customers.
The DevOps team works together to create a consistent development, test, and production environment and automates the development pipeline to make software delivery efficient, predictable, sustainable, and secure.
DevOps gives developers better control over their infrastructure and a clearer understanding of the production environment and encourages operations specialists to be involved early in the development process. In addition, it creates a culture of ownership and shared responsibility for the software that runs and delivers value in production.
2. What is DevOps Culture?
DevOps is not just a methodology or practice; it is also organizational culture. The DevOps culture focuses on small, interdisciplinary teams that can work independently and are jointly responsible for the user experience provided by a software product. In addition, the DevOps team lives in production, meaning they primarily focus on improving product usage live.
A DevOps culture has the following essential elements:
- DevOps teams adopt agile practices and integrate development and operations with each team's responsibilities. Second, teams work in small iterations, striving to improve end-to-end customer value delivery and removing waste and bottlenecks from the process. Finally, teams are jointly responsible, eliminating silos or accusations.
- DevOps teams apply a growth mindset; they use monitoring and telemetry to gather evidence in production and see results in real-time. They experiment with new features in production, using techniques such as canary or blue/green deployments to collect data, test features quickly, and use the results to drive continuous improvement.
- DevOps teams focus on mean time to mitigate (MTTM) and mean time to remediate (MTTR) rather than mean time between failures (MTBF). In contrast to traditional waterfall teams that have gone to great lengths to avoid problems in the field, the DevOps team recognizes that failures will happen and emphasizes the ability to act quickly, understand the impact, and mitigate production issues.
- DevOps teams think in terms of competencies, not roles — this includes operational and development skills. All team members share responsibility for performing the services. Developers and operations are responsible for active services, and everyone can share a rotating on-call schedule. If you built it, you are responsible for running it.
3. Pipeline DevOps Technology
The DevOps development pipeline relies on a set of technologies that enable automation, efficiency, and collaboration.
When we talk about software tests that run on the Mainframe platform, there is a big challenge for companies, which is to unite the Functional Applications teams (Example in the banking system = loans, checking account, credit card, etc.) with the units of Corporate Applications (Example in the banking system = fees, records, parameters, etc.), so that all Integrated and UAT Tests are performed without impacts/downtime in the environment, or even that the business rules are 100% validated covering all the code situations.
Many cases experienced daily by the vast majority of companies, is that internally, statistical studies prove that around 35% of the time of the Corporate Applications teams is spent to make available test situations/cases that serve the Functional Applications teams; and why does this occur? Usually, in Integrated Testing environments or UAT Mainframe, the Corporate Systems applications have their access limited to only the users of those systems and Infrastructure / Support teams. In addition, with the great demand for activities, the service SLAs end up being longer and longer each day, and often the service for Test Environments becomes a lower priority, as these teams always prioritize the demands of Productive Environments, and this directly reflects on the delivery of new applications or maintenance to the end customer.
Given this scenario, which has been going on for years, Eccox Technology has invested heavily in a modern technology called Eccox APT, which makes the day-to-day of users (Dev, Tester, and Managers) more flexible, allowing the creation of Test Containers in a Mainframe environment without the dependency between the areas, as the running components, whether functional or corporate, become property/equity of the user of this Container.
For more details, see our material (Whitepaper | DevOps places software testing as a Challenge).