What you need to know from DevOps average web programmer when applying for a job?
Whole life was developed with the installation of LEMP on all my Ubuntu and deploy FTP on process (or git pull for git post-commit hook). In General, lagged behind modern methods.
In may I plan to find a new job and decided to need some coaching before the interviews. In the last month immersed in the study of Docker. There is honestly quite tight and slow, but progress is being made (not using LEMP on the host). There is already a lot of questions asked. And in turn still have to try Ansible, Jenkins, Vagrant, which had no business.
And I have to get some knowledge on the most actual programming to.
Here's a question: should I spend a lot of time researching CD / CI? If Yes, what knowledge at least must have? Or in a new team will teach what they have used? Ask any questions on this subject?
Understanding the principle of operation of ssh keys to be able to configure access to Linux machine or to the git (bitbucket/github/etc)
Basic understanding of git and that hangs on top of it (github, bitbucket, etc) to keep the pull requester, to understand why they are and how organized you have a job of narconons for branches, as review is done
If you write under Docker, the Dockerfile is basically the responsibility of the developer. Where to start - the second question.
You should be able your app to deploy on the local machine and understand how to deploy it on another machine.
Jenkins\Teamcity is a tool where devops tries to automate what you can deploy on the local machine. You advise where and how you read the configs, maybe devaysov have any centralized way of doing this. But Jenkins\Teamcity you need at the level of advanced user. To ask devops to show you the base.
Generally, you need to understand the entire stack, from scratch, to deliver and configure the machine where your app is. Requirements for your application, you should know better than devops - because you write the application. You know its exemplary performance, its memory requirements, it bottle necks.
The task of devops is scale and automation. Devops therefore we began to highlight in a separate post that there are many applications that need to deploy on a dev machine and reproducere, and in multiple test environments across multiple regress, multiple production (fault tolerance and so on), and work came up on a decent amount of man-hours. But this does not mean that devops do need to understand your application and the more the business logic better than the developer.
merritt_R answered on March 19th 20 at 09:28
You need to be able to work with your stack, including dependencies (supply and configure LEMP, to understand how and why it works)
To be able to configure the tools to check code quality (phpcs, phpstan, etc.)
To use Docker a plus, but not required.
Everything else (ansible, Jenkins, manifests for Docker and k8s) are doing specially trained people - devops engineers.
Pearline92 answered on March 19th 20 at 09:30
If Docker his prilozhu can pack, all super.
If I connect to docker-compose with other services, the genius of pure beauty))