Senior Devops Engineer - BGC PartnersOct 2018 - Apr 2020 — Contract (18 months)
- Serverless - API Gateway, Websockets, Lambda
- Kinesis, streams, firehose, data transformation pipelines, log ingestion & enrichment pipelines
- Elasticsearch, Logstash, Kibana, Fluentbit, Filebeat
- Prometheus, Alertmanager, Grafana
- Docker, ECS
- CI/CD & workflow design - Jenkins, AWX, Pipelines, Jenkinsfile, Teamcity
- Linux (debian, rhel, centos, amzn2)
Senior Devops Engineer - PearsonsFeb 2018 - Oct 2018 — Contract (9 months)
- Environment design, security/system/network design & architecture in AWS
- Large transformation & migration of on prem to AWS
- Architected HA & FT architecture for Hybris & AEM platforms in AWS
- Packer, Ansible role config management, artifact creation (docker images & aws AMI's), some legacy Puppet
- Immutable approach
- Jenkins - CI/CD/Test pipelines + promotions + groovy
- Puppet cleanup contribs to legacy puppet codebase + open source forge module contribs
- ECS clusters for several tooling services
- Monitoring tools EKK, NewRelic, Cloudpassage
- Team workflow design - PR review process & CI pipelines
- Lambda serverless
- Hashicorp Vault+Consul POC
Principal Devops Engineer - British Telecom/EEOct 2015 - Dec 2017 — 2 years 3 months
Principal DevOps/Infrastructure engineer at EE. I lead a team of 10 engineers on a programme of work to improve cloud infrastructure for ee.co.uk ecommerce site. Remaining the technical solution lead throughout.
Architected and lead a solution for large scale provisioning of AWS resources with Cloudformation and Python (troposphere). Code base supported multi AZ/region/Account deployment of infrastructure, in a CI/CD design.
Provided Self Serve mechanics via Jenkins to Developers, QA, Testers & other non technicals to launch environments with Application X at version Y. Also reduced overall AWS spend by introducing mechanism to persist/un-persist an environment and otherwise delete after 19:00 and weekends. As so, to not leave environments running or scaled when not in use.
Worked with large Java products SAP's Hybris and Adobes AEM. Scaled Hybris behind static cache. Fine tuned multiple layers of Hybris object cache.
Used Puppet (PE) extensively with roles & profiles to config manage EC2 vms, docker containers, local vms (vagrant). Replaced a legacy SALT Stack implementation.
AWS Lambda Python functions presented as a custom networkinfo resource to Cloudformation. Handled requests from the cloudformation api. Returned info back at runtime to the Cloudformation api from within AWS - "Poor mans dynamic resource lookups".
POC to run Devops tests across variations of the config management code base using docker + testkitchen + puppet. Think roles+profiles+env_type variations. Coupled this with some basic Rspec and Serverspec tests.
Configured CI/CD builds for Devops internal code on PR merges. Trigger a series of build tests.
Built & developed seperate VPC for atlassian suite standalone products. EE desired tools + data remain on premise. V.good knowledge of Jira, Hipchat, Crowd, Bamboo, Confluence, Bitbucket.
- Linux – Mostly Debian (Ubuntu)
- Atlassian suite
- CI / CD
Senior Devops Engineer - KaplanJan 2015 - Oct 2015 (9 months)
- AWS Cloud devops architect responsibilities for new project stacks.
- Developed leaner ansible provisioned stack for repeatable small LAMP projects
- Used Nginx GeoIP to route users to language sets and specific content urls.
- Worked heavily on scaling policies/triggers for large kaplaninternational.com ecommerce site.
Devops Engineer - KaplanApr 2014 - Jan 2015 — (9 months)
Large scale migration of business and web systems to AWS. Automation into AWS environment with Cloudformation, config management via Puppet (&puppetdb/mcollective), Fabric (python library) mixed with boto (also a python library) for adhoc task management and machine discovery. Jenkins for providing CI back to non tech users and for periodic job scheduling.
- Developed cloudformation with Python cmd line wrappers to launch AWS resources cross regions.
- Built automated puppetmaster open source setup in AWS using cloudformation + python + puppet + mcollective.
- Migrated several backend and frontend web services from Rackspace to AWS using the new tooling including kaplaninternational.com
- Jenkins + pipelines for app deployment & environment builds
- Configured devops tooling - opsgenie, loggly, splunk, nagios
- Developed pipelines for promotion of new versions of app code alongside specific versions of the infrastructure code
- Developed various puppet modules to automate the configuration of various web platform projects & utility tools
- Used Amazon Linux AMI
- Ruby custom extensions to hiera for alternative backends
- MySQL DBA tasks migration and optimisation of large databases
- Implemented S3FS and SAN
Backend Developer / Integrations Engineer - KaplanJan 2013 - Sep 2013 — (9 months)
- Developed bash scripts + capistrano to create repeatable deployment of apps
- Developed complex migration scripts to transform & sanitise datasets
- Optimised environment, build, config use in PHP projects Drupal, Laravel & Wordpress projects
- Used vagrant, vms, and packer to provide developers with repeatable builds & local environments
- Built a Laravel API with Oauth to be consumed by native mobile application
- Brought various Git workflow changes into place, pull-requests, peer reviews, open source workflows
Founder & Lead Developer - BytewireSep 2007 - Dec 2012 — (5 years 3 months)
Formed from the bedroom of my final year at university, Bytewire was formed to wrap activities I had been undertaking to build a successful online game, and business. Taking investment in its first year to create a MMORPG (Massively multiplayer online role play game). Provided excellent platform to upskill, deal with real world problems such as bottlenecks in LAMP applications and tie the business side of features into the psychology of a user.
Later morphed into a client centric media agency, work can be found @ Bytewire