Job Title: DevOps Engineer/Lead
Location: Herndon, VA Duration: Full Time Scope of Services Evaluate current state DevOps practices and ecosystem and identify areas of opportunity and recommendations that align with the overall Company DevOps desired direction and roadmap.
Complete specific tasking such as the following in collaboration with Company to include but not be limited to the following:
Create Terraform scripts to create CI/CD Infrastructure in AWS and maintain and manage any subsequent changes.
Create Terraform scripts to create Prod/Non-Prod Kubernetes cluster in specified VPC and subnets] Manage, monitor and maintain the Kubernetes clusters and the underlying nodes.
Install and setup GitLab, provide access and setup jobs to backup GitLab instance. Maintain the GitLab on continuous basis e.g. upgrades, applying security patches, manage user access.
Install and setup Artifactory, provide access and setup jobs to backup artifacts. Maintain the GitLab on continuous basis e.g. upgrades, applying security patches, manage user access.
Install and setup Jenkins and slaves in a container environment using docker and helm charts. Jenkins slaves would be of many flavours e.g. for Ruby based Applications, slaves with ruby tools. Automates test slaves would need a docker images that has tools e.g. Selenium, headless Chrome installed.
Develop Jenkins pipelines to do builds for various applications based on various platforms and languages (Ruby, Ruby on Rails, Java, PHP, AngularJS, Android, iOS) using Jenkins pipeline DSL. Develop build scripts for windows application using Power
Shell and MS Build. Integrate these build scripts Jenkins pipelines DSL's.
Develop scripts to install Sonar
Qube in CI/CD cluster, configure Jenkins, so that scans can be inviked dynamically and the results are a published and evaluated. Also we should be able to horizontally scale based on demand. Would require setup of RDS instance.
Develop scripts to install Anchore in CI/CD cluster, so that these can be scaled on demand as pipeline us building docker images. Would require setup of RDS instance.
Build and configure docker files to create and update docker images of applications Develop and maintain helm charts for Kubernetes pod deployments of applications in various Kubernetes clusters.
Develop automation scripts to provision container's in various Kubernetes clusters.
Install, configure Jenkins plugins to interface with Jira, Git and Jenkins. Would need some developing custom scripts.
Work closely with application development team to make the automation work.
Develop custom web-based application to manage releases, approvals and serve as dashboard for release information.