SPA Conference session: We can mirror it for you wholesale

One-line description:How can you take useful bits of the net to a Napoleonic sea fort without Internet access or phone service? What does this teach us about building Internet-enabled systems? Find out in this session!
 
Session format: Case study/experienced rant [read about the different session types]
 
Abstract:How do you build world-class, highly scalable web applications without access to the Internet? How can you take the useful pieces of the Internet with you to a Napoleonic sea fort – and why would you even want to?!

After spending a year building a suite of open-source tools to clone large chunks of the Internet, I realised there are far wider applications for this than "I want to live in a fort without Internet access", and that decoupling can be a good thing for you, your team, your infrastructure, and your software.

I'll talk about why you might want to create mirrors of parts of the Internet (or allow people to mirror your stuff), and what you can or even should mirror. We'll also see why you might want to mirror things even when you're in a well-connected environment, and how thinking with disconnection in mind can make your systems and products more robust, fault-tolerant, and scalable.

There'll also be a whistle-stop tour of tools and techniques with which you can mirror everything from single files through software repositories (like APT, CPAN, RubyGems.org, and co.) all the way to all of Wikipedia. We'll also look at automating creating and updating all of it with Chef.

Finally, we'll look at what you can do to make your systems as easy to mirror as possible.

Along the way, we'll also see how people (npmjs.org, pear.php.net, and maven.org, among others) make things unreliable, fragile, untrustworthy, and just plain hard to mirror (and, of course, how to avoid doing that!).
 
Audience background:We'll assume some understanding of networks and the web (but not too much), and will talk a little about automation and tools for Unix-y environments. It's primarily aimed at development, operations, and architecture types, but might also interest managers, product owners, and others.
 
Benefits of participating:Attendees will learn techniques for building more robust, resilient resources and systems. We'll also talk about how you can harden your infrastructure and decouple it from fragile dependencies. There will probably also be some pictures of forts to look at.
 
Materials provided:This session will mainly be presentation and discussion, so slides will be made available online, as will links to various resources and references online, including the full suite of mirroring tools built over the last year.
 
Process:Presentation with discussion.
 
Detailed timetable:00-05: Background: Why/how did I start mirroring?
05-10: What can you mirror?
10-20: Why would YOU mirror? What benefits does mirroring offer?
20-25: The tools of the trade.
25-35: The good, the bad, and the ugly: what's easy to mirror, what's hard, and what's ugly?
35-50: What mirroring teaches us about building software.
50-: Q&A and discussion.
 
Outputs:Slides will be made available online, as will links to various resources and references.
 
History:This is a new talk for SPA 2014.
 
Presenters
1. Steve Marshall
Independent
2. 3.