Sam Newman – Principles Of Microservices – 8 Apr


“Microservices are small services with independent lifecycles that work together”. There is an underlying tension in that definition: how independent can you be when you have to be part of a whole? Sam Newman has spent much of the last couple of years trying to understand how to find the right balance, and in this talk/tutorial he will be presenting the core seven principles that represent what makes microservices tick.

After a brief introduction of what microservices are and why they are important, Sam will look at the principles themselves:

  • Modelled Around Business Domain – using techniques from Domain-Driven Design to find service boundaries lead to better team alignment and more stable service boundaries, avoiding expensive cross-service changes.
  • Culture Of Automation – all organisations that use microservices at scale have strong cultures of automation. We’ll look at some of their stories and think about what sort of automation is key.
  • Hide Implementation Details – how to you hide the detail inside each service to avoid coupling, and ensure each service retains it’s autonomous nature?
  • Decentralize All The Things! – we have to push power down as far as we can, and this goes for both the system and organisational architecture. So we’ll look at everything from autonomous self-contained teams and internal open source to using choreographed systems to handle long-lived business transactions.
  • Deploy Independently – this is all about being able to deploy safely. We’ll cover everything from deployment models to consumer-driven contracts and the importance of separating deployment from release.
  • Isolate Failure – just making a system distributed doesn’t make it more stable than a monolithic application. So what do you need to look for?
  • Highly Observable – We need to understand the health of a single service, but also the whole ecosystem. How?

At the end of this YOW! Night beginners will get a sense of what microservices are and what makes them different, whereas more experienced practitioners will get an insight into practical advice on how to implement them.



Sam Newman is a technologist at ThoughtWorks, where he currently splits his time between working with clients and helping design and build ThoughtWorks’ own internal systems. He has worked with a variety of companies in multiple domains, often with one foot in the developer world, and another in the IT operations space. If you asked him what he does, he’d say ‘I work with people to build better software systems’. He has written articles, presented at conferences, and sporadically commits to open source projects. His book “Building Microservices” is available now.


5:30pm   Welcome networking with refreshments

6:00pm   Presentation followed by Q&A



Happly Supported By YOW! Community Sponsor

2 Years of Real World FP at REA – Ken Scambler – 13, 15, 16 Apr


Functional Programming has dramatically risen to mainstream prominence in the last decade, on the back of multi-core processors and growing developer disillusionment with the dominant OO paradigm. Frustrated with Java’s limitations, REA’s Residential team moved to Scala in 2013, to take better advantage of the benefits afforded by FP.

After almost two years and 13 apps in production, Ken presents the lessons learnt so far, and how REA is navigating the challenges of introducing a new technology.  He also covers how they have managed an often-steep learning curve for multiple local and off-shore teams while reaping genuine technical benefits at the same time.

Download Slides



Ken Scambler is an experienced developer with a long interest in Functional Programming. As a Senior Developer at REA Group, he mostly works on Scala microservices, mentors new Scala programmers and fosters the contagion of FP. He is known for rote-learning the curiosities of legacy systems, and writing lengthy, therapeutic blog rants about them. He can be easily trolled by using the word “isomorphic” incorrectly.




This YOW! Night was proudly supported by Aconex, SuncorpOptiver and our Community Sponsor ThoughtWorks.

Aconex     Suncorp     ThoughtWorks     


Thank you to our supporting user groups Melbourne ScalaMelbourne Java & JVMBrisbane Functional Programming Group and ScalaSyd.

Melbourne Scala