ElixirConf 2017 - The Power of Zero - Andrew Forward
Automation is hard, but the benefits can be phenomenal. This can be especially challenging when working on your Elixir side project, as you want to see results quickly, so maybe a zero-click deploy and continuous delivery are not on your mind.
In this talk, I will help show you that even on a budget, even on a team of one you can streamline your software development to achieve some lofty goals including
- Immutable infrastructure
- Zero Downtime deploys
- Automatic (aka Zero-Click) Builds (Continuous Integration)
- Automatic (aka Zero-Click) Deploys (Continuous Delivery)
We will look at the abstract view required to achieve the above, but will get hands on experience with specific tools to help ground the theory in practice.
At the end of talk, you should be motivated to better automate your project and leverage some of the tools and techniques.
Specific technologies we will touch on include:
- DigitalOcean’s API for building servers (droplets)
- Digital Ocean’s Floating IPs for simple Red/Green
- Erlang’s hot code swapping for zero-downtime deploy
- Distillery for building full / upgrade releases
- Automatic Builds using CircleCI, TravisCI, Jenkins
- Deploy scripts using Bash
Throughout the talk, we will create a “Naming Things” application that will provide developers with a service to help them name their modules, functions and variables; going from zero to deployed, to upgraded; including database migrations!
Think you or your idea is too small to focus on automation? Let me try to convince you it’s not, or at least show a path to help make it possible.