how we build a startup with drupal

34
How we build a startup with Drupal Pavel Prischepa

Upload: pavel-prischepa

Post on 06-Apr-2017

363 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: How we build a startup with Drupal

How we build a startup with Drupal

Pavel Prischepa

Page 2: How we build a startup with Drupal

Pavel Prischepa

6 years in Drupal

Developer > Team Lead > CTO

CTO & Co-founder at Wodby

[email protected]

Page 3: How we build a startup with Drupal

What is Wodby?

Wodby

Your server

Your code

Page 4: How we build a startup with Drupal

Application page

Page 5: How we build a startup with Drupal

Design architecture

Page 6: How we build a startup with Drupal

Based on Drupal

+ High speed of prototyping, development (relatively

to our team)

- Not enough speed in Full bootstrap

- A lot of Database queries

- No native “non-blocking I/O” integration

Page 7: How we build a startup with Drupal

Architecture

API(Drupal module Endpoint)

Back-end (Drupal)

wodby.com(User register, login,

password reset)

Dashboard(AngularJS)

Page 8: How we build a startup with Drupal

Architecture

API(Drupal module Endpoint)

Back-end (Drupal)

Dashboard(AngularJS)

Comet(Drupal module NodeJS)

wodby.com(User register, login,

password reset)

Page 9: How we build a startup with Drupal

Architecture

API(Drupal module Endpoint)

Dashboard(AngularJS)

Back-end (Drupal)

Comet(Drupal module NodeJS)

Microservices(Drupal module Microservices)

wodby.com(User register, login,

password reset)

Page 10: How we build a startup with Drupal

MicroservicesThe heart of Wodby backend

Page 11: How we build a startup with Drupal

Microservices

...API App CronBackup

MySQL Redis

Page 12: How we build a startup with Drupal

Microservices

...API App CronBackup

MySQL Redis

Actions, Results, Events

Page 13: How we build a startup with Drupal

Microservices pros and cons

+ Strong Module Boundaries

+ Independent Deployment

+ Technology Diversity

- Distribution

- Eventual Consistency

- Operational Complexity

● Keep Database query simple

● Use Redis

● Cache by tags

● Slack is “all you need” (monitoring, notifications, logs, ….)

● Integrate continuously, if you can...

Page 14: How we build a startup with Drupal

Microservices in action

Page 15: How we build a startup with Drupal
Page 16: How we build a startup with Drupal

Clear App cache

API

App Gate

Page 17: How we build a startup with Drupal

API

App

Gate

call app.cache_clear()

Page 18: How we build a startup with Drupal

API AppGate

call gate.exec(“drush cc all”)

Page 19: How we build a startup with Drupal

API App GateWebSocket

Client server

Page 20: How we build a startup with Drupal

API App GateWebSocket

Client server

Page 21: How we build a startup with Drupal

Gate

Wodby Agent

Client server

WebSocket

Docker containers

Page 22: How we build a startup with Drupal

Gate

Wodby Agent

Client server

WebSocket

Nginx

Docker containers

Page 23: How we build a startup with Drupal
Page 24: How we build a startup with Drupal

Task is a bunch of actions

Page 25: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Page 26: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Task

Step 1

Step 2

Failed

Page 27: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Task

Step 1

Step 2

Task

Step 1

Step 2

DoneFailed

Page 28: How we build a startup with Drupal

More complex task

Page 29: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Page 30: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Step 1.1

Step 1.2

Done

Page 31: How we build a startup with Drupal

Task

Step 1

Step 2

Done

Step 1.1

Step 1.2

Step 1.1.1

Done

Step 1.1.2

Step 1.1.3

Done

Step 1.1.4

Page 32: How we build a startup with Drupal

Hints

● Use reliable and flexible tools

● Keep Database query simple

● Use Redis

● Cache by tags

● Slack is “all you need” (monitoring, notifications, logs, ….)

● Integrate continuously, if you can...

Page 33: How we build a startup with Drupal

Links

Articles:

● Microservices Resource Guide by Martin Fowler

Drupal modules:

● Microservices framework

● Endpoint - really fast API framework

Page 34: How we build a startup with Drupal

Pavel Prischepa

Золотой спонсор:

It’s time to build startupswith Drupal!

При поддержке: Серебряный спонсор:

[email protected]@pavel_prischepa