DevOps Skills

The broad picture. Skills to address the “from Code to Infrastructure” paradigm. Bridging ends from code producers to deployment in production – mindset of all involved, get a sense of the process as well do the automation of it and the orchestration and monitoring.

Collaborate with internal management teams involved in the DevOps process and stay familiar with the objectives, roadmap, blocking issues and other project areas.
Have the skills to mentor and advise team members on the best ways to deliver code, what tools to use when coding and how to test the latest features.

The target. Fast provisioning: be able to setup new machines fast. Good monitoring: to be quickly able to diagnose failures and trace them down. Quickly rollback to a previous version of the microservice. Rapid app deployment through fully automated pipelines. Create the Devops mindset / culture.

DevOps engineers need to know how to use and understand the roles of the following types of tools:
1. Version control: GitHub, GitLab
2. Continuous Integration servers: code coming in repository server and triggers build and doc: Jenkins, GitLab CI, Atlassian Bamboo, Circle CI, GitHub Actions
3. Configuration management: Software Configuration Management SCM Tools: Configuration management occurs when a configuration platform is used to automate, monitor, design and manage otherwise manual configuration processes. System-wide changes take place across servers and networks, storage, applications, and other managed systems: Puppet, Ansible, Chef
4. Deployment automation: Ansible Tower, Bamboo
5. Containers: containerd, Docker, Artifactory
6. Infrastructure Orchestration: automating the provisioning of the infrastructure services needed to support an app moving into production – in the right order, is orchestration: Terraform, Ansible (also Config. Management Tool), Chef, Kubernetes
7. Monitoring and analytics: Prometheus, Datadog, Splunk
8. Testing and Cloud Quality tools: a test automation platform uses scripts to automate the whole process of software testing. Identify the tests that need to be automated. Research and analyze the automation tools that meet your automation needs and budget. Based on the requirements, shortlist two most suitable tools. Do a pilot for two best tools and select the better one. Discuss the chosen automation tools with other stakeholders, explain the choice, and get their approval. Proceed to test automation
Tools: Kobiton, Eggplant, TestProject, LambdaTest
9. Network protocols from layers 4 to 7, nginx, caching, Service Mesh.
10. Programming skills with Java, Shell, Python, JS, Ruby…

Also:
Monitoring production environments
Performance measurements
Security
Cloud administration
Get proper alerts when something is wrong or unavailable
Help resolve problems either through online support or technical troubleshooting

Virtualization & Containerization

Today’s OS virtualization technologies are primarily focused on providing a portable, reusable, and automatable way to package and run apps. The terms application container or simply container are frequently used to refer to these technologies. As the enterprise gravitates toward private clouds, particularly Linux-based clouds, an integrated container stack will be crucial for the delivery of applications and microservices to a diverse workforce. Containers are poised to emerge as an integral component of the cloud, which itself is on the way to dominating IT infrastructure both within and without the data center. Virtualization laid the groundwork for this transformation, but containers will kick it into the high-speed, highly diverse data environment that will propel data productivity for another generation.