Friedrich "Fred" Clausen
Contact Details
- Traditional
- Online Identities
- Github (https://github.com/ftclausen)
- LinkedIn (http://www.linkedin.com/in/friedrichclausen)
- ServerFault (http://serverfault.com/users/127243/fred-clausen)
- SuperUser (http://superuser.com/users/164635/fred-clausen)
- StackOverflow (http://stackoverflow.com/users/1300307/fred-clausen)
What I Can Offer
I am an infrastructure automation developer and I particularly
enjoy working at the intersection of development and operations;
helping each team understand the needs of the other and,
at a technical level, creating the tools and processes to make
the various components of a given service, or interoperating services,
work smoothly. I am also keen to contribute to the core products in
order to further advance scalability and manageability.
Proficiency Summary
My proficiencies cover the following areas
- Development Support - Contributing to build engineering tasks such as
build system code, version control and Continuous Integration (CI)
systems management.
- Infrastructure Code and Orchestration - A combination of configuration management and tool
development in various scripting languages to support
automated infrastructure and application management. This includes using
container orchestration tools like Kubernetes (K8s) and Mesos/Marathon.
- Application Administration - Supporting, primarily Java, web applications with regard to
provisioning, performance tuning and troubleshooting.
- Systems Administration and Networking - Managing, in as automated a way as possible, Linux
and Unix systems with regard to installation, ongoing maintenance and troubleshooting. Network
management experience has given me good grasp of networking configuration and how the servers
I manage fit into the larger network.
Spoken languages
- English - Native speaker
- Dutch - Fluent speaker
Proficiency Details
Infrastructure Code
Code
- Scripting - I have used the languages below for areas such as configuration management,
general automation and monitoring.
- Groovy - Used in the context of Gradle
- Java - I have written small Java services for "glue" integration services
and also modest product contributions to support better build
integration.
- Testing - Unit tests JUnit in the context of Groovy and Java
Containers and Container Orchestration
- Containers - Create, update and run Docker containers mostly in the
context of continuous integration and deployment. Create and maintain
tooling to streamline and automate container creation tailored to
support development workflows.
- Orchestration - Define deployment specs for Kubernetes and Mesos/Marathon
to support both building, testing and deploying applications.
- CI/CD - Integrate container creation and deployment with Jenkins to fully
automate building, testing and deployment when code is committed to
revision control.
Configuration Management - I am using configuration management to affect fully
automatic and consistent environments. This
allows me to manage systems and applications at
scale.
- General - Working with other departments on a common code base - deciding
conventions and areas of responsibility. Writing documentation
and providing internal training for colleagues.
- Chef - Create/manage cookbooks, create data bags, custom Ohai plugins,
environment management, converting legacy scripts into
Cookbooks, Chef server and client management, node bootstrap.
- Puppet - Create/manage modules, create and use Facter facts, Puppet server
and node services, node bootstrap.
Version Control Systems
- Git - Configuration management repositories, in-house code
repositories.
- Subversion - Checkout and build legacy code bases.
Testing
- Configuration management
- Unit Testing - Chefspec and Rspec
- Integration Testing - Test Kitchen with Serverspec
Development Support
- Using Maven to build projects and manage dependencies.
- Using Hudson for continuous deployment.
Application Administration
Systems Administration and Networking
- Unix-like Systems
- Linux - Red Hat, Debian, Ubuntu
- Solaris
- BSD - OpenBSD, FreeBSD
- OS X
- Security
- VPN - OpenVPN, Linux IPsec (Kame + Racoon)
- Firewalls - IPtables and OpenBSD packet filter
- Implement security best practices
- Network audits with Nmap.
- OpenSSL - Create and inspect certificates
- Linux PAM
- Networking
- OSI Model understanding
- TCP/IP theories and configuration
- Basic Cisco IOS usage
- Knowledge of switching concepts (VLANs and spanning tree)
- General understand of routing protocols.
- Virtualisation
- Xen - Red Hat and Citrix
- VMware
- VirtualBox
- High-availability
- LVS (Linux Virtual Server) Loadbalancer
- Heartbeat
- Systems Provisioning
- Red Hat kickstart
- Debian FAI
- File Serving
- Storage
- RAID Concepts and configuration on common controllers
- Linux software raid
- Linux Logical Volume Manager (LVM)
- Disk encryption with LUKS
- Commonly Run Services
- DNS - ISC Bind
- OpenSSH
- DHCP - ISC dhcpd
Working Styles
- Embedded in development teams; taking part in Scrum.
- DevOps style co-operation between Operations and Development.
Experience
Blackboard International
Build and Release Engineer - October 2015 to Present
Location: Sydney, Australia
In this role I'm working to
- Extend our existing Gradle build system
- Ensure reproducible builds
- Support the Jenkins pipeline
- Create releases
As well as tasks related supporting the automation surrounding the release
process (primarily Chef) and provisioning to AWS.
Infrastructure Automation Developer - October 2014 to Present
Location: Sydney, Australia
In my role as an Automation Developer I am responsible for writing
infrastructure (and supporting) code to allow Blackboard to fully
automatically deploy our product offerings on both public cloud providers
such as AWS as well as private cloud environments running on Openstack.
This role also encompassed build engineering tasks such as implementing
Gradle build system code (build file DSL and Gradle plugins) as well as
modifying the main product (Java) to support semantic versioning.
Web Applications Administrator - July 2011 to October 2014
Location: Amsterdam, The Netherlands
As a Web Applications Administrator in the Web Tech team my
responsibilities include ensuring the stability and performance
of the Blackboard Managed Hosting applications; this involves
tasks such as tuning and root cause analysis.
My other responsibilities revolve around improvement initiatives
primarily focussed on improving the level of automation within the
managed hosting departments.
Marktplaats/eBay
Systems/Applications Administrator (Freelance) - March 2010 to May 2011
Location: Amsterdam, The Netherlands
Together with the rest of the site operations team I was responsible for
ensuring the availability and performance of the Marktplaats, an eBay subsidiary,
web applications. Additionally I worked embedded within a development team to
provide operations support for the development efforts. Such as managing the test
infrastructure, setting up monitoring, interfacing with the operations/networking
departments and production deployments.
IPSoft
Systems Administrator - April 2009 to March 2010
Location: Amsterdam, The Netherlands
My responsibilities at IPSoft were to provide systems administration services
to the client base, both on-site and remotely, while actively working to refine
existing processes and knowledge with regards to the management of client systems
TomTom
Systems Administrator (Freelance) - February 2008 to April 2009
Location: Amsterdam, The Netherlands
At TomTom I was the infrastructural lead on projects, which entailed
working with both the development and operational teams, to ensure
a smooth transitioning from a project in development to a production service.
Telfort (formerly Tiscali) Internet
Systems Administrator (Initially freelance then permanent) - March 2005 to December 2007
Location: Utrecht, The Netherlands
Here I was part of the team managing the core ISP infrastructure and
also taking on improvement initiatives to further the level of automation
and systems consistency.
New Zealand Holiday - August 2004 to March 2005
Extended backpacking trip to New Zealand.
Xinit Systems
Professional Services Engineer - July 2003 to August 2004
Location: London, UK
My responsibilities were providing professional Linux support
services to customers and also managing the Xinit internal
infrastructure.
Unique Broadcasting Company
System Administrator - November 2001 to June 2003
Location: London, UK
I supported the backend servers powering their digital radio
support services. I also worked with the development team to
manage their testing infrastructure and ensure smooth production
deployments.
Frontwire Ltd.
Systems Administrator - January 2001 to July 2001
Location: London, UK
At Frontwire I was the backend systems administrator and
also supported the employee workstations.
Red Hat Europe
Linux Technical Support - June 2000 to November 2000
Location: Guildford, UK
I provided first line technical support for Red Hat Linux
which entailed helping customers install and use the product.
Download as plain text.