Thank you for visiting my resume and portfolio. I am a professional Linux System Administrator with a background in managed services (IaaS, PaaS, traditional webhosting) and single-tenant systems as a system administrator and a manager of teams of system administrators. I specialize in virtualization of all types (VMware/vCenter, KVM/libvirt, OpenVZ) with a particular area of interest in standardization, process documentation, identifying security breaches, and knowledge-sharing.
In my 8+ years of industry experience, I've worked on the infrastructure of hundreds of companies, from break-fix troubleshooting to ground-up design and implementation, but my favorite part of working in this field is the speed of knowledge gain, and effective transfer of that knowledge.
An effective technology organization, whether it's the sole purpose of the business or a unit within the business, thrives on caring for customers through open communications. This serves both internal and external clients, drives fast resolution to issues, and keeps a company healthy. Let's get into some open communication regarding my experience and qualifications, and if you're interested in continuing the dialogue, feel free to drop me a line.
At Rackspace, I am a Linux System Administrator in the Enterprise team working on large-footprint accounts. Major technologies for most clients are the LAMP and LEMP stacks, RHCS (RedHat Cluster Services), and escalated/deep-dive systems and kernel troubleshooting and optimization. I also work on, as they relate to the operating system, technologies including SAN, F5 load balancers, ASAs, etc. Clients also have VMware private clouds, as well as footprints in the Rackspace public cloud, including cloud servers, cloud load balancers, and CDN.
I'm involved in two project-based initiatives at Rackspace; the Linux Maintenance Team and the Linux Standardization Team. The Linux Maintenance team works with clients to prepare maintenance windows for planned outages; activities include regular operating system patching, software upgrades, hardware upgrades and replacements, and migrations. I focus on process documentation, onboarding, and complex maintenances. The Linux Standardization Team focuses on documentation for supported services, and best-practices for deploying software and handling Rackspace's scope of support.
My role at Channel Clarity was one of a one-man-IT-shop. I was solely responsible for two cabinets of servers in two separate data center facilities; one added and migrated to after I started at the company. My project work at Channel Clarity started by performing a virtual-to-virtual migration from mixed OpenVZ and VMware ESXi unmanaged (no centralized administration panel) environments to a centralized oVirt virtualization cluster. I migrated server monitoring from Nagios to Zabbix, and assisted in the migration from a cPanel (Dovecot/Exim) server to Office365. I was responsible for designing, implementing, and maintaining the network of the new data center cabinet, including redundant Cisco switches, centralized NFS storage, and redundant Cisco ASA firewalls with IPSEC and site-to-site VPN tunnels. I maintain an infrastructure of MongoDB, mySQL, Apache, nginx, RabbitMQ, Amazon EC2 and RedShift, and BIND clustered environments. I am also responsible for office IT in a 50-person call center and a 15-person office.
I took over the Systems Administration department at SingleHop and took on additional responsibilities while maintaining day-to-day ticket work as a Senior System Administrator. These tasks included employee scheduling, managing time off requests, delegation of project-work, ticket queue handling and SLA compliance throughout the organization, and organizing biweekly staff meetings. I established, documented, and enforced departmental policies, as well as designing and maintaining organization structure and responsibilities matrices. I was responsible for requisitioning new hires, including reviewing inbound resumes and performing interviews. I also ran yearly employee evaluations per company policies. I was the escalation point for inbound and outbound abuse issues that impacted the Support department, as well as being 24x7 on-call for technical or client satisfaction escalations.
I took on additional responsibilities at SingleHop when I moved into a dual role of Senior System Administrator and Team Lead. The additional responsibilities started in 2011 with handling VIP clients and ensuring 10-minute response times via the ticketing system to meet our SLAs, taking on more complex project-based work including multi-server architectures and advanced technologies such as Microsoft stacks including Exchange, DFS, Active Directory, Microsoft and mySQL server replication, and other technologies such as SAN. I additionally took on the role of Team Lead, where I took responsibility for ensuring documentation of common processes, developing automation scripts, managing delegation of and taking on project work like VMware vCenter private cloud setups, and training.
At SingleHop, I was part of a team of system administrators providing expert technical support and managed system administration services to a client base of dedicated server and VPS/cloud clients. Tasks included managing the ticket and phone queues, where requests would run the gamut from troubleshooting out-of-control resource usage, mitigating rootkit or other intrusions, installing software, performance tuning middleware, advising on necessary upgrade paths for better hardware solutions, setting up distributed computing from load balancing to virtualization, managing server migrations, and server monitoring.
I returned to TouchSupport after a leave of absence to take some college courses, where I was promoted from my Level 2 position to Shift Manager. As the Shift Manager of the evening shift, I was still responsible for my previous tasks as a Level 2, but took on some additional responsibilities. These included generating employee test questions and evaluation procedures for quarterly employee reviews, documenting and filing procedures on steps to resolve common issues, and managing the work load for the Level 1 team to ensure focus and productivity.
At TouchSupport, I was part of a team responsible for responding to support tickets from over 300 website hosting and technical services companies via helpdesk system, telephone, and live chat support. I provided support for Linux, Unix, and Windows-based web and application servers at a client and administrator level. In addition to troubleshooting shared, semi-dedicated, and dedicated hosting environments, I was responsible for coordinating server backup restore efforts and crash restores, managing server migrations, and monitoring server health and uptime. As a member of the Level 2 team, I was also responsible for receiving escalations from and supervising the Level 1 technicians in above tasks, as well as ensuring a smooth hand-off during shift changes, as we were a 24x7x365 shop.
I co-founded a start-up providing virtualization and bare metal hardware consulting services, officially formalized as a company in March 2014. At my company, I have maintained a lab setup (pending development and production use) of Puppet, managed a vCenter cluster, deployed server monitoring and backups, performed physical-to-virtual and virtual-to-virtual migrations, and written automation and feature scripts in Bash and PowerShell. Additionally, I have handled support tickets for end-users of an open-source Joomla and OpenVZ-based "hub" system that provides web-based virtual machines for engineers to perform software simulations for composites design and manufacturing. I also performed the installation, migration to more powerful hardware, and provide ongoing troubleshooting while my clients' development team extends the software platform and migrates from OpenVZ to VMware, including consulting on and testing the VMware vCenter API. The start-up was spun down after the client moved their infrastructure and administration in-house.
In my spare time, I design and run websites. This website is built on Foundation, a framework I enjoy hacking around with to create simple, one-to-five page websites.
This server was a fun project to set up. At the base, this is a pretty simple Dell server with an E5520 running CentOS 6 with oVirt Self-Hosted Engine on top of it. It has HDD and SSD storage exported to the oVirt engine via NFS. There are two networks, the ovirtmgmt network that comes standard, and a VM network that is managed by an OPNSense NATing firewall. The site itself runs on an ajenti+nginx+php-fpm+MySQL CentOS 6 machine behind the NAT, with CloudFlare in front to provide some optimization, downtime-prevention, and easy SSL (without having to futz around too much with SNI and NAT issues, or remembering to renew my certificates). I also have a Fedora 22 VM running a few services and acting as a remote desktop and a testbed. There were several hurdles to jump through getting the OPNSense NATing working through oVirt, as FreeBSD has some weird quirks around TCP checksum offloading, but it was enjoyable to work through and to get the server into a state where it's useful. I also brought on POBox as a forwarding service instead of rolling my own mail server.
I sometimes program in Bash and Python (mostly with Flask) as a hobby. I also enjoy occasionally enjoy food blogging, although it's primarily a repository of recipes for future reference for my household. I enjoy household routines - we write up a meal plan and go grocery shopping once a week, so having this repository of previous recipes we've used or made up is helpful for meal planning.
Hiking, biking, window-shopping, cooking, and road-tripping fill up most of my space time, with an I'm-not-ashamed-to-admit large amount of watching home improvement TV shows (slash reality TV).
As I run a private server that generally goes underutilized, a large amount of my sysad- and programming-related freelance projects involve finding something cool someone has built, testing the deployment, and figuring out what use it can be put to (or modified for). An example of this is several hours of effort I put into attempting to connect Movim, an XMPP-based social networking service, to connect with the XMPP gateway for Slack, where I have a social group.
I'm currently working on reviving an old sysadmin-foucsed blog I started back at SingleHop, hasaninter.net.
The blog contains a fair amount of information specific to cPanel and Plesk servers, as well as some issues that you could have encountered on older systems running these platforms.
The current series I am running is a walkthrough on migrating from this cPanel infrastructure to a "private cloud" built on oVirt. This can also be applied to setting up a homelab server or simply setting up a new server infrastructure from scratch to provide much of the same functionalities of web-based administration, all through FOSS tools.
I have a relatively-inactive Github account that I use mainly for issue reporting on open source projects I use. You can also find me on LinkedIn and Freelancer, although the latter profile was created quite a long time ago, and I do not use the site much.
To reach out to me directly, try the e-mail address me at this domain name.
Copyright © 2015 Jordan Cooks.