Micro Services API

with Lumen

François Cholette

Title
Web developer
Twitter
Github

What are microservices?

Developing a single application as a suite of small services, each running its own process

- James Lewis and Martin Fowler

They are built around business capabilities and independently deployable

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Governance
  • Infrastructure Automation
  • Design for failure

Component via services

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure

Organized around business capabilities

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure

Smart endpoints and dumb pipes

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure

Decentralized Data Management

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure

Infrastructure Automation

Characteristics of Microservices

  • Component via services
  • Organized around business capabilities
  • Smart endpoints and dumb pipes
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure

Design for failure

How big?

1 Responsibility?

Small enough to fit in my head

2 Pizza team?

When should I use them

Monolith

Simplicity

Microservice

Partial deployment

Consistency

Inter-module refactoring

Availability

Preserve Modularity

Multiple Platforms

Benefits

Strong module boundaries

Costs

Distribution

Independent deployment

Technology Diversity

Eventual consistency

Operational complexity

Before heading toward Microservices

  • Rapid Provisioning
  • Rapid Application Deployment
  • Basic of monitoring

So why Lumen?

Lumen is the perfect solution for building Laravel based micro-services and blazing fast APIs. In fact, it's one of the fastest micro-frameworks available. It has never been easier to write stunningly fast services to support your Laravel applications.

Benchmark

4 times faster than Laravel 5!

What's the catch ?

Demo

E-commerce

  • Products
  • Orders
  • Users

François Cholette

Title
Web developer
Twitter
Github
Made with Slides.com