Recently, many people outside the industry have been asking me what a DevOps engineer is and what I do at work. This is not surprising – there are an increasing number of job offers from companies that are looking for DevOps for their projects. How to explain this phenomenon? Let’s go deeper into the secrets of a DevOps engineer’s work and try to answer the question of why more and more companies have decided to create such a role in their projects.

Software development in the past…

A long, long time ago, when all applications in the world were built by development teams in monolithic architecture, the Almighty Admin deployed these applications. Why “almighty”? The admin had enormous power, both in terms of equipment and its configuration. No wonder, then, that his authority was vast. At a time when cloud solutions did not exist, he had great responsibility for correctly configuring monolithic architecture in a production environment where traffic was often huge and the requirements in terms of reliability were high.

Such a division of responsibilities, however, created huge barriers between the software development team and the admin. The person who controlled access to server resources, locked up in their fortress, did not understand the problems faced by developers and often blamed them for all the problems which arose. It worked similarly from the perspective of the other side too, and the lack of communication could seriously slow down any project.

 

DevOPS EN

How do we do it today?

Today, we have many more possibilities in the field of software development and we are not afraid to experiment because, thanks to cloud solutions, we do not implement changes directly in the production environment. We work in an Agile manner, focus on communication and transparency, and build well-coordinated teams, paying attention to Time to Market. In the era of start-ups, there was also a need to start the development environment quickly and implement even the basic version of the application (MVP – Minimum  Viable Product) in the production environment. This allows you to quickly check the correctness of business assumptions for the new application.

The high level of complexity of business requirements and the level of complexity of the applications being built, in turn, require greater specialization of members of the development team. The previous approach – one specialist being responsible for everything – no longer has any reason to exist today. No wonder that a programmer, who is focused on developing the application, no longer has enough time to implement it in a server environment. This is how the need to identify a specialist in the team who would have competences in both the area of application development and its implementation arose. And that is a DevOps engineer.

See more: DevOps services

What is a DevOps engineer?

DevOps engineer is a role in which a specialist is or may be responsible for:

  • Preparation of environments at various levels, which enable software development, tests, implementation in the development environment and implementation in the production environment respectively.
  • Continuous Integration / Continuous Delivery (CI / CD) process – preparation of the process of building, testing, verifying the quality of the application code, and then implementing it in the server environment using dedicated tools (Jenkins, CircleCI, GitHub etc.)
  • Installation, configuration and updating tools that support software development (repositories of docker artifacts and containers, Sonar, Elastic Search, databases)
  • Infrastructure monitoring and checking alerts automatically generated by the system in case of anomalies
  • Improving communication with the team responsible for the infrastructure (if such a team exists)
  • Process automation, eliminating errors resulting from the “human factor”, i.e. IaC (Infrastructure as Code), using such tools as Terraform and Ansible
  • Implementation of a scalable, flexible and self-healing application (mainly in the cloud)

DevOps – various configurations

Although “DevOps Engineer” job offers are often advertised, some people say that such a role does not exist, probably because the scope of responsibilities of such a person varies greatly, depending on the size of the project. In practice, we can therefore come across various configurations of this role:

1) A DevOps engineer is a member of the development team

DevOps

 

The infrastructure team is responsible for the server part, and the DevOps engineer is the “representative” of the software development team who contacts the infrastructure team.

  • Pros
    • A DevOps engineer can play an active part in software development
    • He can listen to the needs of the development team better
  • Cons
    • He has less impact on what is happening on the infrastructure team side
    • Communication with DevOps engineers from other teams is worse

2) DevOps specialists form a separate team, and each DevOps engineer is assigned to the tasks of one or two development teams.

 

DevOps

 

  • Pros
    • Better communication between DevOps engineers – previously implemented solutions are not replicated; greater consistency
    • Higher work efficiency associated with improving software delivery processes
  • Cons
    • Worse communication with the development team

Why is it worth having a DevOps engineer in the project?

As you can see, although a DevOps engineer is a specialist with a wide range of competences, he is nothing like an administrator locked up in a server room. Companies are willing to employ DevOps specialists or entire DevOps teams because of the specific benefits:

  • Faster implementation of applications – a DevOps engineer, thanks to his knowledge in the field of implementation, unburdens developers who focus on programming
  • Significant improvement in software quality – thanks to the multi-stage Continuous Integration process, which includes conducting various types of software tests
  • Improving the security of the delivered solution – a DevOps engineer has extensive knowledge in the field of security. In the context of DevOps, the term “DevOpsSec” often appearsrelated to the word “security
  • High availability of applications – there are different ways to deploy applications on the server. When you deploy one instance of an application, if it crashes, the application becomes unavailable. Thanks to the implementation of the application by DevOps engineers in the so-called High Availability, there are several instances of it. In case one of them stops working, the other ensures the availability of the service.
  • Scalability of the delivered application – DevOps engineers can implement a solution enabling an automatic increase in the number of instances of the application in the event of sudden increased traffic and its ability to repair itself in case of a failure (self-healing). For example, a DevOps engineer can implement a mechanism that checks, e.g. every 10 seconds, whether the application is running and automatically restarts it if necessary.

