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
deck
By Yohan Graterol
deck
- 920