Desde 0 hasta X usuarios con Open Source
Yohan Graterol
Technical Team Lead en Platzi
Colaborador de proyectos Open Source
Jugador de Heroes of the Storms
Contacto: y@platzi.com
Twitter: @yograterol
Agenda
Start up the company
Why open source software?
Growing the Platzi's Stack
Current Status
The future
Start up the company
0 USERS
Django, NodeJS, Dedicated Servers and "Simple" Frontend
5K USERS
First Server Stack
10K USERS
Ubuntu Linux
Nginx 0.9
NodeJS 0.10
MySQL 5.6
Django 1.4
Mongo 1.x
Redis 2.x
Memcached
Why open source software?
The simple answer
The real answer
Money
Stability*
Documentation
Easy to grow
We love open source sofware
Growing the Platzi's Stack
150K USERS
Django 1.4 -> Django 1.5 ->
Django 1.8 LTS
Nginx 0.9 -> Nginx 1.4 ->
Nginx 1.9.12
NodeJS 0.10 -> IOjs ->
NodeJS 4.x LTS
Golang 1.7
Ubuntu Linux ->
CentOS 7 & AWS Linux
No container system ->
Docker
No CI system ->
Jenkins
No production environment ->
Kubernetes
Backbone ->
ReactJS
Memcached -> No Memcached
Current Status
310K USERS
We have more of 15 microservices
Django is our main backend framework
Golang and NodeJS serve real time
React is our Javascript main library for UI
Docker and Kubernetes PROD env
CentOS 7 is our main Linux Distro
MySQL, MongoDB, Redis and PostgreSQL
Django
Maturity Level (SInce 2005)
Flexibility
MVT oriented (Model - View - Template)
Amazing ORM
Pluggable system
Golang and NodeJS
NodeJS is a good JS "framework"
Real time is easy with Node
SocketIO is an easier library for WS
But, It's not enough
Golang is compiled language
FASTER than NodeJS
Has native integration with websocket
Consume LESS resource than Node
ReactJS
It's too simple
Don't manage the data flow like a framework
Has a great community
Speed, but it's not a killer feature
Server rendering
Components
Docker
Easy way to develop in any OS
Isolated with the host system
Easy to distribute
Dev - Stage - Prod is easier
Kubernetes
Do easy the docker use in Prod
Integrate different patterns and technologies
Easy deploy
Works with AWS, Azure and Google Cloud
Works with Docker and rkt
Has its vault system for sensitive data
THE FUTURE
1M USERS
A lot of microservices > 50
Django in new LTS version
All real time system in Golang
All running in containers with Kubernates
PostgreSQL as unique RDBS.
Maybe... Maybe... Remove MongoDB.
The majority of templates made with React
Faster server render
New open source projects for YOU
WE ARE HIRING
Backend -> Python/Django
Mobile -> Android Developer
Frontend -> ReactJS/Javascript
Q&A
Pregunten lo que quieran
Made with Slides.com