16+ year professional software design and development experience in different industries using various programming languages and technologies.
In the last 3 years specialized in software delivery process automation, DevOps, performance-oriented software architectures.
Passionate about defining good development practices, documenting and presenting architecture, reuse of code and design patterns, profiling and analysis of application performance and also automation of development process for build, code review and test phases.
Patterns for infrastructure-as-code
One of the ways to describe software architecture is to express its configuration in executable and therefore repeatable form – infrastructure as code. Tools that are often used for this purpose (for example, Puppet, Ansible, Chef) are not utilized to their full potential. Provided abstractions, extension points, existing modules are ignored by turning provisioning software into just a fancy file copying utility. Software configuration has a variety of frequently appearing patterns and ready-made abstractions to better communicate the intent of the architecture described in the form of infrastructure as code. The intent of this presentation is to provide summary of such patterns.