Circle Image

Simon Pirschel

DevOps Engineer
Karlsruhe, Germany
Automation Orchestration Containers CI/CD Cloud SaaS Python

I'm Simon and I am passionate about development and operations.

With 10+ years experience in development and operations, I combine a deep understanding of Linux systems with a broad knowledge in software engineering. My specialties are Linux, DevOps, CI/CD, automation and service architecture design for "as a Service" products.

Services

DevOps is an emerging model of product delivery that facilitates higher and faster rates of change through the optimisation of development and delivery processes. [...] As the Fourth Industrial Revolution presses upon us all, we and many in our industry believe successful Digital Transformation initiatives will need DevOps to be the driving force.

I'm here to assist you to tackle the challenges of the Digital Transformation. No matter if it's migrating an existing Software stack to a new System Architecture or platform, or building a new service from the ground up. I offer a decade of experience in Dev and Ops combined with a battle proven stack of services to "get sh*t done".


assignment_ind

Roles

  • DevOps Engineer
  • Linux System Administrator
  • Software Engineer
  • Architect
  • Interim CTO

settings

Automation

  • Continuous Integration
  • Continuous Delivery
  • Configuration Management
  • Orchestration
  • Log Management

cloud_queue

Cloud

  • Public Cloud
  • Private Cloud
  • Hybrid Cloud
  • Containers
  • Virtualization

storage

Services

  • Load Balancing
  • High Availability
  • Web Services
  • Relational Databases
  • Time Series Databases
  • Object Storage
  • Document Storage
  • Key-Value Storage

Experience

Founder & DevOps Engineer 2016 - present

Pirschel DevOps IT-Services

Chief Architect 2015 - 2016

Vice President Engineering 2013 - 2014

DevOps Engineer 2012

Co-Founder 2012 - present

Abusix, Inc

DevOps Engineer 2009 - 2011

Linux System Administrator 2008

Gameforge AG

Linux System Administrator 2004 - 2008

H&G EDV GmbH

Education

Computer Science Expert 2004 - 2007
Fachinformatiker Systemintegration, HHEK Bonn

Comprehensive School 1995 - 2003
Gesamtschule, Europaschule Bornheim

Elementary School 1990 - 1995
Grundschule, Wendelinus-Grundschule Sechtem

About

Name
Simon Pirschel
Age
32
Birthplace
 Bonn, Germany
Residence
 Karlsruhe, Germany

Dev Stack (TOP 5)

Python Perl JavaScript C Java

Ops Stack (TOP 5)

Debian/Ubuntu Linux SaltStack Docker Jenkins ELK Stack

DB Stack (TOP 5)

ElasticSearch Redis SophiaDB/LevelDB MySQL/MariaDB OpenLDAP

Tech Stack (TOP 5)

Stream Processing RESTful APIs Web scraping Data mining Distributed systems

References

Migration of an existing infrastructure to container based CI/CD public/private cloud
Year: 2016-2017, Duration: 6 month, Customer: Startup from Vienna, Role: Architect & DevOps Engineer

Concept and setup of a container based CI/CD public/private cloud infrastructure. Dockerization of all existing Services (Python, Ruby, PHP, Java, Node apps). Migration of all services to containers. Host configuration, service and container orchestration with SaltStack. Continuous Integration with Jenkins. Continuous Delivery with SaltStack. API and web app loadbalancer with NGINX and AWS ELB. Docker cluster overlay network with VXLAN and etcd.

SaltStack Docker Jenkins NGINX MongoDB Cassandra RabbitMQ OpenLDAP etcd CI/CD AWS EC2 Private Cloud

System Architecture and Setup of a Slack like Chat Service
Year: 2016, Duration: 3 month, Customer: Startup from Berlin, Role: Architect & DevOps Engineer

Concept and setup of a Slack like Chat Service offered as SaaS. The project had reliability as well as performance goals. AWS EC2 and Private Cloud infrastructure mix. Service and container orchestration was done with SaltStack. Several loadbalanced web applications and a MongoDB cluster in a multi datacenter setup. Services operated in a Docker overlay network provided by flannel clustered through etcd.

SaltStack Docker etcd flannel Rocket.Chat NGINX MongoDB AWS EC2 Private Cloud

Proove of concept for a container based distributed Task Queue
Year: 2016, Duration: 4 month, Customer: Big german Telco, Role: Architect & DevOps Engineer

Concept and POC for a container based Distributed Task Queue to manage workflows. The Distributed Task Queue was implemented in Python using Celery. Services provided via Docker containers. RabbitMQ used as AMQP provider for Celery and ElasticSearch for event logging.

Docker Python Celery RabbitMQ ElasticSearch Private Cloud

High Performance Time Series Database for IPv4/v6 Blacklistings
Year: 2015, Duration: 3 month, Customer: Startup from Karlsruhe, Role: Architect & Software Engineer

API driven database to historical store billions of IP blacklistings across several blacklist providers through a multi dimensional key design for highly effective range queries to provide an aggregated blacklist service for network operators.

