Updates to Hydrahost and reorganization and other small changes.

This commit is contained in:
Otho 2023-09-22 00:14:56 -04:00
parent c98461d52a
commit 5c8f21ce6e
Signed by: Otho
GPG Key ID: 16C720CD3BBE21D9

View File

@ -25,6 +25,7 @@
\begin{tabbing} % Enables tabbing \begin{tabbing} % Enables tabbing
\hspace{2cm} \= \hspace{2cm} \= \kill % Spacing within the block \hspace{2cm} \= \hspace{2cm} \= \kill % Spacing within the block
{\bf Name} \> Otho Ulrich \\ {\bf Name} \> Otho Ulrich \\
{\bf Website} \> \href{https://www.othoulrich.com/}{https://www.othoulrich.com} \\
{\bf Latest CV} \> \href{https://othoulrich.com/othoulrich-cv.pdf}{https://othoulrich.com/othoulrich-cv.pdf} \\ {\bf Latest CV} \> \href{https://othoulrich.com/othoulrich-cv.pdf}{https://othoulrich.com/othoulrich-cv.pdf} \\
%{\bf Address} \> 1115 Longview Lane\\ %{\bf Address} \> 1115 Longview Lane\\
%\> Saline, MI 48176 %\> Saline, MI 48176
@ -37,6 +38,7 @@
%{\bf Home Phone} \> +0 (000) 111 1111 \\ % Home phone %{\bf Home Phone} \> +0 (000) 111 1111 \\ % Home phone
%{\bf Mobile Phone} \> (734) 224 2252 \\ % Mobile phone %{\bf Mobile Phone} \> (734) 224 2252 \\ % Mobile phone
{\bf Email} \> \href{mailto:otho@othoulrich.com}{otho@othoulrich.com} \\ {\bf Email} \> \href{mailto:otho@othoulrich.com}{otho@othoulrich.com} \\
{\bf Gitea} \> \href{https://code.othoulrich.com/}{https://code.othoulrich.com} \\
{\bf GPG} \> \href{https://othoulrich.com/othoulrich-gpg.txt}{51375D7EA61E966B} \\ {\bf GPG} \> \href{https://othoulrich.com/othoulrich-gpg.txt}{51375D7EA61E966B} \\
\end{tabbing}} \end{tabbing}}
@ -45,69 +47,88 @@
%------------------------------------------------------------------------------ %------------------------------------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\section{Tools} \section{Resources used in my Projects}
Software and systems engineering tools I used throughout my projects.\\
A small amount of code is on my website at \href{https://www.othoulrich.com/}{https://www.othoulrich.com} and linked herein.\\
\skillgroup{Dialects}
{
\textit{Bash, sh, etc.}\quad \textit{Bash, sh, etc.}\quad
\textit{Git}\quad \textit{Jinja}\quad
\textit{Helm}\quad
\textit{Perl}\quad
\textit{R}\quad
\textit{Typescript}\quad
\textit{Node.js}\quad \textit{Node.js}\quad
\textit{C++}\quad \textit{C++}\quad
\textit{R}\\
\textit{Perl}\quad
\textit{Lua}\quad \textit{Lua}\quad
\textit{Typescript}\quad
\textit{Helm}\quad
\textit{Python}\quad \textit{Python}\quad
\textit{Java}\quad \textit{Java}\quad
}
\skillgroup{Platforms} \skillgroup{Platforms}
{ {
\textit{FreeBSD}\quad \textit{FreeBSD}\quad
\textit{GNU/Linux}\quad \textit{GNU/Linux}\quad
\textit{ESXi}\quad
\textit{KVM}\quad \textit{KVM}\quad
\textit{ESXi}\quad
\textit{Docker}\quad \textit{Docker}\quad
\textit{Jails~/~BHyve}\quad \textit{Kubernetes}\quad
\skillgroup{Cloud} \textit{Jails~/~BHyve}
{
\textit{Foreman}\quad
\textit{OpenNebula}\quad
\textit{Fly.io}\quad
\textit{Vultr}\quad
\textit{Aiven}\quad
\textit{GCP}\quad \textit{GCP}\quad
\textit{AWS}\quad \textit{AWS}\quad
\textit{Foreman}\quad \textit{Heroku}\quad
\textit{Kubernetes}\quad
\textit{OpenNebula}\quad
\textit{Heroku}\\
\textit{Istio}\quad
\textit{Envoy}\quad
\textit{Datadog}\quad
\textit{Prometheus}\quad
\textit{Grafana}\quad
}
} }
\skillgroup{Automation} \skillgroup{Version Control}
{
\textit{Gitlab}\quad
\textit{Gitea}\quad
\textit{Github}\quad
}
\skillgroup{Software Analysis \& Design}
{
\textit{UML}\quad
\textit{CryptPad}\quad
\textit{PlantUML}\quad
\textit{Mermaid}\quad
\textit{ChatGPT}\quad
\textit{Trilium Notes}\quad
\textit{Click-up~/~Notion}\quad
}
\skillgroup{Provisioning}
{ {
\textit{Gitlab}\quad \textit{Gitlab}\quad
\textit{Vault}\quad \textit{Vault}\quad
\textit{Netbox}\quad
\textit{Terraform}\quad \textit{Terraform}\quad
\textit{Ansible}\quad \textit{Ansible}\quad
\textit{Github}\quad \textit{Netbox}\quad
\textit{BHyve-VM}\quad
\textit{CircleCI}\quad \textit{CircleCI}\quad
\textit{Jenkins}\quad
\textit{Adamocomp}\quad \textit{Adamocomp}\quad
} }
\skillgroup{Analysis \& Design} \skillgroup{Traffic Control}
{ {
\textit{Trilium Notes}\quad \textit{HAProxy}\quad
\textit{Click-up/Notion}\quad \textit{Nginx}\quad
\textit{PlantUML}\quad \textit{Auth0}\quad
\textit{Mermaid}\quad \textit{LetsEncrypt}\quad
\textit{Markdown}\quad \textit{Istio}\quad
\textit{Certbot}\quad
\textit{Apache}\quad
\textit{Envoy}\quad
}
\skillgroup{Monitoring}
{
\textit{Zabbix}\quad
\textit{Datadog}\quad
\textit{Prometheus}\quad
\textit{Grafana}\quad
} }
\skillgroup{HPC \& Data Science} \skillgroup{HPC \& Data Science}
@ -134,10 +155,8 @@ A small amount of code is on my website at \href{https://www.othoulrich.com/}{ht
%------------------------------------------------------------------------------ %------------------------------------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\section{Clusters} \section{Clusters}
Compute clusters used throughout my projects.
\begin{itemize-noindent} \begin{itemize-noindent}
\item{\textit{Hydra Host Datacenter} --- Baremetal cluster with mesh network. Hosts Hydra Host platforms and services.} \item{\textit{Hydra Host PNAP Datacenter} --- Baremetal cluster with mesh network. Primary marketplace compute source.}
\item{\textit{Signal Platform Primary Cluster} --- Kubernetes cluster. Hosts Signal Advisors platform of microservices.} \item{\textit{Signal Platform Primary Cluster} --- Kubernetes cluster. Hosts Signal Advisors platform of microservices.}
@ -159,6 +178,59 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------------------------------------
% Skills
%------------------------------------------------------------------------------
\noindent\begin{minipage}{\textwidth}
\section{Technical and Practical Skills}
\begin{itemize-noindent}
\item{Experienced providing real-time service delivery goals and monitoring in high-stakes environments.}
\item{Strong critical thinking and writing skills, providing for useful and thorough documentation and the ability to efficiently communicate technical concepts with the business.}
\item{Strong systems analysis and design skills provide a strong sense of component networks, system control flows, and abstractions; practiced in applying these concepts to document and troubleshoot solutions across devops problem domains.}
\item{Understanding of the cloud native stack and applying those tools to serve cloud native applications.}
\item{Practiced creating dynamic pipelines to automate system, application, network, and development operations, with an emphasis on saving time and adding efficiency to the decision-making process.}
\item{Sharp view of the software development lifecycle and how to apply it as a CI/CD process to streamline product development and release cycles.}
\item{Understanding of SOC2 requirements and experienced bringing codebases into SOC2 compliance.}
\item{\href{https://code.othoulrich.com/explore}{Significant programming experience}, with strength in many languages and libraries, and emphases on the \href{https://othoulrich.com/examples/backup.sh}{automation of system tasks}, modeling, and on \href{https://code.othoulrich.com/Otho/adamocomp/src/branch/master/broker.sh}{scripting} to \href{https://code.othoulrich.com/science/lammps-graphene/src/branch/master/scripts/bicrystal/stage3.sh}{analyze} and justify \href{https://code.othoulrich.com/science/cloudy-agn/src/branch/master/src/create_fort_files.cpp}{large and inconsistent datasets}.}
\item{Ability to automate provisioning systems for cloud and other virtual environments, practiced across a wide domain of cloud and on-prem resources.}
\item{Experienced maintaining configurations across host clusters, and deploying software consistently across hosts in pretooled and custom pipelines.}
\item{Training and practice in statistical learning, i.e. ``Machine Learning,'' with a variety of learning models.}
\item{Experienced handling large, sparse datasets, i.e. ``Big Data,'' aided by cluster computing for \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/compute_psdlags.sh}{analysis.}}
\item{Experienced with \href{https://code.othoulrich.com/science/psdlag-agn/src/branch/master/scripts/analyze_lightcurves.sh}{operating and programming for} high-performance cluster computing, i.e. ``Cloud Computing,'' using a variety of task scheduling platforms.}
\item{Practiced with statistical analysis, real and complex analysis, \href{https://othoulrich.com/science/simple_fourier_transform.pdf}{Fourier analysis}, and potential theory.}
\item{Familiarity with most computer systems, esp. \href{https://othoulrich.com/images/adamonet-bsd-install.jpg}{GNU/Linux and BSD}, with a strong shell \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/plot.sh}{scripting ability.}}
\item{Advanced knowledge of \href{https://othoulrich.com/science/spinz_commute.pdf}{physics} and inorganic chemistry.}
\item{Practical and theoretical experience with electronics.}
\item{Working knowledge of physics codes and \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/tophat_fft.pl}{signal analysis codes}, especially \textit{Cloudy}, \textit{LAMMPS}, and \textit{clag}.}
\item{Practiced with many document-preparation tools including \href{https://code.othoulrich.com/Otho/cv/src/branch/master/document.tex}{LaTeX}, programmatic UML, and standard-fare office software, with familiarity of \href{https://othoulrich.com/science/utf8report.txt}{Unicode}, markup, and markdown.}
\item{Developed public speaking presence with practice including more than a decade of training, classroom, and presentation experience.}
\end{itemize-noindent}
\vspace{\parskip}
\end{minipage}
%------------------------------------------------------------------------------ %------------------------------------------------------------------------------
% Technical Experience % Technical Experience
%------------------------------------------------------------------------------ %------------------------------------------------------------------------------
@ -171,30 +243,36 @@ Compute clusters used throughout my projects.
{ {
\begin{itemize-noindent} \begin{itemize-noindent}
\item{Along with the engineering team, designed and implemented multiple cloud hosting products using the open-source platforms Foreman, OpenNebula, and Netbox.} \item{Designed and implemented, along with the engineering, development, and product teams, multiple cloud hosting products culminating in the Brokkr compute marketplace.}
\item{Worked with CPO to define roadmap and balance engineering and product goals and limitations.} \item{Worked with CPO to define roadmap and balance engineering with product goals and limits.}
\item{Built CI/CD systems for Brokkr, Vulcan, and Oblivion products using Gitlab, Ansible, Terraform, and Vault.} \item{Maintained devops monitoring for leadership and product team, to provide quality, real-time information about software releases in our UAT and production environments.}
\item{Built CI/CD for baremetal configuration of the Hydrahost datacenter and internal services using Gitlab, Ansible, and Vault.} \item{Contributed to Encore, a tool for provisioning datacenter systems, including backend systems supporting the Brokkr marketplace. This tool automates deployment of all self-hosted compute and software, removing the need for dedicated infrastructure engineering.}
\item{Combined automation from these pipelines to create a combined cloud and baremetal infrastructure that is defined by code.} \item{Defined and automated secrets management for deployment automation using Vault and Gitlab. This minimized, standardized, and secured the configuration process for software deployments by providing a single source of truth for all configuration within each environment, and securing those secrets with short-lived, pipeline-specific auth tokens.}
\item{Built custom build environment containers using docker to define and normalize pipeline and development environments.} \item{Defined development lifecycle and release standards and SOC2 production change compliance standards. Implemented across all projects, minimizing uncertainty around the software release cycle and security compliance.}
\item{Wrote Gitlab CI/CD library implementing lifecycle, allowing devs to maintain their own pipelines in a few lines by including the relevant jobs, greatly reducing overhead for developers.}
\item{Developed CI/CD library to support a flexible list of devops tools, esp. Ansible and Terraform. This allowed us to swiftly clear blockers if they involved the need to move to new software.}
\item{Greatly simplified pipelines by releasing a series of pre-configured containers, providing, along with the pipeline library, automatic, environment-specific configuration of Vault, SSH, TLS, and app dependencies. This allowed developers to manage software dependencies from a single source and keep project pipelines simple.}
\item{Captured managed service infrastructure in code. Along with code-based deployment of self-hosted services, this capstoned change controls across all production components, managed with Gitlab. This cleared our greatest blocker toward SOC2 compliance.}
\item{Identified business functions, created automation to perform them, and built them into continuous delivery as system and integration tests, to generate confidence in deliverables from the leadership and product points of view.}
\item{Built custom Terraform provider for Hydra compute services based on the OpenNebula API.} \item{Built custom Terraform provider for Hydra compute services based on the OpenNebula API.}
\item{Automated business functions on our platform to make product reliable and consistent when provisioning customers.}
\item{Developed system and integration tests, incorporating business function automation, and built them into continuous delivery to generate confidence in deliverables from the business POV.}
\item{Encoded IaC standards in continuous integration and deployment to ensure all production platforms remain reliable and consistent.}
\end{itemize-noindent} \end{itemize-noindent}
} }
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2022 -}{2021} \job{2022 -}{2021}
{\href{https://www.signaladvisors.com/}{Signal Advisors}} {\href{https://www.signaladvisors.com/}{Signal Advisors}}
@ -228,6 +306,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{Present -}{2012} \job{Present -}{2012}
{Independent Research and Projects} {Independent Research and Projects}
@ -261,6 +340,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2021 -}{2019} \job{2021 -}{2019}
{TEKSystems, contracted to Ford Motor Company's NaaS Team} {TEKSystems, contracted to Ford Motor Company's NaaS Team}
@ -294,6 +374,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2019 -}{2017} \job{2019 -}{2017}
{Mjolnir Software} {Mjolnir Software}
@ -339,6 +420,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2018 -}{2016} \job{2018 -}{2016}
{Department of Physics and Astronomy, Wayne State University} {Department of Physics and Astronomy, Wayne State University}
@ -381,6 +463,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2014}{} \job{2014}{}
{Materials Simulation Laboratory, University of South Florida, Department of Applied Physics} {Materials Simulation Laboratory, University of South Florida, Department of Applied Physics}
@ -398,6 +481,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2014}{} \job{2014}{}
{Tandem Van de Graaff Accelerator Laboratory, Department of Physics, Western Michigan University} {Tandem Van de Graaff Accelerator Laboratory, Department of Physics, Western Michigan University}
@ -503,53 +587,6 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
\noindent\begin{minipage}{\textwidth}
\section{Technical and Practical Skills}
\begin{itemize-noindent}
\item{Experienced providing real-time service delivery goals and monitoring in high-stakes environments.}
\item{Strong critical thinking and writing skills, providing for useful and thorough documentation and the ability to efficiently communicate technical concepts with the business.}
\item{Strong systems analysis and design skills provide a strong sense of component networks, system control flows, and abstractions; practiced in applying these concepts to document and troubleshoot solutions across all devops problem domains.}
\item{Understanding of the cloud native stack and applying those tools to serve cloud native applications.}
\item{Practiced creating dynamic pipelines to automate system, application, network, and development operations, with an emphasis on saving time and adding efficiency to the decision-making process.}
\item{\href{https://code.othoulrich.com/explore}{Significant programming experience}, with strength in many languages and libraries, and emphases on the \href{https://othoulrich.com/examples/backup.sh}{automation of system tasks}, modeling, and on \href{https://code.othoulrich.com/Otho/adamocomp/src/branch/master/broker.sh}{scripting} to \href{https://code.othoulrich.com/science/lammps-graphene/src/branch/master/scripts/bicrystal/stage3.sh}{analyze} and justify \href{https://code.othoulrich.com/science/cloudy-agn/src/branch/master/src/create_fort_files.cpp}{large and inconsistent datasets}.}
\item{Ability to automate provisioning systems for cloud and other virtual environments, e.g. VMWare-hosted systems and the Google Cloud Platform.}
\item{Experienced maintaining configurations across clustered hosts, and deploying software consistently across hosts in pretooled and custom pipelines.}
\item{Training and practice in statistical learning, i.e. ``Machine Learning,'' with a variety of learning models.}
\item{Experienced handling large, sparse datasets, i.e. ``Big Data,'' aided by cluster computing for \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/compute_psdlags.sh}{analysis.}}
\item{Comfortable implementing and interfacing with many database systems.}
\item{Experienced with \href{https://code.othoulrich.com/science/psdlag-agn/src/branch/master/scripts/analyze_lightcurves.sh}{operating and programming for} high-performance cluster computing, i.e. ``Cloud Computing,'' using a variety of task scheduling platforms.}
\item{Practiced with statistical analysis, real and complex analysis, \href{https://othoulrich.com/science/simple_fourier_transform.pdf}{Fourier analysis}, and potential theory.}
\item{Familiarity with most computer systems, esp. \href{https://othoulrich.com/images/adamonet-bsd-install.jpg}{GNU/Linux and BSD}, with a strong shell \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/plot.sh}{scripting ability.}}
\item{Advanced knowledge of \href{https://othoulrich.com/science/spinz_commute.pdf}{physics} and inorganic chemistry.}
\item{Practical and theoretical experience with electronics.}
\item{Working knowledge of physics codes and \href{https://code.othoulrich.com/science/clag-agn/src/branch/master/scripts/tophat_fft.pl}{signal analysis codes}, especially \textit{Cloudy}, \textit{LAMMPS}, and \textit{clag}.}
\item{Practiced with many document-preparation paradigms including \href{https://code.othoulrich.com/Otho/cv/src/branch/master/document.tex}{LaTeX}, Libre Office, Google Docs, Microsoft Office, with familiarity of \href{https://othoulrich.com/science/utf8report.txt}{Unicode}, markup, and markdown.}
\item{Developed public speaking presence with practice including over a decade of training, classroom, and presentation experience.}
\end{itemize-noindent}
\vspace{\parskip}
\end{minipage}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% EDUCATION % EDUCATION
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
@ -677,6 +714,7 @@ Compute clusters used throughout my projects.
\vspace{\parskip} \vspace{\parskip}
\end{minipage} \end{minipage}
%------------------------------------------------ %------------------------------------------------
\noindent\begin{minipage}{\textwidth} \noindent\begin{minipage}{\textwidth}
\job{2017 -}{2015} \job{2017 -}{2015}
{PHY 3520: Waves and Optics, Department of Physics, Western Michigan University} {PHY 3520: Waves and Optics, Department of Physics, Western Michigan University}