Tom Cooper

Canada

@thomascooperca

Cloud Architect at RBC

Badges

Problem Solving
Java

Certifications

Work Experience

  • Staff Developer

    Royal Bank of Canada•  September 2022 - Present

    Lead developer supporting InnerSource and OSPO initiatives including: * Migrate on-premises GitHub Enterprise Server to GitHub Enterprise Cloud * Migrate Jenkins CI/CD to GitHub Actions * JFrog Artifactory repository management * OIDC migration from on-premises to Azure AD * Open source scanning using NexusIQ and GitHub Advanced Security * OSS supply chain security including license & vulnerability management, remediation and mitigation

  • Cloud Architect

    Royal Bank of Canada•  June 2019 - September 2022

    Develop reference architectures for applications, provide solution design guidance and develop standards for cloud hosting on Azure & AWS public clouds as well as OpenShift private cloud on premises. Including infrastructure, network, security and deployment architectures. Technologies include: Kubernetes, OpenShift, AKS and EKS. Reference implementation including registries (ACR, ECR), ingress (NGINX, Azure App Gateway Ingress, AWS ALB Ingress), security (cert-manager, OPA Gatekeeper), GitOps using Flux & ArgoCD and cluster deployment (Azure ARM, AWS CF, Terraform). Observability via DataDog, Splunk, fluentbit, Azure Event Hub, Prometheus and Grafana. Istio and Consul Service mesh POC Azure VMSS, AWS EC2 and VMware vSphere Azure shared image & AWS AMI image development Hybrid DNS & networking designs using ExpressRoute, virtual networks, vnet gateways, private endpoints, DirectConnect, VPC & transit gateways

  • Senior Software Engineer

    Royal Bank of Canada•  January 2017 - June 2019

    Developed REST API services for infrastructure automation & integration (Active Directory, RSA Archer, Infoblox, F5). Created plugins (UCD), CLI and libraries for consuming APIs through Spring Boot & ServiceNow. Managed as micro-services behind Zuul (eventually Spring Cloud Gateway) API gateway combined with OpenShift routes (ingress). Manage production environment on RHEL, Docker and OpenShift. Manage CI/CD via Jenkins & Ansible. Manage Redis, Postgresql databases, Consul, Grafana and Prometheus. Implemented test automation using Spock & JUnit. Integration & end-to-end testing introduced to dev/uat/prod deployment pipeline (gating higher environments).

  • Network Engineer

    Royal Bank of Canada•  August 2013 - January 2017

    Design, implement and support global internal network. Included remote office & head office campuses as well as on-premise data centres (B2B/extranet, core and server farm, WAN aggregation). Piloted the use of Puppet Enterprise and configuration management on NX-OS and Nexus 9000 series data center switches. Created non-production manifests using roles & profiles pattern. Contributed to open source to add port-channel (LAG) to upstream Cisco libraries (cisco_node_utils Ruby gem and cisco-network-puppet-module) along with Puppet prof svcs and Cisco OSS. Developed scripted configuration generation for templated deployments (EVPN leaf-spine networks, BGP border routing) using Python & Jinja. Integrated scripts with automatic fulfillment of DNS records. Created basic web interface using Flask to generate and download config files from.

  • Network Support Analyst

    IBM•  April 2011 - August 2013

    Support multitude of network hardware and software. Handle customer incidents and perform triage. Case management with vendors (Cisco, Juniper, Brocade). Created knowledge base on internal network hardware brand (Blade Networks) including design, installation and troubleshooting guides.

Education

  • Durham College

    Computer Information Systems, BE•  September 2008 - April 2011

    Not a bachelor program. Advanced diploma in Computer Systems Technology.

Skills

thomascooperca has not updated skills details yet.