DevOps

Conclusion

The speed of digital transformation means that the approach to software development is changing, and companies are looking for specialists who will improve and speed up this process. However, obtaining them is not easy, and last year DevOps specialists were third on the list of the most desirable competences according to the LinkedIn report. Not surprisingly, more and more companies are deciding to employ a DevOps engineer or a DevOps team, using the support of companies specializing in software development. The reasons are varied: the need for faster implementation of the application, the need to improve security and communication between project teams or to have high-quality applications. And what would your reason be?

Author:
Bartosz Komin

Java Developer with over 10 years of experience. Currently fascinated by the idea of DevOps and cloud solutions.

Comment

CONTACT US!

Would you like to learn more about the possibilities of cooperation? Do you have a question? Write to us!

I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for commercial purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for marketing purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for recruitment purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for future recruitment purposes.
I have been informed by JCommerce Sp. z o.o., 3 Ks. Piotra Sciegiennego St. 40-114 Katowice – the personal data controller – that: - The provision of the aforementioned personal data is voluntary but essential for commercial purposes if I have chosen a request for proposal, or recruitment purposes, if I have chosen the remaining options;
- I have the right to access the content of my data, including to receive copies of it and correct it, delete it and limit the processing of it, as well as the right to transfer it, the right to object to the processing of it, and the right to withdraw my consent at any time. However, the withdrawal of my consent shall not affect the lawfulness of processing carried out on the basis of the consent in question prior to its withdrawal;
- A statement of withdrawal of my consent to the processing of personal data should be submitted to the headquarters of JCommerce Sp. z o.o. or sent to the following e-mail address: zgody@jcommerce.pl. The withdrawal of consent to the processing of personal data shall result in the inability to fulfil the aforementioned processing purposes;
- The personal data provided shall be shared by JCommerce Sp. z o.o. with the company’s authorised employees and individuals collaborating with JC under civil-law contracts, who are involved in the implementation of the purpose of the processing;
- The data provided shall be processed on the basis of the relevant provisions of Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation), ‘GDPR’;
- Should you have any questions regarding the protection of your personal data, please contact us by e-mail: odo@jcommerce.pl;
- The personal data provided shall be processed for the purpose for which it was supplied, or until I express my objection in this regard. In the event of filing an objection, JCommerce Sp. z o.o. shall no longer process my personal data for the aforementioned purposes, unless it can demonstrate that there are valid and legally justified grounds overriding my interests, rights and freedoms or my data is necessary to establish, pursue or defend a claim, if any;
- I have the right to file a complaint to the supervisory authority if I consider that the processing of the aforementioned personal data violates the provisions of the General Data Protection Regulation of 27 April 2016.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for commercial purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for marketing purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for recruitment purposes.
I hereby agree that JCommerce Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as my name, surname, e-mail address, telephone number and company name, for future recruitment purposes.
I have been informed by JCommerce Sp. z o.o., 3 Ks. Piotra Sciegiennego St. 40-114 Katowice – the personal data controller – that: - The provision of the aforementioned personal data is voluntary but essential for commercial purposes if I have chosen a request for proposal, or recruitment purposes, if I have chosen the remaining options;
- I have the right to access the content of my data, including to receive copies of it and correct it, delete it and limit the processing of it, as well as the right to transfer it, the right to object to the processing of it, and the right to withdraw my consent at any time. However, the withdrawal of my consent shall not affect the lawfulness of processing carried out on the basis of the consent in question prior to its withdrawal;
- A statement of withdrawal of my consent to the processing of personal data should be submitted to the headquarters of JCommerce Sp. z o.o. or sent to the following e-mail address: zgody@jcommerce.pl. The withdrawal of consent to the processing of personal data shall result in the inability to fulfil the aforementioned processing purposes;
- The personal data provided shall be shared by JCommerce Sp. z o.o. with the company’s authorised employees and individuals collaborating with JC under civil-law contracts, who are involved in the implementation of the purpose of the processing;
- The data provided shall be processed on the basis of the relevant provisions of Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation), ‘GDPR’;
- Should you have any questions regarding the protection of your personal data, please contact us by e-mail: odo@jcommerce.pl;
- The personal data provided shall be processed for the purpose for which it was supplied, or until I express my objection in this regard. In the event of filing an objection, JCommerce Sp. z o.o. shall no longer process my personal data for the aforementioned purposes, unless it can demonstrate that there are valid and legally justified grounds overriding my interests, rights and freedoms or my data is necessary to establish, pursue or defend a claim, if any;
- I have the right to file a complaint to the supervisory authority if I consider that the processing of the aforementioned personal data violates the provisions of the General Data Protection Regulation of 27 April 2016.