Oliver Schoenborn
Verified Expert in Engineering
Software Developer
经过多年的VR分布式仿真系统开发, Oliver专注于DevOps工程, 特别是自2017年以来的自动化:(1)结合Terraform, Python, and Docker to automate the provisioning of Kubernetes clusters and cloud resources used by microservices deployed into those clusters; (2) engineering CI/CD pipelines; and (3) managing k8s clusters and helping developers integrate their work into it, 标准化内部舵图, 并将遗留应用程序容器化.
Portfolio
Experience
Availability
Preferred Environment
Amazon Web Services (AWS), Helm, Terraform, Kubernetes, Python 3, Bash, Visual Studio Code (VS Code), PyCharm, Linux
The most amazing...
...我为开发人员构建的自动化是一个容器化的CLI, operations, DevOps, and CI/CD's to use, 确保一致的自动化逻辑和依赖关系.
Work Experience
DevOps Engineer Contractor
Toptal Clients
- 为一家美国数字媒体公司将基于kops的Kubernetes集群迁移到EKS.
- 使用Terraform、Python和Docker在AWS中自动配置基于kops的Kubernetes集群. Managed complicated kops upgrades.
- 设计并实现了Spinnaker的连续交付管道, 先进地利用管道重用机制.
- 开发用于基础设施自动化的容器化CLI, deployments, and deliveries, to be used by developers, the delivery team, operations team, and CI/CD (in true DevOps fashion!).
- 通过开发Groovy共享库和建立编码标准,极大地改进了大型Jenkins安装的配置管理和可维护性.
- 调试用于远程温度测量的Arduino设备(电路和编写c++代码),并设计适当的c++代码,通过IoT/MQTT与AWS DynamoDB集成.
Principal Contractor
自雇(Sentian Cloud Computing, Inc ..)
- 为一家位于渥太华的初创公司提供自动化的AWS基础设施配置. 设计了一个基于Let’s Encrypt/ACME的认证管理系统. 通过Terraformer导入现有的基础设施到Terraform.
- 将微服务从Docker Compose和EC2迁移到EKS中的Kubernetes.
- 为纽约花旗银行的金融分析师提供为期三天的Python课程的技术和课堂支持.
- 在最近出版的书中有特写, Python访谈:与Python专家讨论, Packt 2018 by Mike Driscoll, 基于我在PyPubSub上的开源工作.
- 迁移了一个用Node编写的遗留web应用程序.js, Express.js, JavaScript, and SQLite to GKE. 自动部署,以便最小化停机时间,并仅在测试通过时进行部署.
- 通过开发开发人员使用的CLI,支持复制完整的堆栈(包括EKS外部的AWS资源和每个堆栈所需的资源), delivery, 和CI/CD(以真正的DevOps方式进行故障排除), staging, and more.).
- 在加拿大政府工作的9个月里,每周花几个小时指导一个开发团队迁移遗留项目 .. NET Core应用到Azure Kubernetes服务(AKS). 分析他们的应用,计划进展,每周提供实践.
- 重构AWS CloudFormation模板,实现渥太华业务基础设施的自动化复制.
仿真软件工程顾问
CAE, Inc.
- 为分布式仿真应用程序设计了一个基础设施即代码系统. 这是“micro-Kubernetes”:我基于XML设计了配置文件,并使用运行在每个系统上的RPyC代理来远程启动和关闭进程.
- Integrated the system with Java, Tomcat, MySQL为基于GUI的基础架构代码创建提供了一个web界面.
- 使用Python、PyQt和pytest开发了一个基于代理的仿真桌面GUI应用程序. 使用多核Python(通信进程)进行大规模计算.
- Led a team, 编写核心组件和基础架构, 设置和管理虚拟机和Jenkins.
- 使用虚拟机为团队成员提供软件开发环境. 使用vSphere和虚拟机,为军事人员学习航空电子设备维护提供基于类的虚拟训练环境.
Simulation Software Engineer
加拿大国家研究委员会
- 带领一个六人的工程团队开发一个沉浸式起重机模拟器. 协调工作,代码审查,以及团队组件的集成.
- 基于事件驱动消息的多机体系结构.
- 用c++语言开发了事件和进程间消息传递系统,并开发了功能强大的基于XML的配置系统.
Experience
DevOps Automation
航空电子维修教练-分布式计算
c#层提供了GUI和UX, including imagery, guidance, navigation in the 2D environment, 培训生使用诊断工具, 以及逼真的驾驶舱仪表. 非托管c++层提供业务逻辑, from configuration, startup, 二维环境下的导航和航电仿真,包括数据总线, progression tracking, and instrument failures. Lua层提供了应用程序的可脚本性, 包括与运行状况监控系统(HMS)接口使用的仪器页面的定义, 场景组件和功能的配置, 以及目标/进程的配置.
The application was multi-threaded, c++层充当GUI可用的服务, 以及允许扩展和场景定义而无需重新编译的脚本. Very powerful and very stable.
起重机操作模拟器-分布式计算
PubSub
http://github.com/schollii/pypubsubLua-icxx
http://sourceforge.net/p/lua-icxx/code/HEAD/tree/trunk/src/Nose2pytest
http://github.com/pytest-dev/nose2pytestIOF
http://sourceforge.net/p/iof/code/HEAD/tree/trunk/ioflib/include/iof/Integration of C#, C++, and Lua
使用Python和PyQt进行多进程GUI开发
Python调试器集成到GUI应用程序
业务流程建模和仿真环境
Skills
Languages
Python, c++, Lua, YAML, Bash, XML, RELAX NG, Python 3, UML, JavaScript, Java, Fortran
Paradigms
Object-oriented Programming (OOP), Generic Programming, Object-oriented Design (OOD), DevOps, Event-driven Programming, Distributed Computing, Test Automation, Template Metaprogramming, Rapid Prototyping, Agile Software Development, Event-driven Architecture, Microservices, REST, Concurrent Programming
Platforms
Kubernetes, Docker, Amazon Web Services (AWS), Windows, Linux, Spinnaker, Unix, Arduino, Nexus, AWS Lambda, Google Cloud Platform (GCP), AWS IoT, Azure
Storage
JSON, SQLite, PostgreSQL, Amazon DynamoDB, MySQL, Amazon S3 (AWS S3)
Tools
Terraform, Helm, Docker Compose, Pytest, Jira, VMware, Git, Subversion (SVN), Jenkins, VirtualBox, AWS CloudFormation, OpenSceneGraph, Amazon EKS, MQTT, Azure Kubernetes Service (AKS), Jupyter, Amazon Virtual Private Cloud (VPC), Google Kubernetes Engine (GKE), Wireshark
Other
CI/CD Pipelines, Containers, Regular Expressions, TCP/IP, System Architecture, Virtual Reality (VR), Pub/Sub, Networking, Amazon API Gateway, Message Queues, Kubernetes Operations (kOps), Containerization, Minikube, Command-line Interface (CLI), Numerical Programming, Simulations, Serverless, Internet of Things (IoT), 3D Modeling, Process Simulation, Physics Simulations, 3D Animation, Ajax
Libraries/APIs
REST APIs, Pandas
Education
Ph.D. 物理学硕士学位(图案形成)
University of Toronto - Toronto
Certifications
CKAD
Linux Foundation