Joshua Dean Küpper
Recent Tech Decisions
273 points


  • Docker

    #<User:0x00007f6e45a35c90> JustChunks

    Docker is used as a key part of our new type of infrastructure that relies exclusively on containers. We prefer docker since it offers us all we need in a very stable and battle-proven manner.

  • Firebase

    #<User:0x00007f6e45a02d18> JustChunks

    Firebase is included within our Android- and iOS-App so that we can react and monitor our mobile Applications in a flexible and dynamic fashion. This way we can react on occuring errors fast and reliable.

  • Sass

    #<User:0x00007f6e45934c88> JustChunks

    Sass is used as a part of Woltlab Suite Core, which offers to submit/configure own styles via the injection of own Sass-CSS. So we exclusively rely on Sass for our CSS needs.

  • Debian

    #<User:0x00007f6e455c1df8> JustChunks

    Debian is our primary distribution for our game-servers for the time being. We plan to shift our infrastructure towards Docker-Containers/CoreOS though.

  • Sentry

    #<User:0x00007f6e4574f710> JustChunks

    We use Sentry to gather our thrown non-checked exceptions in one place, so we don't have to crawl through all our logs manually. All standalone-applications, our website aswell as our game-servers are linked into sentry.

  • Apache Maven

    #<User:0x00007f6e454595b0> JustChunks

    All Java-Projects are compiled using Maven. We prefer it over Ant and Gradle as it combines lightweightness with feature-richness and offers basically all we can imagine from a software project-management tool and more.

  • Git

    #<User:0x00007f6e4530f448> JustChunks

    Git has rendered itself to be an integral part of all development at JustChunks. We heavily rely on Git as our version-control-system of choice and use branches, tags and decentralized-development to achieve our software-management-goals.

  • MySQL

    #<User:0x00007f6e45206da8> JustChunks

    We formerly used MySQL instead of MariaDB but shifted exclusively to the latter. MySQL is a part of our Stack anyways, as we still use the MySQL-Syntax/Architecture.

  • HTML5

    #<User:0x00007f6e45150418> JustChunks

    We exclusively use HTML5 instead of XHTML (or even older) HTML-versions. We like the new unity that HTML5 offers and try to keep our code according to the conventions.

  • DigitalOcean

    #<User:0x00007f6e450f4fa0> JustChunks

    DigitalOcean offers us everything we need to test out specific scenarios or we expect from small-servers like our monitoring-system. We also use digital-ocean in long-term and are very satisfied with their performance and scalability.

  • Stripe

    #<User:0x00007f6e4506e6d0> JustChunks

    Stripe is used as one of our payment-gateways included in our shop-solution. We only use the credit-card features of it and don't accept any bitcoins (yet).

  • GitLab

    #<User:0x00007f6e44f87140> JustChunks

    Gitlab offers us a self-hosted replacement for Github and even more than we were expecting from it. All of our code is hosted in our private GitLab-instance, that also hosts our artifacts and is used to deploy them into production.

  • Android SDK

    #<User:0x00007f6e44eba5f0> JustChunks

    The Android SDK is the key-component of all Android-based development and had to be included in this stack for sure. We work with the SDK through IntelliJ IDEA and the command-line.

  • Ubuntu

    #<User:0x00007f6e4dc51788> JustChunks

    We use Ubuntu for our more bleeding-edge servers like the web-server that heavily rely on modern ciphers and negotiation protocols like ALPN, aswell as for things that are included within ubuntus package-sources, but not within debians.

  • Redis

    #<User:0x00007f6e4db4d7d8> JustChunks

    We make extensive use of Redis for our caches and use it as a way to save "semi-permanent" stuff like user-submit settings (that get refreshed on each login) or cooldowns that expire very fast.

  • MariaDB

    #<User:0x00007f6e44db4020> JustChunks

    Aside from Redis, we use MariaDB to store long-term information like user-data and big-data like regeneration-information for our open-world servers. We extensively use the relational aspects of MariaDB in joins, nested queries and unions.

  • Stack Overflow

    #<User:0x00007f6e44944eb8> JustChunks

    Stack overflow HAD to be included in this list. We can't count the endless hours stack overflow and its huge community has already saved us and will potentially save us in the future. Stack Overflow is the proof that nearly every problem one may experience, another one has already solved.

  • PayPal

    #<User:0x00007f6e448c5410> JustChunks

    PayPal is used as one of our payment-gateways included in our shop-solution. We only use PayPal for direct debits/charges from bank-accounts as we got Stripe for credit-card transactions.

  • JavaScript

    #<User:0x00007f6e443525c8> JustChunks

    We use JavaScript to create eye-pleasing animations and dynamic content on our website and to create web-sockets and interactive sockets to enable live-features to create a unique way of interacting with our website.

  • PHP

    #<User:0x00007f6e443865d0> JustChunks

    As we use the Woltlab Suite Core, we are bound to PHP and use it with the PHP-FPM, version 7.1. We also use it for some WSC-embedded cron-scheduling and internal web-interfaces.


    #<User:0x00007f6e4bda1270> JustChunks

    With nginx we deploy all web content and use it as a reverse-proxy for unified ssl and encryption aswell as a burst-control and traffic filter for all web-traffic.

  • IntelliJ IDEA

    #<User:0x00007f6e4b9a4960> JustChunks

    IntelliJ IDEA is our polyglot IDE of choice. We use it esentially for all programming and coding aswell as some basic database management and planning. IntelliJ IDEA has proven to be a reliable companion in developing our various software.

  • Grafana

    #<User:0x00007f6e4b97ce60> JustChunks

    Grafana is used in combination with Prometheus to display the gathered stats and to monitor our physical servers aswell as their virtual applications. We also use Grafana to get notifications about irregularities.

  • Prometheus

    #<User:0x00007f6e4b7f2838> JustChunks

    We primarily use Prometheus to gather metrics and statistics to display them in Grafana. Aside from that we poll Prometheus for our orchestration-solution "JCOverseer" to determine, which host is least occupied at the moment.

  • Docker Compose

    #<User:0x00007f6e4b612fb8> JustChunks

    Aside from our Minecraft-infrastructure, we compose it with ... Docker Compose! (kinda obious, eh .. ?) This includes for example the web-services, aswell as the monitoring and mail-infrastructure.

  • Node.js

    #<User:0x00007f6e4b374c20> JustChunks

    Node.js is used for interactive parts of our homepage, cronjobs and building (gulp). The great performance and asynchronity makes a trustworthy companion in developing live web-parts (

  • Ansible

    #<User:0x00007f6e4a6a56c0> JustChunks

    We use Ansible to synchronize the few configuration-options we've taken on our CoreOS-Machines. This makes deployment even easier and the fact that it's Agentless made the decision even easier.

  • jQuery

    #<User:0x00007f6e4a44d918> JustChunks

    jQuery is only used in small amounts, primarily for animations and UIs, but it is included in the WSC, so we felt like not including it here would be kind of cheating. jQuery also almost makes ajax-requests a pleasure to work with, so ... you got that point, jQuery.

  • gulp

    #<User:0x00007f6e4e728968> JustChunks

    gulp is used to package our plugins for the WSC (Woltlab Suite Core) in a fast, convenient and code-driven way. We enjoy the comfort it offers with stuff like the gzip-plugin or tar-packing.

  • Let's Encrypt

    #<User:0x00007f6e4e52f670> JustChunks

    The first certs we got issued were EV SSL certificates from Comodo, but we later decided that we do not want to support the whole CA-thing anymore as they constantly get abused and take tremendous amounts of cash in exchange, so we work with Let's Encrypt since over a year.

  • Discord

    #<User:0x00007f6e4e2217a8> JustChunks

    We first used slack and switched to Discord later to stay near at where the community is at, while still be able to have private conversations and stay in contact. Discord offered everything we needed and used from Slack previously, plus the community-part, so it was an easy decision.

  • Python

    #<User:0x00007f6e4e148b38> JustChunks

    Python is used as the language for our internal Quest-API for the RPG-Server, but also used for out bot-testing-script to benchmark our Minecraft-servers against heavy workload.

  • CoreOS

    #<User:0x00007f6e4e1ba378> JustChunks

    As the basis of our new infrastructure, we use CoreOS as a reliable solution for our docker-server-instances. We plan to deploy all our servers as individual docker containers to make use of the extensive possibilties offered in terms of isolation, resource-managemant (cgroups) and scalability.

  • Java

    #<User:0x00007f6e4e041500> JustChunks

    Shouldn't surprise anyone, as minecraft is also java-based. Java is used for much more than just the plugins though. JCVortex (our API) is also served with vert.x (Java) and many of our team-internal tools also originated from java or are still java-applications.