Cisco Systems, Inc. (January 2011 – Present)
- Relocated to the bay area, California
- Automated remastering of a RHEL-based Linux distribution, including custom packages and installation procedures.
- Utilized kickstart heavily, and invented work-arounds for features that are not officially supported by Anaconda, such as configuring an LVM PV on a raw block device.
- Wrote a custom CLI shell in C utilizing ncurses to provide a clean and consistent “closed-box” feel. It included features such as networking configuration, name resolution configuration, puppet client configuration, an interface using PAM to change the administrator’s account password, and access to common VM tasks such as shut down and reboot.
- Converted a large number of Python-based deployment scripts into Puppet manifests to streamline installation procedures and provide a “desired state” enforcement mechanism for all of our virtual machines. Made use of Puppet’s external nodes feature to hand management of nodes and service subscriptions off to a database table and eliminate parsing/writing puppet manifests with code.
- Automated deployment of many services (installation, configuration, service monitoring), including mongodb with multiple replication slaves, Oracle, memcached, Tomcat instances, Openfire XMPP server, ActiveMQ, and more.
- Wrote a modular, RESTful API using PHP and SQLite to provide a central interface to all deployment functions of the product. Our own administrative Web UI was a consumer of the API.
- Automated in-place upgrades from RHEL 5 to RHEL6 using puppet, RPM, and YUM. Involved patching a few YUM functions, installing a custom version of RPM to perform the upgrade, and a reboot at the end.
|
Codero.com (Formerly Aplus.net, August 2008 – January 2011)
- Promoted to Manager, Dedicated Server Engineering from my former Aplus.net position.
- I relocated to Kansas City, Kansas to work from Codero’s headquarters.
- Developed and implemented a larger-scale management platform utilizing Puppet, which is controlled and configured through a centralized management interface written in object-oriented PHP from the ground up.
- Scripted and maintained our “Managed Services” provisioning procedure, which involved rewriting many configuration files, installation of a large application stack, testing of remote logging services, implementing iptables firewall rules, locking down the secure shell daemon to key authentication, updating insecure packages, installing control panel software, and configuring remote server management services. All of the listed items were carried out automatically with no user interaction. Server roles were templated and easily pushed to new infrastructure.
- Built and maintained an RPM package repository to provide more recent technologies than stock CentOS packages could provide to our customers. This included building pre-patched versions of software to protect servers against known security exploits or to fix common bugs that were not being given priority upstream. Maintained binary and dependency compatibility with the underlying operating system so that when official packages were released we could install them instead.
- Watched a number of “announce” mailing lists to ensure the latest and most stable versions of software were implemented on customer servers.
- Managed a team of engineers (small group, between 4 and 8 people at once).
- Assisted my superiors with internal product and procedure development.
|
Aplus.net (April 2006 – August 2008)
- I was hired into Level II support, dealing mainly with system configurations and troubleshooting.
- Transferred to a datacenter position one month after hire.
- Much of my time has been spent installing, troubleshooting, and configuring dedicated servers, ranging from simple stand-alone servers to more complex server farms behind a Web Mux load balancer or Cisco firewall.
- I was promoted to a Lead Dedicated Server Technician early in 2007
- Traveled to Phoenix, Arizona to help establish a new datacenter location. Flew back and forth for 3-4 months. Also traveled to Kansas City to aid in development of a new department.
- Assisted in relocation of an entire datacenter, with inventory including arrays of servers, private networks, hardware firewalls, and load balancers.
- Ported our server provisioning software from Trustix Secure Linux to CentOS 5.1, which required porting Perl 5.8.5 scripts to 5.8.8.
- Wrote an IP address database from scratch in PHP / Javascript with a web front-end which keeps track of over 15,000 active IP addresses, which customer they belong to, LAN information, MAC addresses, and physical locations of servers.
- Established the Managed Services department, promoted to Manged Services Administrative Lead. Configured services for clients such as centralized remote syslogging via secured TCP, services monitoring and alerts, custom software repositories with pre-configured packages, and complete OS / Control Panel mirrors.
|
California Reigonal Intranet / Complex Drive Business Internet (2005 – 2006)
- Began as a sales representative in early 2005
- Transferred to Support department a few months after hire
- Worked mainly with server configurations, as well as providing support to network engineers and sysadmins.
- Attended weekly training seminars in the Complex Drive colocation facility, covering shell scripting, mail troubleshooting, and other various administration essentials.
|
|