Who I Am » I speak English, Danish, and PHP » Have done so for most of my life » Self-proclaimed Laravel evangelist » Started Capital Laravel Group in 2013
Teamwork, simplified » Can use any programming language or data store under the hood » A small team can own the entire process from dev to deployments » Great for onboarding
Testing, simplified » Unit test » Internal functionality » Integration test » External interface » Load test » Ability to test each service individually
A microframework » But not necessarily in the traditional sense » Based on Laravel components » Follows Laravel versioning » Laravel Lumen 5.1 ➡ Laravel 5.1
Opt-in » Core features has to be explictly enabled: » dotenv, facades, Eloquent ORM, etc. » Service Providers » Middlewares » CSRF protection, cookie encryption, session handling etc.
What is Lumen not? » Does not support Laravel 5 packages » Very minimal config system out of the box » Uses environment variables » Can use full config system if you want » Router has fewer features
Conclusion » Define your contract first » Design your microservice around a single business capability » Plan ahead » Define testing & deployment strategy » Use Lumen for microservices or other small standalone apps
Additional resources Building Microservices by Sam Newman Martin Fowler's Articles http://martinfowler.com/articles/microservices.html Taylor Otwell's Lumen Laracasts https://laracasts.com/lessons/introducing-lumen