Functional Operations - Susan Potter

Technical operations is plagued with an unhealthy infatuation of typically untested, imperative code with a high reliance on shared mutable state using dynamically typed languages such as Ruby, Python, Bash, and - ugh - remember Perl? :) In an age where building reliable infrastructure to elastically scale applications and services are paramount to business success, we need to start rethinking the infrastructure engineer’s toolkit and guiding principles. This talk will take a look at applying various functional techniques to building and automating infrastructure. From functional package management and congruent configuration to declarative cloud provisioning we’ll see just how practical these techniques typically used in functional programming for applications can be used to help build more robust and predictable infrastructures. While specific code examples will be given, the emphasis of the talk will be on guiding principles and functional design.

5.
Reliability
“Those who want really reliable software will discover
that they must ﬁnd means of avoiding the majority of
bugs to start with, and as a result the programming
process will become cheaper. If you want more eﬀective
programmers, you will discover that they should not
waste their time debugging, they should not introduce
the bugs to start with.”[?]

15.
Reason
The required techniques of eﬀective reasoning are pretty
formal, but as long as programming is done by people
that don’t master them, the software crisis will remain
with us and will be considered an incurable disease. [?]