Mark Flood

Been working as a DevOps engineer for number of years. Love the culture and the tools that come with the role.

Always seeking to improve my knowledge by attending courses and going to conferences/meetups with like minded people.

Feel free to check out my blog linked below if you want to keep up with interesting topics involving DevOps tools.

What I Do

Docker

Docker

I have been using Docker and creating containers for a number of years now. I have contributed to Docker's registry for a few images which are being used in the company. Feel free to check them out.
Docker hub

Jenkins

Jenkins

Setup multiple pipelines for different projects.

The majority of these pipelines will be triggered by a webhook, spin up a VM using a pre-existing image, use global tools to build, scan with sonarqube, deploy to our artefact repository and tag the release. The others are for various jobs such as owasp scanning dependency vulnerabilities.

Python

Python

Been writing scripts in Python for a couple of years to help with automation. Some examples include:

  • Create vpn certs for new users, copy to local location and change permissions ready for use.
  • Use Nexus api to search and download artifacts from repo providing project and version number. This then changes permissions for the files and zips them up ready to be transferred.
  • Grab container image names and version, write the information to a html file, deploy an nginx container to present information to developers.
  • Produce Sonarqube report by using the sonarqube api, pulling json data in pandas dataframes and exporting the results in an excel spreadsheet

Prometheus

Prometheus

Prometheus is used for exporting metrics. The metrics pumped out can depend on the exporter, but I'd say the default exporter to have is node_exporter which pumps metrics on the system state. Some examples of what I've used prometheus teamed with Grafana are:

  • Total drive space used
  • CPU usage
  • Ram usage
  • Jenkins metrics for builds, nodes and availability

Grafana

Grafana

Setup Grafana to display metrics of our environment to the department.

This gives us and other staff in the department an idea how healthy our environment is and to help us identify any potential issues.

I've also setup alerts in Grafana and integrated slack communication to provide alerts to the required department depending on the alert.

GitLab

GitLab

Access Gitlab on a daily basis to work with git repo's, do general admin work, setup webhooks, setup git runners for autodevops, etc.

AWS

AWS

Been working with AWS for a few years hosting production environments. Primarily set everything up with Terraform, but will from time to time either manually test things in console or through aws cli.

Azure

Azure

Primarily work with azure to setup our environment. Although for the most part I've used Terraform with Azure to setup VMs, nics, subnets and storage. The following experience I have with Azure portal and cli is as follows.

  • Creation of automation accounts
  • Creation of service tokens for Azure access from other applications
  • Setup of OMS agent across Nodes
  • Setup of periodic backups

Terraform

Terraform

Terraform can be used to setup the infrastructure of an environment. Terraform is meant to be agnostic. This means you can setup an environment for a specific cloud provider and if you need to port the existing infrastructure to another cloud provider, there should be small changes needed for it to work.

Ultimately Terraform is a tool to communicate with cloud providers to build the infrastructure. Some examples of work I've done with Terraform are:

  • Created VMs
  • Setup Storage accounts
  • Setup NSG Rules
  • Creation of data disks

Ansible

Ansible

Ansible is used for configuration management. This tool helps a lot with setup after a new VM is started. With it, you can just write roles to go through and run on the selected host machine. Some roles I have personally wrote are:

  • Docker-CE
  • Prometheus
  • Node_exporter
  • Grafana
  • Docker TLS
  • Default swap
  • Azure linux agent
  • Glusterfs

Sonarqube

Sonarqube

This static code analysis tool is used to scan and give developers an idea of the bugs and issues in their project. It can also provide a quality gate whilst building the prevent builds going any further should a certain threshold be hit. This makes sure a build doesn't get released if there are too many bugs/issues or vulnerabilities.

Slack

Slack

Mostly used slack for communication between teams, I have also used it for multiple custom integrations such as having Jenkins inform developers on successful builds or having Grafana send an alert to my team if resources are low on nodes.

Confluence

Confluence

Written multiple articles to help other colleagues with information. Typically use Confluence as a main source of information and a way we can keep track of particular issues or write our own manuals for procedures and processes.

Resume

7 Years of Experience

Experience

2018 – Current

CGI

DevOps Engineer

As a DevOps Engineer my work includes a multitude of interesting projects, learning modern tooling and techniques to facilitate cutting-edge products on a variety of cloud and bare-metal platforms, contribute towards process and technology choices that help deliver the best solutions for the clients.

  • Create and manage systems and services in the cloud: proxies, backups, CI/CD, git-based deployments, webhook automation, cloud monitoring, and central logging.
  • Manage/operate virtual machines for many clients, including patching, automation, monitoring, failover, backups, etc.
  • Docker swarm. Docker CI, logging, and discovery automation.
  • Build out of customers Microsoft Private Cloud using Azure Portal.
  • Creation of automation scripts using Python and Bash.
2016 – 2018

Sorenson Media

Service Operations Centre Engineer (DevOps)

Reporting to the SOC Manager, I was responsible for supporting the technology platform that powers all Sorenson Media
products and services. I was part of a 24×7 on-call coverage schedule including weekends, early mornings and evening
coverage.

  • Support external/internal customers by monitoring core network/service equipment for outages and performance issues.
  • Diagnose and configure equipment and address configuration on hardware, network and software issues.
  • Creation of automation scripts using Python and Bash.
  • Containerised automation scripts ease of access to the team and less chance of human error.
  • Used saltstack for remote task execution and configuration management.
2015 – 2016

CGI – Space and Defence

2nd Line Application Support Engineer

I provided incident management, automation writing Powershell scripts and development whilst working on shared service support.

  • Writing up working procedures and documentation for new issues, storing them in a repository of incidents recorded for other staff members to access as a knowledge base.
  • Setup, monitoring and maintenance of VMs across multiple projects.
  • Creation of automation scripts to mitigate human error on manual tasks using Powershell and Python.
  • Train colleagues on processes and troubleshooting issues.
2012 – 2015

Williams Medical Supplies

Support Analyst

Working as part of the in-house Business Systems team the role included
expanding the use of IT systems and applications within the business; identifying and
delivering solutions and opportunities using chosen IT platforms
Microsoft Dynamics NAV, Microsoft Dynamics CRM, Microsoft SharePoint, Microsoft SQL Server.

  • Provide a high level of customer service to staff members of the company, dealing with queries or issues via our ticket system.
  • Set up of computer systems, laptops, servers ready for use by staff.
  • Setup, monitored and performed maintenance on Linux/Windows servers.
  • Setup automation to setup new users when joining the business and setup their permissions based on the department.

Certificates

2019

Docker Mastery by Bret Fisher

2018

Udemy

Kubernetes for DevOps

2018

Udemy

Master Jenkins CI for DevOps and Developers

2017

DataCamp

Intermediate R

2017

DataCamp

Beginner R

2017

CGI

Agile Principles and Behaviours Workshop

2014

AXELOS

ITIL V3

Education

2010

University of South Wales

HND Information Systems

2008

Bridgend College

BTEC National Diploma For IT practitioners

2006

Bridgend College

GNVQ Intermediate ICT

2005

Bridgend College

GNVQ Foundation ICT

Operating System Skills


  • Linux

  • Mac

  • Windows

Version Control


  • Git

  • Subversion

Sysadmin and IT Pro


  • Azure

  • Digital Ocean

  • Docker

  • Terraform

  • Ansible

  • Jenkins CI

  • GitLab

  • Pycharm

  • VSCode

  • Eclipse

  • Postman

Coding Skills


  • Python

  • Powershell

  • Bash

  • YAML

  • SQL

  • R

Contact

Get in Touch