container object that groups different versions of a piece of content and enables Box file- system capabilities. A blob of customer-owned data identified by a uniq_name. What is a file?
Eric Evans’ classic DDD book that started it all (the ‘Blue Book’): Domain Driven Design: Tackling Complexity in the Heart of Software • Vaughn Vernon has a book a bit more on the practical side (the ‘Red Book’): Implementing Domain Driven Design • If you want something a bit shorter Vaughn Vernon also has a shortened version: Domain Driven Design Distilled • For another shorter, more reference driven option, Eric Evans also has: Domain Driven Design Reference • A former colleague recommends Scott Millett’s book: Patterns, Priciples, and Practices of Domain Driven Design
Getting Started with Domain Driven Design: http://www.informit.com/articles/article.aspx?p=1944876&seqNum=5 • Strategic Domain Driven Design with Context Mapping: https://www.infoq.com/articles/ddd-contextmapping/ • My blog post, A Brief Intro to Domain Driven Design: https://austinstartups.com/a-brief-intro-to-domain-driven-design-326cf1669bbc • Is Design Dead? https://www.martinfowler.com/articles/designDead.html • How Can Domain-driven design help with large scale agile development? http://www.ben-morris.com/how-can-domain-driven-design-help-with-large- scale-agile-development/
• Thoughtworks has a really great blog post about this topic: https://www.thoughtworks.com/insights/blog/well-factored-approach- securing-roi-your-service-investment-part-2 . Part 1 is here: https://www.thoughtworks.com/insights/blog/well-factored-approach- securing-roi-your-service-investment, but honestly most of the good material is in part 2. • The language in this one is a little bit different, but Mulesoft fundamentally talks about a lot of the same concepts: https://cloud.box.com/s/ggttm7wjsposhrcjxxzdmb3f4uxzp6mg • Another one by Mulesoft. This one doesn't directly talk about the horizontal splitting but does have a great diagram: https://www.linkedin.com/pulse/build- business-capabilities-apis-nial-darbey
(continued…) • This also covers a lot more material, but in their Identifying Services section, IBM also touches on these concepts: https://www.redbooks.ibm.com/redbooks/pdfs/sg248357.pdf • This talks about more general layering principals, but has a lot of rules of thumb that still apply: https://www.linkedin.com/pulse/build-business-capabilities-apis- nial-darbey • Not directly about these concepts, but Jeff Coble's blog post is somewhat related and a good read: https://medium.com/@jeffcoble/from-product-to- platform-5d6857e55afb • My blog post (Microservices: Building things is easy, building the right thing is hard) also touches briefly on this: https://medium.com/box-tech- blog/microservices-building-things-is-easy-building-the-right-thing-is-hard- b88b6e2474c1
& More • Martin Fowler’s updated post on this pattern: https://martinfowler.com/bliki/StranglerFigApplication.html • Some good case studies: https://paulhammant.com/2013/07/14/legacy- application-strangulation-case-studies/ • A blog post where I talk a bit about using feature flags for parity, load and stress testing: https://www.split.io/blog/5-advanced-feature-flag-uses/