Requirements
  • Store billions of entries
  • Filterable by IP, CIDR, time, time range and blacklist provider
  • Result response in under 50 msec.
PyPy SophiaDB

Network Attack Analysis & Reporting Tool
Year: 2015, Duration: 4 month, Customer: Startup from Karlsruhe, Role: Architect & DevOps Engineer

Tool for statistical analysis based on network related attacks with data coming from Spam trap and Honeypot networks.

Requirements
  • Store at least 1 year of data with a daily amount of 400 million new entries
  • Near real-time data intake
  • Filterable by Date, Src. IP, Dst. IP, Src. Port, Dst. Port, Service, Protocol, Country Code, Payload, Attack Type
  • Visualize in a customizable dashboard
Python Redis JavaScript ElasticSearch Kibana

High Performance & Self-contained Network Service Honyepot
Year: 2015

Honeypot to record network based attacks on well known services like databases, remote shells, HTTP servers etc. reported near real-time to a centralized data sink.

Requirements
  • Low memory footprint
  • Easy deployment
  • Security measure to avoid leak of honeypot node
  • Emulate TCP/UDP services
  • Automatic updates and control features
  • Secure and near real-time event data transport
Python gevent

Network Abuse Handling Tool
Year: 2012-2015

See: SaaS product abusehq.

Python Redis ElasticSearch OpenLDAP JavaScript Backbone.js Marionette.js Bootstrap

Pipeline oriented event processing framework
Year: 2012

Framework to build pipeline oriented work flows for data event processing through isolated pluggable components.

Python Redis

Search Engine Monitoring System
Year: 2011

Position monitoring of URLs in search engine result pages for given keywords acquired by keyword analysis of competitors and search engine suggestions. Tool was used to measure SEO activities.

Python Pyramid MySQL

Online Game Transaction Tracking System
Year: 2011

System to track and identify bot activities by gold farmers by tracking ingame transaction events.

Python CEP

Server Infrastructure & Role Management Tool
Year: 2009-2010

System to manage thousands of server instances and the application level role of the server to provision and deploy services.

Perl MySQL

User Account Load Balancing System
Year: 2009

System for web games to evenly distribute new users across instances.

Perl

SSH Key Deployment & Privilege Management Tool
Year: 2008

System to manage SSH keys, access to servers and SSH key deployment.

MySQL Perl

Blog

tools

Save credentials for Git HTTP/HTTPS auth with credential.helper

Recently I was annoyed by typing in my credentials for Git HTTP/HTTPS auth all the time. On my search for a solution I found the credential.helper. With the git-credential-cache Git will cache your credentials for...

format_align_left Read Article
python

ciso8601 vs mxDateTime vs udatetime

In my last performance comparison I compared libraries with non performance goals with datetime and udatetime, to illustrate the impact of your library choice. Arrow, Pendulum and Delorean are awesome choices when it comes to...

format_align_left Read Article
python

datetime vs Arrow vs Pendulum vs Delorean vs udatetime

The big alternatives to Python datetime all share similar goals. These goals are ease of use, simplicity and intelligent/user friendly API design. Awesome goals and I love those libraries for investing a lot of effort...

format_align_left Read Article
python

udatetime now with ultra fast PyPy support

I just finished the performance optimized pure Python implementation of my RFC3339 date-time library udatetime for PyPy and Python 3.5. The benchmark say PyPy is now officially the fastest with udatetime. Again it’s astonishing how...

format_align_left Read Article
python

udatetime a fast RFC3339 compliant date-time Python library

Working with date-time formats can be pretty upsetting because of the variate of different formats people can come up with. date-times are used everywhere not just only logging or meta data in database entries and...

format_align_left Read Article
ubuntu

Fix Ubuntu 16.04, external monitor flickering and turning off on Intel i915.

If you experience constant screen flickering and your external monitor turning off every other 3-5 seconds on a Intel i915, here is how I fixed the issue. Update kernel First get and install the current...

format_align_left Read Article
python

Datetime hell. Timezone aware to UNIX timestamp.

Rating +1 for datetime in the category crapiest module in the Python 2.x Standard Library. The fact that datetimes in Python are time zone unaware by default, even if you parse a datetime from a...

format_align_left Read Article
python

Python Lessons - Part 2

What we will cover in this part More detail on data types For Loop Statement Exercise: More features for the Website monitoring tool Solution to exercise in part 1 Before we get started, here is...

format_align_left Read Article
python

Python Lessons - Intro & Part 1

Intro A friend of mine, who is studying Computer Science, asked me to help him learning a Programming Language. Students with no background in programming often learn Java as first language, which I find very...

format_align_left Read Article
python

Accessing Docstring of decorated functions

Accessing a Docstring in Python is pretty simple. Just get __doc__ on any Python object and it will return the Docstring of the object. class Foo(object): '''Test Docstring''' >>> a = Foo() >>> a.__doc__ 'Test...

format_align_left Read Article