Back to site.

Career Profile

I’m an Enterprise Cloud Architect specializing in infrastructure as code (IaC), SaaS, PaaS & IaaS consulting, DevOps and Drupal. I do technical architecture and implementation to ensure secure, sound and sustainable software stacks as a service (SaaS). While I come from a Drupal background (having worked with it for over 15 years), I’ve shifted my focus to infrastructure and configuration automation, to fully automate cloud infrastructure and configuration. While I’m a certified software engineer, I’ve also been security cleared by the Canadian government.

As part of my SaaS work, I focus on application lifecycle management (ALM), DevOps, Cloud Architecture and Continuous Integration/Delivery (CI/CD). Handling the lower parts of the stack as well, I also work on platform-as-a-service solutions (PaaS) to enable SaaS with ALM, and consult on virtual infrastructures as a service (IaaS) in various cloud environments. Important aspects of my work are automation and security.

HIGHLIGHTS

  • Founder of BackUpScale, the automated, encrypted and secure off-site backup service
  • Received the Government of Canada’s IM-IT Community Recognition Award for launching the Buy & Sell procurement portal (https://buyandsell.gc.ca/)
  • Co-maintainer of the Aegir Hosting System, an application life-cycle manager (ALM) for Drupal sites
  • Mentor for various cryptography-focused Google Summer of Code (GSOC) projects
  • Over 15 years of Drupal expertise, maintaining over 40 contributed modules
  • Insists on security using information and event management (SIEM) and virtual private networks (VPNs)

Skills & Proficiency

Infrastructure Automation

Cloud Architecture

DevOps

CI/CD

Experience

Founding Partner

2018 - present
Consensus Enterprises

Cloud architecture, software & systems engineering, Web services, SaaS, Infrastructure and DevOps consulting.

Core Maintainer

2016 - present
Aegir Hosting System

Development and maintenance of the open-source project for hosting Drupal and other types of sites.

Projects Maintainer

2006 - present
Drupal

I’ve built and/or (co-)maintain over 40 Drupal modules.

Director Of Engineering

2016 - 2018
The Authenticity Institute

Digital identity & cryptography.

Projects

I’ve worked on many projects throughout my career.

The Authenticity Institute - Digital identity
  • Created information architectures that integrated with authenticity/identity components.
  • Used cryptography and the Authenticity Infrastructure in the initial design of software systems to prevent security from being an afterthought.
  • Worked towards implementing continuous integration and delivery (CI/CD) of software.
  • Architected the cloud-computing infrastructure necessary for hosting cloud-based applications.
  • Provided expertise in the enterprise technical architecture area.
  • Produced S aaS and PaaS solutions.
  • Implemented and documented DevOps processes.
  • Took a best-practice approach to back-end software development.
  • Supported Drupal sites via the Aegir Hosting System.
Health Canada - Proprietary and Scientific Information Assessment (PSIA) Info Mgmt
  • Provided advice on Web technologies and the resource roles necessary for various Web projects.
  • Planned the infrastructure for hosting Drupal sites.
  • Produced estimates for the new business requirements and upgrading the existing site to Drupal 8.
  • Added support for user groups, and being able to notify all members.
  • Set up new Drupal 8 site, configured it and added functionality from Drupal 7.
  • Wrote a custom notification system for updates to access-to-information requests.
  • Created a scheduling subsystem for automatic e-mail reminders that get sent when tasks are due.
  • Added tests for Drupal core development.
  • Set up an Aegir Hosting System instance on a new VM for a new Development environment.
  • Updated the standard Drupal 8 update process to include instructions for patch management.
  • Documented installation and operations required for running Health Canada Aegir instances.
  • Configured Aegir to run behind a reverse proxy to add HTTPS support.
  • Developed migration plan, configuration and documentation for migrating the data to Drupal 8.
  • Helped with supporting data migrations from Drupal 7’s Field Collection to Drupal 8’s Paragraphs.
  • Migrated users, groups, records, references and comments from Drupal 7 to 8 with a new module.
  • Worked with others to scale the Aegir implementation.
National Democratic Institute for International Affairs (NDI) - Continuous integration/deployment for DemTools
  • Explored Kubernetes as a container-orchestration system for automated application deployment.
  • Planned integration between Kubernetes and Aegir.
  • Architected mapping of Aegir abstractions onto Kubernetes.
  • Deployed applications with Kubernetes resources.
  • Researched the backup and restoration of Kubernetes deployments.
  • Reviewed others’ resource management code.
  • Determined methods for deploying storage data for backup.
  • Set up a development environment with Minikube, Docker and Vagrant.
  • Implemented process for sending front-end configuration data to the back-end.
  • Created new content types within Aegir for Kubernetes services.
  • Implemented a backup implementation.
  • Reviewed existing deployment processes.
Holland America Line - Booking Data Flow
  • Researched various configuration deployment approaches across development environments.
  • Developed workable solution for packaging bundles of configuration as features.
  • Modified the configuration merge workflow as necessary to match requirements.
  • Finalized process for merging Web UI configuration with developers’ configuration in code.
  • Determined the best cryptographic cipher suite to use for supporting common browsers.
  • Proposed and oversaw plans for improving caching, load balancing, and adding a logging server.
  • Instituted policy of tracking all application configuration in the code repository under version control.
  • Rejigged file permissions and ownership for securing Staging and Production systems.
  • Added a feature to simplify the Drush command handling merging.
  • Devised process for connecting to the corporate VPN though Linux.
  • Refined developer documentation for setting up and maintaining local sandbox sites.
  • Reviewed existing configuration management processes and the Nginx Web server configuration.
  • Standardized application configuration across all environments.
  • Developed deployment processes and supervised code deployments.
  • Managed continuous integration with Jenkins via development build scripts.
  • Enhanced the release tagging strategy and process for emergency code fixes.
  • Performed developer code reviews.
  • Tuned applications for performance.
YMCA San Francisco - Remote Data Management
  • Drafted options for importing remote data.
  • Mapped remote data types to corresponding records defined in local data model.
  • Determined optimal use of APIs providing access to current data stores.
  • Set up several feed importers for ingesting content.
  • Reviewed and stabilized the data model.
  • Developed several routines to convert data for local stores as necessary.
  • Added spam prevention to various public-facing forms.
  • Devised plan for adding time-of-day filters to data views.
  • Solved various timezone issues.
City of San Francisco - Sites Migration
  • Assessed possible site and code repository architectures, and dealing with related issues.
  • Solved various issues with migrating and importing sites into the new environments.
  • Discussed possible single sign-on (SSO) strategies.
  • Coordinated with new hosting provider.
  • Set up access to virtual machines (VMs) for developers & other maintainers.
  • Created master Drush configuration for all sites.
  • Prepared to launch sites into production.
  • Investigated various caching issues with Redis, etc.
  • Reconfigured the Solr search engine.
Nestlé - Canadian Products
  • Assessed existing information architecture (IA) / data model.
  • Produced plans to improve the IA and development processes (DevOps).
  • Planned development activities for several technical resources.
  • Managed, organized, prioritized and estimated issues in the tracking system.
  • Guided developers to help them accomplish their tasks.
  • Provided feedback (as per best practices) on client assumptions for building Drupal sites.
  • Established parameters for a successful content editor workflow and implemented a solution.
  • Built the authoritative code repository, database and supporting applications (e.g. mail, Drush).
  • Developed the site’s functional specifications.
  • Instantiated deployment scripts for moving code, databases and files between environments.
  • Set up the Development, Staging and Production environments with a full application stack on AWS.
  • Ensured that the HTTPS certificate was correctly integrated.
  • Configured the Web server configuration Nginx + PHP’s FastCGI Process Manager (FPM).
  • Documented the virtual machines’ set-up and all development & operational processes.
  • Implemented multiple automated backup strategies for all assets.
  • Added a multilingual / translation subsystem to support both English and French content.
  • Upgraded Drupal core and contributed modules to protect against security vulnerabilities.
  • Audited all modules (plug-ins) chosen by the developers.
  • Researched various content delivery networks (CDNs) to determine applicability.
  • Built a Java stack for the Apache Solr service via the GlassFish application server.
  • Coordinated the implementation of a single-sign on (SSO) solution with another vendor.
  • Debugged issues related to the corporate firewall.
  • Tweaked system configurations to meet security standards.
  • Modifying data-import processes to match business requirements.
  • Worked with client to resolve domain name service (DNS) routing issues.
  • Architected a social sharing solution to post site content to various Web sites.
  • Delivered a system to tag and display list of content based on various filters.
  • Performed code reviews.
Canadian Football League - Corporate and team sites
  • Developed system architecture and technical requirements documentation.
  • Proposed various technical solutions to business requirements.
  • Worked with the project manager to provide cost estimates.
  • Researched third-party services necessary for the sites.
  • Communicated with various service providers to host the site’s multimedia assets.
  • Investigated Drupal platform-as-a-service (PAAS) hosting companies.
  • Discussed options for managing the sport’s statistics.
  • Wrote a business case for Drupal-platform hosting as opposed to generic hosting.
  • Provided technical guidance to the development subcontractors.
Canadian Blood Services - The new Blood.ca / Donor Web Portal
  • Architected the roll-out of Drupal (the WxT distribution) as the new enterprise Web platform.
  • Developed the new Donor Web Portal for booking blood-donation appointments.
  • Extended Drupal as an interface to load & save remote data through a REST API.
  • Researched options for SSL/ TLS terminators, reverse-proxy caches, load balancers & Web servers.
  • Ensured the QA & Production environments were available via HTTPS, with proper certificates.
  • Wrote a business case for switching to Git version control, and set up an appropriate architecture.
  • Instituted DevOps processes for coordination, deployment & upgrades with Git and GitLab.
  • Created (auto-)deployment scripts for moving code, configuration & data between environments.
  • Set up automatic Drupal user account creation on logins based upon the back-end CRM.
  • Provided users the ability to securely register, manage their appointments & view history.
  • Designed and implemented a Drupal module for OAuth2 user authentication & authorization.
  • Integrating outsourced theming and other front-end work into the new framework.
  • Performed code reviews and wrote an article how this is best done within Drupal projects.
  • Produced a method for displaying remote data (not local to Drupal) using Views.
  • Implemented a content editor workflow for authoring, approving and publishing content.
  • Provided options for performance optimization and security-related issues.
  • Allowed content editors to upload files to arbitrary locations within the Drupal file system.
  • Reduced deadlocks with the MySQL database implementation through new configuration.
Reputation.com - US-UK Web Site Merge
  • Re-architected the US site to serve the UK site as well, with different subdomains.
  • Allowed for seamless switching between country contexts.
  • Set up editors with field-based content localization for both the US and the UK.
  • Worked with third-party APIs (e.g. LiveChat, Mongoose Metrics) to enable multi-country support.
  • Provided different landing page tempates depending on the locale.
  • Swapped in country-specific menus & other compoents based on the active country.
  • Wrote DevOps process documentation to deploy code & configuration.
Harvard University - Acquired Data Accountability and Management System (ADAMS)
  • Upgraded the site from Drupal 6 to 7.
  • Instituted group-based access control for different organizations within the university.
  • Developed a process to create new organizational data use agreements (DUAs) from templates.
  • Created a framework allowing for different document workflows within each organization.
  • Set up modern revision control with a development workflow and a new hosting provider.
Hunter Boots - Hunter Boots Canada
  • Added Canadian currency (CAD) support to the e-commerce application.
  • Rewrote e-commerce code make it work for multiple countries.
  • Performed research on adding an automated Google Shopping feed.
  • Added support for Canadian shipping addresses.
  • Tested shopping-cart checkouts for Canadian customers.
  • Constructed a system to provide country-specfic features (e.g. menus) per country site.
MBE Holdings Inc. - Gripevine
  • Performed a full technical architecture audit of the latest Drupal implementation.
  • Suggested a new and improved data model for clarity, simplicity and standardization.
  • Made recommendations and provided time estimates for optimizations and improvements.
  • Provided on-going consulting services for Drupal-related issues.
Pink Triangle Press - Daily Xtra
  • Created report on existing operational processes for code deployment.
  • Produced plan for optimizing development operations (DevOps) processes.
  • Oversaw the implementation of the new operations.
  • Modified deployment scripts for Staging and Production environments.
  • Ensured that content and configuration are handled differently.
  • Helped the system administrator (sysadmin) with Drupal deployment issues.
  • Wrote documentation for the developer, build manager and sysadmin roles.
  • Developed custom code to invalidate the Varnish cache on content updates.
  • Discussed various additional cache mechanisms such as cache warming/priming.
  • Brainstormed and planned strategies for improving site performance.
Intercultural Systems / Systèmes interculturels - MyWorldAbroad.com
  • Performed an accessibility audit of the site as per Section 508 requirements, WCAG specifications and related resources.
  • Made use of several performance analysis tools in order to establish benchmarks for the loading of various pages.
  • Improved performance of the site using a wide variety of caching mechanisms, such as cache warming/priming.
  • Constructed and implemented the data model for the Quizzes section of the site.
  • Configured the search functionality to work with the Apache Solr enterprise search engine.
  • Added some search features such as spelling correction.
  • Set up a more robust logging system for events.
Back to site.