diff --git a/content/cv/firemon.md b/content/cv/firemon.md index 16b786b..a3f6138 100644 --- a/content/cv/firemon.md +++ b/content/cv/firemon.md @@ -5,16 +5,47 @@ date = 2013-12-01 years = '2013–Present' +++ +FireMon is a software development company based in Overland Park, KS. As the +System Architect, I focus on building a scalable platform for delivering +FireMon software to customers that is easy to use. FMOS, the FireMon Operating +System, is a mechanism for delivering the FireMon SIP to customers and a collection of tools for +deploying and managing the software in a wide array of environments, ranging +from a single server to massive multi-node ecosystems. + + + # FMOS Generation II * Based on CentOS 7 +* Full-disk encryption using LUKS +* Anaconda installer with custom addon for generating machine-specific LUKS + master key passphrase +* Kickstart script for fully-automated installation * Used Koji to build RPM packages for first- and third-party software * Distribution included Ansible for configuration management +* systemd units for controlling FireMon application services +* Configuration policy for deployment of all FireMon software and + third-party dependencies + * Support for single-server and distributed deployments + * Automatically compute JVM heap sizes for each process based on availnable + resources + * Configures Elasticsearch in single-node or clustered mode + * Configures PostgreSQL with optional replication to standby servers + * Configures Kernel NFS server and client to share filesystem data between + machines + * Configures FireMon application server processes, including connection and + authentication information for PostgreSQL, Elasticsearch + * Configures strongSwan IPsec/IKEv2 key management daemon for opportunistic + encryption of Elasticsearch communication +* … # FMOS Generation III * Based on CentOS 7, later CentOS 8 (Stream) * Immutable SquashFS root filesystem image +* … + # DevOps Team Lead @@ -25,3 +56,40 @@ years = '2013–Present' * Jenkins * Used PXE for provisioning on-premises virtual machines * Ansible configuration management + + +# Internal Tools + +## FMOS Web Tools + +* Internal application used by software developers and support agents +* Multi-tiered architecture with multiple nodes at each tier to avoid any + single point of failure + * Application Server Tier: Python 3.6/FastAPI + * Storage Tier: GlusterFS + * Index Tier: Elasticsearch + * Cache Tier: Redis + * Message Tier: RabbitMQ + * Worker Tier: Python 3.6/Celery + * Ingress: HAProxy + * User Interface: Typescript/Vue+Vuetify + + +## QEMU VM Log Socket Proxy + +* Component of FMOS End-to-End tests running on-premises using QEMU/libvirt +* Uses kernel *inotify(7)* events to detect virtual machine log channel socket + files appearing on the VM host +* Automatically connects to sockets as they appear +* Receives all data from channel sockets and writes them to a file in the + libvirt storage pool +* Written in Rust + + +## FMOS ISO Writer + +* Internal application used by development and QA teams to write FMOS installer + images to USB disks attached to remote physical appliances +* Accessible via purpose-built, ultra-minimal Linux distribution (Kernel and + Busybox only) delivered by network boot/PXE +* Written in Rust diff --git a/content/cv/perceptive.md b/content/cv/perceptive.md index 264bb6c..fb4166c 100644 --- a/content/cv/perceptive.md +++ b/content/cv/perceptive.md @@ -4,3 +4,17 @@ date = 2013-01-01 [extra] years = '2013' +++ + +Perceptive Software is a software development company in Shawnee, KS. At the +time I worked there, it was a subsidiary of Lexmark International, Inc. As a +member of the System Administrator team, I was responsible for maintaining the +internal IT systems that served employees in the Shawnee headquarters building. +Mostly Windows-based systems, these servers were housed in an on-premises +data center. My primary focus was the consolidation and relocation of systems +to a new campus. This project involved countless migrations of systems from +physical machines to virtual machines or cloud instances, application +redeployments, and sunsetting of disused services. + + + +## System Administrator diff --git a/content/cv/softek.md b/content/cv/softek.md index 1ec3258..e8e9e43 100644 --- a/content/cv/softek.md +++ b/content/cv/softek.md @@ -4,3 +4,43 @@ date = 2011-01-01 [extra] years = '2011–2012' +++ + +Softek Solutions is a software development company located in Prairie Village, +KS. As the IT manager, I was responsible for deploying and maintaining internal +systems used by Softek's software engineers, sales representatives, support +agents, and administrative staff. In addition, I was responsible for ordering +Dell servers and provisioning them with Softek software for delivery to Softek +customers. + + + +## System Administrator + +* Design and implement network-layer security system utilizing Cisco ASA 5510 + and 5505 model firewall appliances +* Design and implement L2TP/IPsec Virtual Private Network using Cisco ASA 5510 + model firewall appliances and RSA SecurID multi-factor authentication system +* Design and implement remote deployment and monitoring solution for + field-installed appliance products using OpenVPN and Zabbix +* Install, configure, and support nearly 200 physical and virtual application + servers in an integrated, hetrogeneous environment leveraging Microsoft + Windows Server 2008 R2 and Debian Linux 6.0 +* Install and maintain server virtualization infrastructure with multiple + independent VMware vSphere Hypervisor 4.1/5.0 host machines, as well as + Microsoft Hyper-V 2008 R2 +* Maintain network infrastructure hardware including Cisco Catalyst 4510 Layer + 3 switch, and Cisco 2800-series routers +* Automate and schedule Windows and Linux administration tasks using Windows + PowerShell, Bash, and Python scripting languages +* Support and maintain VoIP system using Cisco Unified Call Manager 7 and Unity + 7 +* Automate deployment of Windows servers and workstations using Microsoft + Deployment Toolkit 2012 +* Support Microsoft Active Directory 2008 R2 domain environment +* Support email system using Microsoft Exchange 2007, Cisco IronPort and + Barracuda anti-spam systems +* Install and support Windows XP and Windows 7 workstations for end-users +* Supervise direct reports in their daily tasks of end-user support and + infrastructure maintenance +* Develop and document department standards and best practices to ensure users + could depend on consistent and reliable service of highest quality diff --git a/content/cv/supertechs.md b/content/cv/supertechs.md index b308ab3..197a864 100644 --- a/content/cv/supertechs.md +++ b/content/cv/supertechs.md @@ -4,3 +4,46 @@ date = 2007-01-01 [extra] years = "2007–2011" +++ + +Supertechs was a locally-owned computer repair shop in Kansas City, MO. I +started work there in college, working on consumer equipment. Customers brought +in all manner of machines from brand new laptops to ancient desktop towers to +fancy all-in-one iMacs. As an in-shop repair technician, I removed viruses and +other malware, fixed misbehaving software applications, replaced failed or +defective hardware, and assembled custom computer systems. Later, I moved into +an on-site role, where I worked with small businesses to deploy server and +network equipment, integrate systems, and maintain applications. Eventually, as +Supertechs grew, I became responsible for the company's internal systems and +network infrastructure, and developed internal software to manage and automate +business-critical operations + + + +## Network Administrator + +* Design and implement multi-site network for locations in Kansas City, KS, + Kansas City, MO, and Omaha, NE +* Install and maintain server virtualization infrastructure using VMware Server + 2.0 on Gentoo Linux +* Install and maintain network infrastructure hardware including Netgear + ProSafe switches, Cisco 1841 routers +* Install and maintain Asterisk VoIP system running on CentOS Linux using + Polycom IP phones +* Design and automate business intelligence reports from service data and call + records stored in PostgreSQL and MySQL databases +* Automate and schedule Windows and Linux administration tasks using Windows + PowerShell, Bash, and Python scripting languages +* Administer Microsoft Active Directory 2008 domain—policy configuration and + account operations +* Support email system using Microsoft Exchange 2007 +* Supervise repair technician teams and customer service representatives +* Construct comprehensive system infrastructure and usage documentation + +## Level II Service Technician + +* Design, install, and maintain networks for small businesses, based on Windows + Server +* Upgrade and migrate existing infrastructure solutions to modern systems +* Communicate service recommendations to customers +* Perform computer service tasks such as operating system installation, + application repair, library recovery, and malware removal