main.tex (16991B)
1 \documentclass{article} 2 \usepackage{bubblecv} 3 4 \begin{document} 5 6 7 \begin{cv}[_MG_4088]{Andreas Gruhler}{Senior Cloud Architect} 8 9 10 %\cvsection[person]{Profile} %----------------------------------------------------------- 11 12 %Open source enthusiast and sportsman. Cloud architect and technical project lead. 13 14 \cvsection[work]{Professional experience} %------------------------------------------------------ 15 16 \begin{cvevent}[Jan 2025][today] 17 \cvname{Senior Cloud Architect} 18 \cvdescription{Health Info Net AG (HIN), Zurich} 19 \begin{itemize} 20 \item Replacement of email service for secure communication between 21 healthcare professionals and third parties with a micro-service 22 based email architecture 23 \item Standardization of proxy/WAF services and associated IAM and 24 antivirus services with Kubernetes Gateway API 25 \item Participate in strategic initiatives, support of the product 26 teams with architecture decisions for modernization of services 27 \item Oversee development of core platform with external partners 28 \item Central logging/monitoring of infrastructure (log pipelines, 29 metrics, observability, and dashboards) 30 \item IAM and access management for various platforms with OpenID 31 Connect and Keycloak 32 \item Pipeline integrations with external workload identities 33 \item Consult on development \& deployment of cloud-native applications 34 \item Streamlining of testing \& synthetic monitoring activities with 35 modern tool stacks and frameworks 36 \item Internal presentations, documentation, reviews, workshops, forum 37 discussions on IT and cloud topics 38 \item Coordination of internal teams and external partners 39 \item Sales support for cloud topics 40 \item Support for security-related key ceremonies 41 \item Proof of concepts and prototypes, solution engineering, 42 validation of deployment concepts 43 \item Evaluation of special cases and analysis of novel product 44 features 45 \end{itemize} 46 \end{cvevent} 47 48 \begin{cvevent}[Dec 2018][Dec 2024] 49 \cvname{Senior System Engineer} 50 \cvdescription{Adfinis AG, Zurich} 51 \begin{itemize} 52 \item Project manager and tech lead of small teams (3 to 4 people) for 53 multiple projects at the customer site 54 \item Vault subject matter expert (technology owner): Product documentation, best 55 practices, security issues, roadmap \& service development, 56 coordination \& communication with vendor and Adfinis teams 57 \item Operations, incident management, on-call and technical support 58 \item Pre-sales (offers \& estimations) and solution architecture 59 support 60 \item Automation and secrets management projects (e.g., GitLab, Vault): 61 Requirements engineering, architecture \& design, self-service, 62 client integrations in various environments (hybrid cloud, 63 on-prem, AWS, Azure, Google, etc.), platforms (VM, 64 Kubernetes, OpenShift) and industries with DevOps 65 methodology (e.g., GitOps and CI/CD) 66 \item Build and introduce MaxScale and MariaDB database architecture on 67 RHEL at Swiss telco 68 \item Architecture \& design, development and operations of a computing 69 platform for a Swiss school (Nextcloud, Collabora Online, 70 ProxySQL, MariaDB, Galera) 71 \item Maintenance and support for customer SLA systems and services 72 \item Contributions (code, support) to various upstream open source 73 projects 74 \item Public talks at various meetups \& conferences, customer 75 presentations, demos, blog posts 76 \end{itemize} 77 \end{cvevent} 78 79 \cvseparator[5] 80 \begin{cvevent}[Apr 2018][Aug 2018] 81 \cvname{IT Project Management Internship} 82 \cvdescription{Mobilize Financial Services (formerly, "RCI-Finance"), Zurich} 83 \begin{itemize} 84 \item IT project management support 85 \item Preparation and documentation of project meetings and workshops 86 \item Create status reports, test plans and templates 87 \item Support integration testing and roll-out of new business tool 88 \end{itemize} 89 \end{cvevent} 90 91 \cvseparator[5] 92 \begin{cvevent}[May 2017][Jan 2018] 93 \cvname{Software Developer} 94 \cvdescription{qiio (formerly, Smart Home Technology GmbH), Zurich} 95 \begin{itemize} 96 \item Software development with focus on IoT on Microsoft Azure 97 \item JavaScript (Sails.js) and C\# programming with Azure and .NET 98 framework 99 \item Development of an Azure microservice for cost analysis 100 \item Visualizations with Power BI 101 \end{itemize} 102 \end{cvevent} 103 104 \cvseparator[5] 105 \begin{cvevent}[Mar 2016][Jun 2016] 106 \cvname{Internship in Financial Services / Advisory IT Risk and Assurance} 107 \cvdescription{EY, Zurich} 108 \begin{itemize} 109 \item Contribute to project of Fraud Investigation \& Dispute Services (FIDS) 110 \item Evaluation and review of emails and documents according to legal criteria 111 \item Adminstrative tasks and support of counselor and team 112 \end{itemize} 113 \end{cvevent} 114 115 \cvseparator[5] 116 \begin{cvevent}[Jun 2013][Jun 2015] 117 \cvname{IT-Support} 118 \cvdescription{Accelerom AG, Zurich} 119 \begin{itemize} 120 \item Maintenance of server infrastructure (data server, VPN, Samba 121 shares, web server, backup server, data synchronization, 122 marketing software, networks, firewall, windows user 123 accounts and workstations, email, intranet) 124 \item Ensure smooth operations of live analysis and management tool 125 (incidient management) 126 \item Hardware support and installation 127 \item Software engineering for MarketConnex-Software with Java 128 (Groovy/Grails) and JavaScript 129 \end{itemize} 130 \end{cvevent} 131 132 \cvseparator[5] 133 \begin{cvevent}[Jun 2014][Sep 2014] 134 \cvname{Software Engineering Internship} 135 \cvdescription{Fachhochschule Nordwestschweiz (FHNW), Brugg} 136 \begin{itemize} 137 \item Software Engineering Internship under supervision of Prof. Dr. 138 Manfred Vogel at Fachhochschule Nordwestschweiz (FHNW), 139 Institute for Data Science (formerly, "4D-Technologies") 140 \item SCRUM-based software development with Java (Groovy/Grails) 141 and JavaScript for KTI project "CAFAIO: Crossmedial 142 Analytics Framework with Artificial Intelligence and 143 Optimization" 144 \item Extend the existing MarketConnex-Software with a 145 collaboration platform to discuss customer touchpoints 146 \end{itemize} 147 \end{cvevent} 148 149 \cvsection[education]{Education} %------------------------------------------------------ 150 151 \begin{cvevent}[Dec 2022][Mar 2023] 152 \cvname{Aspirant Swiss Snowsports Association (SSSA)} 153 \cvdescription{Swiss Ski School Savognin} 154 \end{cvevent} 155 156 \cvseparator[5] 157 \begin{cvevent}[2015][2018] 158 \cvname{Master in Information Systems} 159 \cvdescription{University of Zurich (UZH)} 160 \begin{itemize} 161 \item Master thesis: A Reputation and Reward Scheme for a 162 Cooperative, Multi-domain DDoS Defense 163 \item Explore design, implementation and evaluation of a 164 blockchain-based reputation and reward scheme to 165 incentivize participants and penalize malicious peers in a 166 cooperative defense 167 \item Master project: Blockchain in Automotive Industry 168 \item Elicit requirements for a novel digital car dossier, 169 resulting in a prototype with Hyperledger Fabric 170 \end{itemize} 171 \end{cvevent} 172 173 \cvseparator[5] 174 \begin{cvevent}[Aug 2016][Dec 2016] 175 \cvname{Exchange Semester} 176 \cvdescription{Nanyang Technological University (NTU), Singapore} 177 \begin{itemize} 178 \item Algorithms \& Theory of Computing 179 \item Informational Biology 180 \end{itemize} 181 \end{cvevent} 182 183 \cvseparator[5] 184 \begin{cvevent}[2012][2015] 185 \cvname{Bachelor in Information Systems} 186 \cvdescription{University of Zurich (UZH)} 187 \begin{itemize} 188 \item Bachelor thesis: Investigation of Resource Reallocation 189 Capabilities of KVM and OpenStack 190 \item Review concepts and evaluate tools to reallocate memory, CPU 191 cycles, disk I/O and network bandwidth on the hypervisor 192 layer 193 \item Document existing resource reallocation capabilities of the 194 Kernel-based Virtual Machine (KVM) hypervisor module 195 \item Explore mechanisms to facilitate similar tasks on the 196 orchestration layer with an experimental OpenStack Compute 197 (nova) extension 198 \end{itemize} 199 \end{cvevent} 200 201 \cvseparator[5] 202 \begin{cvevent}[2011][2012] 203 \cvname{Military Service} 204 \cvdescription{Swiss Army} 205 Serve in the "FU Ber Kp 104-2" as signaller 206 \end{cvevent} 207 208 \cvseparator[5] 209 \begin{cvevent}[2007][2011] 210 \cvname{High school} 211 \cvdescription{Seelandgymnasium Biel} 212 Study focus "Physics and Mathematics" 213 \end{cvevent} 214 215 \cvsection[education]{Research experience} %---------------------------------------------------------- 216 217 \begin{cvevent}[Sep 2018][Nov 2018] 218 \cvname{Research Assistant Communication Systems Group (CSG)} 219 \cvdescription{University of Zurich (UZH)} 220 Research in the area of blockchain, distributed ledgers and reputation 221 systems 222 \end{cvevent} 223 224 \cvsection[education]{Teaching experience} %---------------------------------------------------------- 225 226 \begin{cvevent}[Dec 2022][Mar 2023] 227 \cvname{Aspirant Swiss Snowsports Association (SSSA)} 228 \cvdescription{Swiss Ski School Savognin} 229 \begin{itemize} 230 \item Organize and realize skiing lessons for beginners and advanced skiers 231 \item Teaching and guidance for individuals and groups in German and English 232 \item Support with demonstrations, shows and other touristic activities 233 \end{itemize} 234 \end{cvevent} 235 236 \cvseparator[5] 237 \begin{cvevent}[Sep 2018][Nov 2018] 238 \cvname{Teaching Assistant Communication Systems Group (CSG)} 239 \cvdescription{University of Zurich (UZH)} 240 \begin{itemize} 241 \item Teaching assistant for the Communications Systems Lab under 242 guidance of Bruno Bastos Rodrigues and Prof. Dr. Burkhard 243 Stiller at the CSG 244 \item Develop and conduct Communication systems (ComSys) lab 245 sessions with students 246 \end{itemize} 247 \end{cvevent} 248 249 \cvsection[summary]{Publications} %---------------------------------------------------------- 250 251 \begin{cvevent}[][] 252 \cvname{Gruhler, Andreas, Bruno Rodrigues, and Burkhard Stiller. "A 253 Reputation Scheme for a Blockchain-based Network Cooperative Defense."} 254 \cvdescription{2019 IFIP/IEEE Symposium on Integrated Network and Service 255 Management (IM). IEEE, 2019.} 256 \end{cvevent} 257 258 \cvsection[summary]{Co-authored blog posts} %---------------------------------------------------------- 259 260 \begin{cvevent}[Nov 2023][] 261 \cvname{Secret zero with ACME} 262 \cvdescription{\href{https://www.adfinis.com/en/news/secret-zero-with-acme}{Link}} 263 \end{cvevent} 264 265 \cvseparator[5] 266 \begin{cvevent}[Jun 2023][] 267 \cvname{HashiDays Munich 2023} 268 \cvdescription{\href{https://www.adfinis.com/en/news/hashidays-munich-2023}{Link}} 269 \end{cvevent} 270 271 \cvseparator[5] 272 \begin{cvevent}[Dec 2022][] 273 \cvname{HashiCorp Vault on Exoscale Scalable Kubernetes Service (SKS)} 274 \cvdescription{\href{https://www.adfinis.com/en/news/hashicorp-vault-on-exoscale-scalable-kubernetes-service-sks}{Link}} 275 \end{cvevent} 276 277 \cvseparator[5] 278 \begin{cvevent}[Jul 2021][] 279 \cvname{How to Manage Secret Keys with HashiCorp Vault} 280 \cvdescription{\href{https://www.adfinis.com/en/news/how-to-manage-secret-keys-with-hashicorp-vault}{Link}} 281 \end{cvevent} 282 283 \cvseparator[5] 284 \begin{cvevent}[Mar 2021][] 285 \cvname{Database Clustering with Galera Cluster and Galera Manager} 286 \cvdescription{\href{https://www.adfinis.com/en/news/database-clustering-with-galera-cluster-and-galera-manager}{Link}} 287 \end{cvevent} 288 289 \cvseparator[5] 290 \begin{cvevent}[Jul 2019][] 291 \cvname{HashiConf Europe 2019} 292 \cvdescription{\href{https://www.adfinis.com/en/news/hashiconf-europe-2019}{Link}} 293 \end{cvevent} 294 295 \cvsection[publications]{Public speaking} %---------------------------------------------------------- 296 297 \begin{cvevent}[Jun 2024][] 298 \cvname{PostgreSQL in the snow} 299 \cvdescription{PGDay 2024 lightning talk} 300 \begin{itemize} 301 \item \href{https://www.pgday.ch/2024/\#schedule}{Schedule} 302 \item \href{https://www.pgday.ch/common/slides/2024_Lightning_Talks_Swiss_PGDay_2024.pdf}{Slides} (p. 38) 303 \item \href{https://code.in0rdr.ch/myheats}{Code} 304 \item \href{https://myheats-demo.p0c.ch}{Demo} 305 \item It was demonstrated how the scoring process for freestyle 306 events (e.g., slopestlye ski/snowboard) can be improved 307 with a live-updating leaderboard. The leaderboard makes use 308 PostgreSQL publications to continuously refresh the current 309 ranking. The Supabase platform enables rapid prototyping. 310 \end{itemize} 311 \end{cvevent} 312 313 \cvseparator[5] 314 \begin{cvevent}[Dec 2022][] 315 \cvname{Build, run and manage with Zero Trust on a Swiss Cloud} 316 \cvdescription{Zürich HashiCorp User Group (HUG)} 317 \begin{itemize} 318 \item \href{https://www.meetup.com/zurich-hashicorp-user-group/events/289349205}{Meetup} 319 \item \href{https://cv.in0rdr.ch/assets/pdf/HashiCorp_Vault_Enterprise_on_Exoscale.pdf}{Presentation} 320 \item \href{https://github.com/adfinis/sks-vault-demo}{Demo code} 321 \item Vault Deployment on Exoscale Scalable Kubernetes Service 322 (SKS) 323 \item Deploy Vault on Exoscale SKS with ArgoCD. In this short 324 rundown we will provision a Kubernetes cluster on Exoscale 325 (SKS), install ArgoCD and use that to spin up HashiCorp 326 Vault Enterprise. At the end of this session, you will also 327 be able to leverage the best practices around the "App of 328 Apps" approach for your projects, which we already use at 329 Adfinis to manage the lifecycle of mulitple apps across 330 clusters and customers. 331 \end{itemize} 332 \end{cvevent} 333 334 \cvseparator[5] 335 \begin{cvevent}[Jun 2019][] 336 \cvname{Traceable, fast and open - Ansible learnings from the capital city} 337 \cvdescription{Ansible Meetup Bern} 338 \begin{itemize} 339 \item \href{https://www.meetup.com/ansible-bern/events/262121854}{Meetup} 340 \item A stack of open source components is being built for the 341 public administration. The Red Hat stack could demonstrate 342 its strengths in many ways. A main advantage is Ansible for 343 day 1 and day 2 operations. Some processes could be 344 optimized to save precious time and tax money. 345 \end{itemize} 346 \end{cvevent} 347 348 \cvsidebar %----------------------------------------------------------------------------- 349 350 351 \cvsection[contact]{Contact} %---------------------------------------------------------- 352 353 \begin{cvitem}[Envelope][4] 354 \textbf{Email}\\ 355 \href{mailto:agruhl@gmx.ch}{\texttt{agruhl@gmx.ch}} 356 \end{cvitem} 357 358 \cvseparator[3] 359 \begin{cvitem}[Phone][4] 360 \textbf{Phone}\\ 361 \href{tel:+41774118542}{\texttt{+41 77 411 85 42}} 362 \end{cvitem} 363 364 \cvseparator[3] 365 \begin{cvitem}[Home][4] 366 \textbf{Address}\\ 367 Zurich, Switzerland 368 \end{cvitem} 369 370 \cvseparator[3] 371 \begin{cvitem}[Globe][4] 372 \textbf{Website}\\ 373 \href{https://cv.in0rdr.ch}{\texttt{cv.in0rdr.ch}} 374 \end{cvitem} 375 376 \cvsection[skills]{Certifications} %----------------------------------------------------------- 377 378 \begin{cvitem} 379 Local Internet Registry (LIR) Fundamentals 380 \end{cvitem} 381 \cvseparator[3] 382 \begin{cvitem} 383 AWS Certified Solutions Architect – Associate 384 \end{cvitem} 385 \cvseparator[3] 386 \begin{cvitem} 387 CKA: Certified Kubernetes Administrator 388 \end{cvitem} 389 \cvseparator[3] 390 \begin{cvitem} 391 HashiCorp Certified: Vault Operations Professional 392 \end{cvitem} 393 \cvseparator[3] 394 \begin{cvitem} 395 HashiCorp Certified: Terraform Associate 396 \end{cvitem} 397 \cvseparator[3] 398 \begin{cvitem} 399 \href{https://www.credly.com/users/andreas-gruhler/badges}{Credly Badges} 400 \end{cvitem} 401 402 \cvsection[languages]{Languages} %-------------------------------------------------------- 403 404 \cvskill{German}{Fluent}{1.0} 405 \cvskill{English}{Intermediate}{0.6} 406 \cvskill{French}{Basic}{0.3} 407 408 \end{cv} 409 410 \cvfootnote{ 411 \tiny last updated 2025-09-20, 412 \href{https://github.com/mateuszbaransanok/BubbleCV}{BubbleCV} template by Mateusz Baran 413 } 414 415 \end{document} 416