The concurrency-oriented language Erlang is increasingly being used to implement systems running on large distributed clusters. How will we ensure scalability when applications are running on 10,000 cores or more? How will we make our applications reliable? How will we know what they're actually doing? The RELEASE project is investigating these challenges, and I'll describe some of the Erlang extensions and tools which we've developed to tackle them.