Position: Azure DevOps Lead/Senior (the oil and gas industry)
Company: Recruiting Republic
Experience required: 3y
Category: DevOps
English level: upper
Published: 2021-10-01T00:00:00+03:00

**About The Client/Project**
The client has around 20 software engineers developing a software-as-a-service product for the oil and gas industry hosted on Azure. The product has been in active development for over three years but has only recently been released into production.
The client would like to build a DevOps team outside our current project teams. 

It is important for our internal teams to remain involved in DevOps - maintenance and security of the underlying infrastructure on which it runs should be primarily the responsibility of the new DevOps team.

**Tech Stack**
**Development Platform:**
All source code is developed hosted in GitHub and is mostly F#, Python, TypeScript or C#.
The majority of the software is written as microservices which we package as Docker containers to be run on Kubernetes. We run development and testing environments on Azure Kubernetes Service (AKS). Every developer and some other employees have their own Kubernetes namespace where they run, develop and test their software. Deployments and
upgrades are managed through ArgoCD

**Production Platform**
The production environments are run single-tenant on Azure i.e. one AKS cluster per customer (currently four). The configuration of the infrastructure is managed using Terraform and deployment and upgrades of the software through ArgoCD. As well as the Kubernetes, our software uses Blob Storage, Postgres, Azure Firewall and Log Analytics among other
services.

**CI/CD Platform**
CI/CD is managed by Zuul and a number of custom scripts. Much of our codebase is managed in a monorepo although quite a lot of code is in separate repositories. We don’t currently have good control of versioning and compatibility between services in the different repositories.

**Security**
We are using Azure Security Center for basic warnings about the overall infrastructure and Sentinel for monitoring.

●  Leading 2 middle DevOps
●  Make a decision on DevOps and SecOps new tools usage
●  Secure Jupyter - We deploy Jupyter as part of our SaaS to customers but it provides an an environment where users can run arbitrary Python code. How can we secure it as much
as possible to limit the potential damage caused by malicious users?
● Create a way to clone namespaces - so that internal developers can take a running namespace from another developer and clone it for their own use
● Add high-resource nodes on-demand - so that our software is able to run high-CPU or high-memory workloads. This will require tighter collaboration with the development teams.
● Create playbooks for dealing with emergencies - such as taking production clusters offline in case of a cyberattack.
● Disable firewall and logging for the ArgoCD cluster - ArgoCD is running on its own k8s cluster and we currently pay for firewall and logging which are unnecessary since it’s internal-facing.
● Deploy production clusters for new customers - we have two in the backlog and more to come.
● Monitoring and maintenance of the internal and production clusters - this currently amounts to roughly 0.5 FTE ongoing

**Job requirements**
Set up highly scalable infrastructure
Multi-tenant management
Have experience in working with security tools
Experience in passing ISO or other security certifications
Use Terraform as Infrastructure as a Code tool for highly automated provisioning
The approximate level of engineering - Senior
Deep knowledge of Azure
Experience with CI/CD 
Automation abilities
Strong Leadership skills
First-rate communication skills
Passion for learning and solving problems
English Level - Upper-intermediate