Michael P. Johnson
New York, NY michael@michaelpjohnson.com
Director of Site Reliability Engineering
I am an IT expert with over 20+ years of professional experience. My career began as a full-time developer then slowly transitioned into a full-time SysAdmin. This range of skills has given me a unique perspective on the DevOps philosophy and how it best fits within an organization.
My Next Move
I am looking for a small startup with a lot of interesting problems to solve. Ideally a company looking to bring their tech in-house and need an engineer to hit the ground running as their CTO.
Management Style
I am very task and deadline oriented. I do not manage people's time, I look to make sure they are given the proper tasks that best fits their skills. I let them manage their own time. I also believe it is every senior level person's responsiblity to lift up the junior and mid-level engineers so they make beome senior themselves.
Technical Qualifications
Technical Proficiency (Current/Daily Use)
- Docker/Kubernetes, Istio, AWS EKS/ECR
- Terraform
- Vault
- Amazon Web Services
- EC2, EKS, ELB, AutoScaling, VPC (peering, etc), RDS, Kinesis, DynamoDB, Redshift, ElastiCache, Route53, IAM, CloudFormation, CloudWatch, S3
- Go, Bash/Zsh, Python
- Ubuntu, RHEL (CentOS, Oracle Linux), Arch Linux, OSX, Alpine
- Chef, Jenkins, Graphana, Prometheus, postgreSQL, mongoDB, github, NSQ, PostgreSQL, Rundeck
- Apache Spark
- nmap, Nessus, nikto/wikto, john, ossec, OWASP ZAP, Kali Linux, Metasploit
- PagerDuty, CircleCI, Consul, gRPC
Technical Proficiency (Previously Used)
- KVM, XEN, Vagrant/VirtualBox, VMWare/ESXi
- NewRelic, Sensu, PaperTrail, Fabio, Traefik
- Puppet, CFengine, Spacewalk, Fabric, Zookeeper/Exhibitor, Tomcat, Flume, influxDB, HAProxy, ActiveMQ, Storm, Zabbix
- GFS/GFS2, 3Par, Citrix Netscaler, DNS/bind, DynDNS, Cobbler,
- Nginx, MySQL, Storm, Sendmail/Postfix, collectd, Varnish, Apache HTTPD, LDAP, memcached, NFS, RADIUS, Shibboleth, F5 BigIP load balancer,
- Django, Drupal, Wordpress, Mooodle, Google Apps Admin
- Perl, PHP, C/C++, NodeJS, Ruby, Assembler
Other
Github Profile
LinkedIn Profile
Experience
[Hinge][] | New York, NY
Director of Site Reliability Engineering, January 2018 - Present
- Manages both the SRE and InfoSec teams with 6 direct reports
- Coverted infrastructure and deployment pipeline to use Kubernetes
- Metrics and monitoring are done with Prometheus, Graphana, and AWS Cloudwatch
- Changed to an SRE once the developers
- Still code in golang
Senior DevOps Engineer, December 2015 - December 2017
- Participated in the entire release life-cycle of the Hinge reboot. From the initial product inception to the first release and beyond
- Docker Lead/SME: Brought in Docker to replace Chef/Ansible configuration. All developers now have a complete working environment they can spin up via Docker Compose. All Go-based applications are managed via AWS Container Serivce, while the Python based docker containers are managed via a home-grown solution I wrote.
- Created a fully automated deployment pipeline (
Commit
->Test
->CI
->Deployment
). Developers can tag branches which will create docker containers and deployment them safely to production. Built in Go using Consul at first, then transitioned to Amazon ECS, then finally to Kubernetes where it is now.
- Created Microservice Architecture: Application config and service discovery is managed through Consul, HTTP traffic is routed through Fabio and gRPC traffic is handled via Consul DNS. Service communicate via protocol buffers/gRPC or HTTP/JSON.
- Created performance-critical portions of the architecture with Go based mircoservices. Reduced TCO further by replacing Python services with Go.
- Created the entire backend in one month for the Hinge Matchmaker stand-alone product.
- AWS Lead/SME: Replaced entire Heroku infrastructure with a complete AWS solution. Implemented and manages over 15 separate AWS solutions from EC2 to RDS to CloudFront. All managed via CloudFormation.
- Brought Google's Deep Learning tool TensorFlow into the recommendation service. Machine Learning is done live and recommendations are served in real-time.
- In-House Penetration Tester and Security SME
Senior DevOps Engineer, September 2014 - December 2015
Senior Systems Administrator, August 2012 - September 2014
Senior DevOps Engineer
- Built and maintained the Enterprise Chef servers and 300+ nodes attached to them.
- Responsible for team's security and penetration testing.
- Built Spacewalk in-house and brought all systems under management. Security patches and testing are done in hours not days.
- Implemented and evangelized DevOps principles across many areas of the organization. As a result, all servers are managed with Chef (Berkshelf, kitchen, foodcritic, etc.). Development life-cycle now begins in Kitchen/Vagrant vs. a dedicated dev environment in the data center. Deployment is done via Python/Fabric scripts. They are repeatable and tested via Jenkins.
- Eliminated legacy in-house RPMs by converting all functionality to Chef cookbooks.
- Created data pipeline from production systems to backend processors. The flows were built with Flume/Kafka or ActiveMQ where needed.
- Key decision-maker in moving customer facing applications into AWS and closer to the end-user via DNS geolocation. Globally scaled systems to handle over 70M actions per day
- Upgraded old perl CGI applications to golang as well as deprecated all Oracle databases in favor of PostgreSQL
- Re-engineered the real-time monitoring system in influxDB/Graphana.
Senior Systems Administrator
- Maintained and extended an in-house and custom-built RPM repository to manage legacy code. Implemented newer code deployments and server provisioning with Chef. Both in-house and in AWS
- Provided Tier 1 support for the organization. This covered a mixture of physical and virtualized servers running mostly RHEL clones (Oracle Linux and CentOS).
- A part of the on-call rotation which monitored and supported 1000+ Xen/KVM/AWS/Physical instances across three collocated data centers and three AWS regions
- Overhauled a key transaction system to respond in under 50ms, down from 2s which the legacy systems were built to handle initially.
- In charge of upgrading older Xen-based servers to KVM with zero downtime for associated services.
- Survived superstorm Sandy with a tethered Android phone and laptop, all customer-facing systems remained up throughout the crisis.
- Key Ops person in the migration of data centers - shut down of one in NY and brought up another LV.
Senior Systems Administrator, July 2011 - August 2012
- Responsible for all Linux administration, both on-site and in the cloud (AWS & Rackspace/Slicehost). Server management via Puppet and Fabric. Backup administration with rdiff-backup and various in-house scripts for database backups.
- In charge of researching and recommending efficiency, policy and process improvements to all aspects of the IT Department. Wrote policy for desktop, server and mobile security.
- Oversaw code deployment to production systems via Python/Fabric. Also supported developers working in the testing/demo environment.
- On call 24x7x365 for all websites and Linux servers.
- Migrated key e-commerce systems from an unstable hosting provider to a load balanced and redundant solution in Amazon's cloud (AWS).
- Updated company from PCI DSS v1.2 to PCI DSS v2.0. Oversaw monthly vulnerability scans. Placed in charge of company's overall PCI compliance
- Completed SANS Security 560: Network Penetration Testing and Ethical Hacking course. A detailed and rigorous course on professional and ethical penetration testing.
- Performed penetration test of web services using current modern attack vectors and methodologies. Reported findings to CTO and VPs.
Senior Systems Administrator, May 2010 - July 2011
Senior Linux admin (RHCE), on-call, physical server support (250+), disaster recovery site manager, created a 50 node compute cluster from blades. Tech used daily: AWS, Python, PHP, VMWare, LDAP, Shibboleth, C/C++ (openMP,openMPI), Drupal
Director, Web and Systems Development November 2004 - May 2010
Lead developer and systems administrator, two direct reports, physical server support, taught staff Drupal, migrated campus to Google Apps, deployed wireless network Tech used daily: Perl, Python, PHP, Drupal, Moodle, LDAP, SQL, Shibboleth, Tomcat,
Additional IT Experience
Early IT career
- Law School Admission Counsel - Newtown, PA Operations/Support Services 2002-2004
- Pangolin Web Services - Hawthorne, NJ Programmer/Systems Administrator 2000 to 2002
- Bear Stearns - Whippany, NJ Intern, QA/Programmer 1999
Education and Certifications
Bachelor of Science in Computer Science, Minor: Applied Mathematics