In this session, we will take a look at a trend called Infrastructure as Code (IaC), we are gonna take programming principles and try to apply them to how we organize and create our infrastructure. Finally, we will introduce drupaldocker.org and elaborate on why it's important to share the knowledge about basic principles and best practices, that should be featured by every project utilizing Dockerized environment.
We all love Drupal for its modular architecture, transparent and free codebase and outstanding community. We have reached far beyond the horizon to get off the island by reusing and contributing to most popular packages available via composer to PHP community at large.
During this session, we will look at how similar concepts can apply to our infrastructure.
The time of monolithic, single-instance servers is over with new and shiny container-based virtualization as a major game-changer. The most popular implementation is called Docker.
So let's check together if Dockerized environment can apply to the same set of principles as our project's architecture. Let's check if it can be DRY, KISS, YAGNI or even SOLID...
Yes. Since infrastructure is now the code it should be able to follow the same ground rules the PHP-based project. We will take some examples from the list of Dockerfile and docker-compose.yml files provided by the community on http://drupaldocker.org and show not only why and how we can make our infrastructure compliant with basic Docker rules, but also how these rules are directly related to programming principles every developer should follow.