1 <div class="resume-author-sect">
2 <div class="resume-author-name">
3 <p>Aaron</p>
4 <p>Ball</p>
5 </div>
6 <div class="resume-author-contact">
7
8 * **email**: [aaronb@oper.io](mailto:aaronb@oper.io)
9 * **phone**: +1 720-319-7799
10 * **www**: [https://oper.io](https://oper.io)
11 * **code**: [https://oper.io/src/nullspoon](https://oper.io/src/nullspoon)
12
13 </div>
14 </div>
15 <div id="profile">
16
17 # PROFILE
18
19 * **Languages**: Bash (13 years), C (4 years), Python (3 years), Perl (4 years),
20 CSS and XHTML (8 years), PHP (versions 4 and 5 - 7 years), JavaScript (2
21 years)
22
23 * **Tools**: Git (9 years), Jenkins (7 years), Ansible (7 years), Kubernetes (3
24 years), Terraform (3 years)
25
26 * **Linux**: 15 years - Crux, Ubuntu, CentOS, RedHat, Arch, Gentoo, and Debian
27
28 * Proficient in Linux infrastructure automation, security, troubleshooting,
29 design, and management; networking design, security, analysis, and
30 troubleshooting; and service design and abstraction.
31
32 * Knowledgeable in object oriented theory and its application in
33 infrastructure, security, and code design
34
35 </div> <!-- profile -->
36
37
38 # EMPLOYMENT
39
40 <div id="employment">
41
42 ## DataRobot
43
44 <div class="jobmeta">
45 December 2018 - present
46 <br />
47 Principal Software Engineer
48 </div>
49 <!--<span class="location">Denver, Colorado</span>-->
50
51 * **Primary operating systems**: Ubuntu Server (versions 16.04, 18.04, 20.04,
52 and 22.04)
53
54 * Worked on Development Infrastructure team automating processes and
55 infrastructure to support development, testing, engineering productivity,
56 security, and cloud operations teams.
57
58 * Scripting in Bash, C, Makefile, and Python to automate processes
59
60 * Worked with Jenkins, Ansible, Packer, and Terraform to automate system build
61 processes (AWS AMIs, KVM backing disks, laptop provisioning)
62
63 * Worked on AWS cost reduction project. Total contributions yielded $350,000
64 per year in reduction. Accomplished this with resource cleanup automation,
65 runtime storage compression, runtime memory compression, instance usage
66 analysis and right-sizing, and removal of cross availability zone costs by
67 intelligently pinning traffic to the local AZ within automation.
68
69 * Completely eliminated cross availability zone traffic costs for Jenkins and
70 Artifactory by building a simple solution which intelligently pinned traffic
71 to the Artifactory cluster instance within the local availability zone.
72
73 * Built a Kubernetes native ECR proxy service which allowed greater flexibility
74 and ease of use for developers needing to interact with cumbersome ECR
75 endpoints and authentication. Service supported zero-downtime updates.
76
77 * Automated cost metrics gathering and analysis of GitHub traffic to determine
78 causes of increased costs and worked with developers to reduce those costs
79 through on-system caching, sparse clones, and on-premise LFS hosting.
80
81 * Fully migrated a three node Artifactory cluster from EC2 to Kubernetes using
82 Kustomize to manage and automate multiple environments for testing and
83 release. Upgrades and maintenance now occur at any time during the day with
84 no downtime for end users due to custom connection draining automation.
85
86 * Migrated all Terraform Kubernetes code away from Terraform and into
87 Kubernetes native to improve reliability and state management.
88
89 * Version controlled thousands of Jenkins job configurations and enforced peer
90 review by storing all job configs in git repos as JJB (Jenkins Job Builder)
91 templates and deploying with automation on merge request review and approval.
92
93 * Built on-premises virtualization platform of over 230 KVM guest nodes to
94 lower costs in AWS. Clusters were completely autonomous and self-maintaining.
95 Automation registered nodes with their configured Jenkins masters on boot,
96 and deregistered, refreshed to a clean disk state, and reregistered after a
97 Jenkins job finished running, automatically maintaining a clean system state
98 for all jobs with no plugins required and 4 simple scripts.
99
100 * Defined upgrade process and worked with all concerned teams to upgrade
101 automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation
102 and testing code to be compatible with both versions. Performed the same task
103 to migrate from Ubuntu 18.04 to 20.04 one year later.
104
105 * Automated Jenkins credential store management and synchronization across
106 thirteen Jenkins masters using Jenkins Groovy API and Python.
107
108 * Used Terraform to create and ensure state of necessary underlying
109 infrastructure such as EC2, ELB/ALB, EKS, Route 53, RDS, and S3.
110
111
112 ## Jeppesen, A Boeing Company
113
114 <div class="jobmeta">
115 <i>(Contract)</i> August 2017 - October 2018
116 <br />
117 Software Integration Engineer
118 </div>
119
120 <!--<span class="location">Denver, Colorado</span>-->
121
122 * **Primary operating systems**: Centos 6.9 - 7.7, RHEL 6 - 7
123
124 * Worked on the environments team supporting about 80 developers
125
126 * Developed portable self-extracting installer to integrate and automate the
127 deployment process. The installer reduced a 40 page install document to a
128 single command using a bash header with a multi-stage binary payload footer.
129
130 * Automated Linux environment setup and management with Ansible 2.6. Wrote
131 roles for deploying and configuring Apache tomcat, Apache httpd, Apache
132 Artemis, Oracle JRE, program-developed software, etc.
133
134 * Automated software version inventory process to ensure the versions of all
135 pertinent external endpoints in every environment matched as the product
136 advanced through the phases of testing.
137
138 * Automated deployments to sixteen environments using Jenkins. Deployment
139 criteria were based on schedules, git repo tag creation, and commit pushes
140 (each environment with different criteria).
141
142 * Automated server configurations with Ansible. Wrote scripts to generate
143 dynamic playbooks and dynamic inventories. Roles were separated into two
144 tiers: the vendor tier and proprietary tier for separation of concerns.
145
146 * Built and administered Okta authentication backend (users, groups, signon
147 policies, service accounts, etc.), for twenty different application
148 instances.
149
150 * Assisted in planning and automation of migration from on-site datacenter to
151 Microsoft Azure.
152
153
154 ## Truven Health Analytics
155
156 <!--<span class="location">Denver, Colorado</span>-->
157
158 <div class="jobmeta">
159 January 2016 - August 2017
160 <br />
161 Senior Development Operations Engineer
162 </div>
163
164 * **Primary operating systems**: Centos 5.9 - 6.7, RHEL 5 - 6
165
166 * Worked as a liaison between devops, configuration management, development,
167 production operations, and application operations teams
168
169 * Created documented bash scripting framework to consistently automate builds,
170 deployments, and cluster switches. This reduced feature development time and
171 bug fix time. It also increased process scalability, visibility, and
172 stability.
173
174 * Implemented a configurable self-extracting package container [in bash] which
175 enabled complex scripts, frameworks, and resources to be reduced to a single
176 file and subsequently easily deployed.
177
178 * Wrote a configurable server validation scripting framework for ensuring any
179 given server met the team's deployment requirements for the specified server
180 role (eg: frontend, database, storage, tomcat, etc).
181
182 * Automated developer machine build process so developers would have consistent
183 environments in which to write, build, test, and deploy their code. This
184 reduced a 2 week per-employee setup time to about 15 minutes.
185
186 * Created a command line Artifactory api wrapper for managing artifacts using
187 Perl. Wrapper could download, upload, and copy artifacts to alternate repos
188 (eg: for a promotion process).
189
190 * Wrote Ansible roles to deploy and configure software such as MongoDB, Zabbix,
191 Graylog, Elasticsearch, Rsyslog, Tomcat, JDK, and others.
192
193 * Automated migration of more than 3200 SVN repos to Git.
194
195 * Established and documented Git development and release process standards.
196
197 * Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins.
198
199 * Reduced Jenkins-triggered infrastructure deployment process from
200 over 300 jobs down to five jobs.
201
202
203
204 ## Time Warner Cable
205 <!-- <span class="location">Denver, Colorado</span>-->
206
207 <div class="jobmeta">
208 March 2015 - January 2016
209 <br />
210 Senior DevOps Engineer
211 </div>
212
213 * **Primary operating systems**: Centos 6.5 and 6.6
214
215 * Wrote a bash script to automatically upgrade the GitHub Enterprise cluster
216 with minimal human interraction. This also handled several workarounds to
217 unfixed bugs in the appliance software.
218
219 * Wrote parallel processing C program to benchmark legacy VMWare network
220 against new OpenStack network
221
222 * Wrote C program to parse 8 million firewall rules and nginx access logs to
223 determine how many were needed
224
225 * Managed configurations with Puppet Enterprise 3.2, r10k for dynamic
226 environment deployments, and Hieradata to support separation of data and
227 modules
228
229 * Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it
230 running smoothly until migration to OpenStack had been completed
231
232
233 ## CenturyLink, Inc.
234
235 <!-- <span class="location">Denver, Colorado</span>-->
236 <div class="jobmeta">
237 <i>(Contract)</i> August 2014 - February 2015
238 <br />
239 Linux Engineer
240 </div>
241
242 * **Primary operating systems**: Centos 6.5, 6.6, 7, Ubuntu Server
243
244 * Deployed and managed Mapr (Hadoop distribution) for development and test
245 clusters
246
247 * Wrote bash script to manage and synchronize users and their home directories,
248 detect and allocate unique uid/gid pairs, and perform various user-related
249 checks across a cluster of any size
250
251 * Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the
252 lab (dev/test) network for authentication
253
254 * Performed various MediaWiki administrative tasks (backups, page management,
255 writing templates, etc).
256
257 * Established team version control best practices within git
258
259 * Wrote Ansible playbooks to deploy and configure various types of servers
260
261
262 ## Intelligent Software Solutions, Inc.
263 <!-- <span class="location">Denver, Co (_* Contract_)</span>-->
264
265 <div class="jobmeta">
266 <i>(Contract)</i> March 2014 - August 2014
267 <br />
268 DevOps Engineer
269 </div>
270
271 * Wrote chef (version 10) cookbooks (recipes, documentation, templates,
272 providers, resources, etc.) to deploy base tomcat instances and overlay any
273 combination of wars across any number of systems
274
275 * Wrote chef cookbook compatibility layer for Windows-specific deployments
276 using cookbooks designed for Linux
277
278 * Built a local virtual chef development environment running on KVM VMs could
279 be created from a template in about two to five seconds each.
280
281
282 ## DaVita
283 <!--<span class="location">Denver, Co</span>-->
284
285 <div class="jobmeta">
286 October 2012 - March 2014
287 <br />
288 Linux/Unix Systems Engineer
289 </div>
290
291 * **Primary operating systems**: AIX (versions 5.3 and 6.1) and RedHat Linux
292 (versions 4 - 6)
293
294 * Standardized, consolidated, and converted team documentation from
295 Sharepoint Shared Documents to MediaWiki
296
297 * Audited and remediated security holes to harden Linux and AIX servers
298
299 * Wrote and documented a Perl script to gather data and generate a report
300 detailing all of the local and Active Directory users with access to the
301 company-wide FTP site.
302
303 * Wrote and documented a Perl script to generate sudoers SOX compliance
304 reports. The script parsed the global sudoers file and queried Active
305 Directory to determine granular extent of all permissions.
306
307 * Wrote a bash script to perform automated SSH key rotation every three months
308 and when an employee left
309
310
311
312 ## Dish Network
313
314 <!--* Englewood, Co-->
315 <div class="jobmeta">
316 January 2011 - October 2012
317 <br />
318 Tier II Analyst / Developer II
319 </div>
320
321 * Managed over 1,000 JVM application instances (WebMethods, Weblogic, and
322 Apache Tomcat) running on Solaris and Linux
323
324 * Wrote Perl scripts to process log files, gather statistics, perform software
325 upgrades, manage rolling restarts, etc.
326
327
328
329 ## USDA
330
331 <!--* Fort Collins, CO -->
332 <div class="jobmeta">
333 <i>(Contract)</i> August 2010 - December 2010
334 <br />
335 Windows Systems Administrator
336 </div>
337
338 * Built and configured Red Hat Enterprise Linux (version 5) web servers
339 tailored for each project
340
341 * Analyzed test environment needs to designed scaled down test environments
342 based upon network architecture diagrams of the proposed production
343 environment
344
345 * Constructed test clusters (one controller and two test agents each) for load
346 testing with Visual Studio
347
348
349 ## AMG Creative, Inc.
350
351 <!--* Fort Collins, CO-->
352 <div class="jobmeta">
353 August 2009 - August 2010
354 <br />
355 Web Developer / Systems Administrator
356 </div>
357
358 * Programmed websites on Joomla and Wordpress using PHP, JavaScript, HTML, and
359 CSS.
360
361 * Built and managed five servers (one virtual [Domain controller, file server,
362 terminal server, backup server], another virtual [OpenVPN], one host [VMWare
363 Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04])
364
365
366 ## CSU College of Business
367
368 <!--* Fort Collins, Co-->
369 <div class="jobmeta">
370 August 2007 - October 2009
371 <br />
372 Web Developer / Systems Administrator
373 </div>
374
375 </div> <!-- employment -->
376
377
378 # EDUCATION
379
380 <div id="education">
381
382 ## Colorado State University
383
384 <!--Fort Collins, CO-->
385 <div class="jobmeta">
386 Bachelors in Business Administration
387 <br />
388 2007-2010
389 </div>
390
391 _Concentration_: Computer information Systems
392
393 Courses included Windows and Linux administration, Networking, SQL database
394 design and implementation, web application development (creating ASP.Net/C# and
395 Cold Fusion applications that accessed a database and used sessions), client
396 side application development (Visual Basic.Net), business math, marketing,
397 finance, accounting, and business communication.
398
399 </div> <!-- education -->
400
401 <div class="witty-remark">
402 /* This resume was proudly generated with commonmark markdown, some clever css,
403 and a Makefile */
404 </div>
|