scale, Let’s build smaller component that do one kind of thing well, standalone as process, and can talk to outside with it’s open interfaces. this could bring: 1. smaller isolated codebase 2. easier to grasp, understand 3. easier to maintain 4. easier to test 5. more importantly it brings scalability, and high availability