Azure Resource Manager is the future of how your services are deployed within Microsoft's public cloud. Azure Resource Templates are a powerful tool to reliably deploy entire services and essential knowledge for anyone developing Azure solutions today. In this session we'll talk about what templates are and how they are constructed, create and deploy templates, and look at the tools for seeing what's happening (and what's gone wrong).
Given a sufficiently strong type system, you can model your problem domain in such a way that invalid states become unrepresentable. This is one of the corner stones of encapsulation, but requires a lot of effort in mainstream object-oriented languages. In functional languages like F# and Haskell, on the other hand, this is possible using a purely declarative approach to types. Once your types can guarantee that only valid states are representable, Property-Based Testing becomes a breeze.
In this talk, we'll look at using the powerful combination of F# types and properties to address an example problem.