What is DevOps: DevOps services in a nutshell
As different people have a different experience with DevOps services, they have different explanations and definitions of what is DevOps. Below we describe DevOps services in a nutshell.
At IT Svit we deal with a lot of DevOps projects and we are quite used to the customers that come to us expecting the solutions for their tasks in a day. Or a week, at the most. Well, we are the DevOps guys, we have the DevOps tools, we can do anything, right? Just wave our shiny DevOps wands and do the DevOps magic…
The other type of customers are the ones who come to us thinking that DevOps engineers are the conjunction of developers and Operations engineers who have taught each other their skills and can write the code and deploy it at once. This point of view is popularized by multiple authors at Forbes, Entrepreneur, DZone and other resources, as well as various eBooks, reports, researches and other paid content from so-called “DevOps gurus”.
The bad thing is, these authors are rarely employed as DevOps, as if they would have been working in hands-on DevOps teams to deliver mission-critical projects to industry-leading companies, they would simply have no time to write vague explanations on what is DevOps.
IT Svit is one of the leaders of the IT outsourcing market in Ukraine and is amongst top-10 Managed Services Providers worldwide according to international business rating agency Clutch. We are sure we have enough experience and competence to define DevOps the way we do it and put it in simple terms so anybody can understand it. Our definition looks like that:
DevOps is the CULTURE of collaboration between PEOPLE that power various infrastructure PROCESSES using multiple TOOLS.
Fear not, this is not another pushy mantra. Below we will explain our vision of DevOps services, in a nutshell.
What is DevOps: it’s about the culture
We have recently published the article based on the latest State of DevOps adoption report from Puppet and Atlassian. This report emphasizes the importance of adopting the DevOps culture of collaboration between multiple departments. Not only Dev and Ops, but also QA and PMs, and the managers all the way up to C-suite.
DevOps approach to IT services is a practical implementation of Agile and Lean software delivery methodologies, where the product must be always operational and evolve according to the end user’s feedback. To ensure the product evolves the right way the customer’s feedback must be analyzed, understood and taken into consideration by everyone involved in forming the value delivery chain, from the CEO to the grassroots in the DevOps department.
When the company actively asks their customers what they expect to receive and discusses the best ways to deliver the result using the most appropriate technology — this is the example of DevOps culture. When everything that lengthens the process, be it manual server setup or multiple layers of new feature approval is considered waste and ruthlessly removed to speed up the feedback loops and provide more positive end-user experience — this is the DevOps culture in action.
What is DevOps: it’s about the people
There are no DevOps engineers who write code and maintain it, at least not at IT Svit, as it would be like combining apples with bananas. Out IT Svit DevOps team executes infrastructure as code (IaC) approach to provide continuous integration (CI) of new software and its continuous delivery (CD) to the end users. Our specialists are not DevOps engineers, they are more like cloud solution architects, software delivery pipeline designers and developers, monitoring and support specialists.
Our DevOps team performs the audit of the customer’s existing IT infrastructure, estimates the work needed to accomplish the project goal, issues the recommendations and explanations regarding the preferable DevOps solution structure and technology used. We deliver turnkey solutions complete with detailed documentation and tutorials for the customer’s own IT department or provide DevOps-as-a-Service until the customer is able to transition these tasks to own personnel.
What is DevOps: it’s about the processes
There are many processes that should be performed to ensure stable IT operations of a modern business. From a setup of a server environment for the developer to test the new batch of code to deploying a streamlined CI/CD pipeline, where new software code goes to production automatically. Yet it is not the end, as logging and monitoring tasks make nearly a half of the daily DevOps workflow.
As said above, all routine processes should be automated to free up the time and resources and allocate them to delivering more value to your business and customers, instead of solving endless issues and minor tasks. Our DevOps team members provide a holistic service, from the beginning of the infrastructure provisioning and code development, far beyond the product release. Every team member can assume various roles and oversee the code delivery, testing, release, monitoring, backup and restoration should the need arise.
What is DevOps: it’s about the tools
While many pushy vendors claim their DevOps tools to be essential for a successful transition to DevOps, it is actually not so. There are important stages of the software delivery pipeline and there are multiple tools that can get the job done:
- Terraform helps create, manage and destroy the infrastructure with several commands
- Docker helps containerize the applications together with their runtime environments, so any application can run on any machine that has Docker installed on it
- Kubernetes helps manage the configurations of these containerized applications
- Ansible, Puppet, Chef or Salt are used to automate the infrastructure management process
- ELK stack, Prometheus & Grafana, Zabbix, Datadog, Sumo Logic, FluentD and other tools are used for logging, monitoring and enabling smart alerts on the infrastructure state
- RabbitMQ or Amazon SQS are used to build complex operational systems where multiple microservices exchange messages
Other tools are used for integrating Big Data solutions and Machine Learning algorithms, AI tools and IoT systems, end computing and serverless computing solutions… the list goes on and on.
The point is, most of these tools are open-source, not proprietary, and the ones that are proprietary can be replaced with open-source ones with relative ease. It’s not having the tools, it’s understanding what they are used for is what forms the DevOps practices.
Final thoughts on what is DevOps in a nutshell
As you can see, DevOps is not a toolset or skillset — it is a mindset shared across the business. It is the “you built it, you run it” approach, where the developers do not blame the Operations engineers for failed deployments and the Operations engineers don’t favor the operational stability over adding new product features. In such a mindset any failure is not considered someone’s flaw — it is merely a lesson to be learned, an indicator that the system can be made better and the team can learn.
Such an approach results in motivated and enthusiastic teams that contribute their best to ensure the increased application stability and business agility, to deliver a positive end-user experience and empower customer loyalty to the company. Not to mention this helps ensure shorter time to market for new products, stable performance in production, lowered costs and bigger profits. Sounds too good to be true? Order a free consultation from IT Svit and see for yourself!