UNIX Geek For Hire
Seeking employment as a UNIX Architecture or Systems Programming expert. Expert in Solaris with experience implementing and managing Veritas storage and clustering products on entry level to high-end servers.
About Me
- Name: Mike Gerdts
- Location: Wauwatosa, Wisconsin, United States
Friday, April 22, 2005
Led the performance analysis and load testing efforts to identify key bottlenecks in Appworx job scheduling. I created the design of experiment, verified its viability with key vendors and technical experts, coordinated compute and human resources for environment set-up and load testing, and analyzed data for the final report out. The performance analysis suggests that relatively straight-forward architecture changes will result in a 300% throughput improvement using existing compute resources.
Conference - Sun Users Performance Group (SUPerG)
Attended SUPerG, Sun's premier conference for Sun customers with high-end business and technical computing needs. Attended talks on various aspects of server performance tuning, recent advances in Sun Software, upcoming advances in Sun hardware, identity management, and overall strategy for various Sun product areas. Spoke with domain experts and key decision makers about areas such as server IO improvements, Grid Computing for business applications, and high-end server performance optimization strategies. This event along with ongoing research provides much insight into where the Sun is going over the next several years to enable astute architectural decisions.
Sunday, April 10, 2005
Brainbench - 98th Percentile of Solaris Administrators
Completed the Brainbench Assessement for UNIX Administration (Solaris 8) and scored higher than 98% of all others that had completed the test. This sets my proficiency level as an Expert in Solaris System Administration.
Sunday, April 03, 2005
Training - Directory Server Maintenance and Operations
Completed Sun ONE Directory Server 5.x: Maintenance & Operations (WMO-DIR-2337) training course. While taking the course and afterwards I have been successful in configuring key functionality including installing new servers, configuring replication, creating a custom schema, and using LDAP as a naming service for Solaris 9 and Solaris 10 servers.
Friday, March 18, 2005
Perl - Performance Monitoring and Capacity Planning
Designed and wrote a tool, Perfstat, for collecting and graphically displaying key server performance metrics. Perfstat is a multi-tier application written primarily in Perl with a small amount of Bourne shell. The tiers involved are:
Enhancements written in 2005 to the interface have allowed for what-if scenarios useful for server consolidation, server migration, and other capacity planning efforts. This tool is used on a daily basis by the key stakeholders of the most critical systems for day-to-day operations and long term projections. With less than $10k of hardware and labor costs, this tool has saved over $300k in its first year of operation.
- Agent - Perl script that collects data from standard performance monitoring tools (vmstat, iostat, mpstat) and from other kernel statistics using the kstat module. The agent streams data to the collector for near real-time analysis.
- Collector - The collector accepts data from each of several hundred servers and stores it in Round Robin Databases using the Perl module provided with RRD Tool. Detailed analysis by custom scripts or as part of service calls is made possible through compressed archives of all data received.
- Web Interface - The web interface is written using the CGI and RRD perl modules. It provides detailed graphs and basic metrics about arbitrary time periods for arbitrary numbers of servers in just a few seconds.
Enhancements written in 2005 to the interface have allowed for what-if scenarios useful for server consolidation, server migration, and other capacity planning efforts. This tool is used on a daily basis by the key stakeholders of the most critical systems for day-to-day operations and long term projections. With less than $10k of hardware and labor costs, this tool has saved over $300k in its first year of operation.
Sunday, September 12, 2004
Midrange Oracle 9i RAC on Solaris 9
Developed standard operating procedure for installing Solaris 9, Veritas Storage Foundation 4.0 for Oracle RAC, and performing cluster configurations. Beyond initial installation, procedures developed include creating new service groups, cloning service groups, and performing basic trouble shooting. Subsequent to creating this standard operating procedure, it has been followed as the basis for two Oracle 9i RAC implementations on Sun Fire 6800's and has served as the basis for upgrades of older Oracle 9i RAC installations to Solaris 9 and Veritas Storage Foundation for Oracle RAC 4.0.
Saturday, May 22, 2004
High-end Oracle 9i RAC on Sun Fire 15k's
UNIX Technical Lead on a project to convert a 60-CPU, single-instance Oracle database to a three-node Oracle 9i RAC cluster using Sun Fire 15k's, Solaris 8, and Veritas Database Edition Advanced Cluster 3.5 MP2. As of April, 2005 this cluster has been in production and stable for about a year. I currently am providing technical oversight on its upgrade to Solaris 9, Veritas Storage Foundation for Oracle RAC 4.0 MP1, and UltraSPARC IV boards.
Saturday, August 30, 2003
Certification - RHCE
Passed the Red Hat Certified Engineer exam with a cumulative score of 97.3%. Certificate number 809003218208507.
Monday, August 22, 1994
BIND - DNS maintenance
From 1994 through 2002, I was responsible for managing DNS using BIND versions 4, 8, and 9. I have led upgrades from version 8 to version 9, have built and installed BIND, and have tought others how to manage DNS and BIND. Over the past couple years, I have had occasional involvement with Cisco Network Registrar (CNR) and troubleshooting DNS problems in a CNR envrionment.
C/C++/Make - Code cleanup and maintenance
My initial duties at CAE led me down the route of performing clean-up of a significant body of code written in C and C++. Many of the programs were related to each other and had started out based on the same libraries. However, over time each program's version of the library had diverged from the original and from its peers. Coupled with the lack of function prototypes and blissful ignorance of options to tell compilers to emit warnings, the code I inherited was a mess. To resolve this, I converted the code to a style that K&R would be proud of, designed a hierarchical source code tree, and introduced a proper build process using Make. Upon completion of this work, the code would build cleanly (no warnings from gcc -Wall) on Solaris and HP-UX. The portions that were required on IRIX and Linux also compiled without problems.
Much of this code that I maintained was used for self-service account creation, used sockets for client-server communication, and interoperated with an in-house database.
Much of this code that I maintained was used for self-service account creation, used sockets for client-server communication, and interoperated with an in-house database.
Friday, July 08, 1994
Job - UW Madison - UNIX Systems Programmer
Dates: July 1994 - July 2000
I joined the UNIX Systems Administration team with an initial focus of maintenance of the code required for user and server administration. Over the next six years, I quickly became the top UNIX Administrator on the team and served as Interim UNIX Systems Manager for a time. At no time in my last four years with UW Madison was I regarded as anything but the top UNIX Administrator for the team.
I joined the UNIX Systems Administration team with an initial focus of maintenance of the code required for user and server administration. Over the next six years, I quickly became the top UNIX Administrator on the team and served as Interim UNIX Systems Manager for a time. At no time in my last four years with UW Madison was I regarded as anything but the top UNIX Administrator for the team.
Monday, May 10, 1993
Job - UW Madison - Hardware Technician
Began my IT career as a Hardware Technician for the University of Wisconsin - Madison's Computer-Aided Engineering Center. Key duties included installing and troubleshooting PC's, Macs, UNIX Workstations, printers, networks, and security systems. I served in this position for about 15 months before becoming a UNIX Systems Administrator.