Professional Documents
Culture Documents
al Backend
Nicolas Molina
TITLE
@nicobytes
Colombiano viviendo en
Bolivia.
Senior Software Developer.
+8 de experiencia.
Roles del
Desarrollo Backend
BACKEND DEV
DB ADMIN
SERVER ADMIN
FRONTEND
y BACKEND
TITLE
TITLE
Frontend
Backend
(Client)
(Server)
Client
TITLE
Navegador
(Frontend)
Backend
Móvil (Server)
IOT
TITLE
Navegador
(Frontend)
HTML CSS JS
(icon + text) (icon + text) (icon + text)
Tailwind Angular
Markdown (icon + text)
(icon +text)
(icon +text) React
Bootstrap
(icon + text) (icon + text)
Foundation Vue
(icon + text) (icon + text)
TITLE
Mobile
IOS Android
Cross Platforms
(icon + text) (icon + text)
Swift Kotlin
(icon + text) (icon + text) React Native
Obejct C Java (icon + text)
(icon + text) (icon + text) Ionic
(icon + text)
.NET MAUI
(icon + text)
TITLE Python - Django
(icon + text)
JavaScript - Express
(icon + text)
TypeScript - NestJS
(icon + text)
Java - Spring
(icon + text)
GO
(icon + text)
C#
(icon + text)
Client
TITLE
Navegador
(Frontend)
Backend
Móvil (Server)
IOT
Client
TITLE
Navegador
(Frontend)
Backend
Móvil (Server)
IOT
TITLE
Client Backend
APIs
HTTP
¿QUÉ ES UN
FULLSTACK?
TITLE
TITLE
¿Cómo se
construye
el Backend?
TITLE
CLIENTES COCINA
CHEFS
MESERO
COMIDA
CARTA
IMPLEMENTOS
TITLE
CLIENTES COCINA
CHEFS
MESERO
USUARIOS /
COMIDA
NAVEGADORES
CARTA
IMPLEMENTOS
TITLE
CLIENTES COCINA
CHEFS
FRONTEND
MESERO
COMIDA
CARTA
IMPLEMENTOS
TITLE
CLIENTES COCINA
CHEFS
MESERO
COMIDA
CARTA
APIs
IMPLEMENTOS
TITLE
CLIENTES COCINA
DEVs /
CHEFS
Endpoints
MESERO
COMIDA
CARTA
IMPLEMENTOS
TITLE
CLIENTES COCINA
CHEFS
MESERO
COMIDA
Bases
de Datos
CARTA
IMPLEMENTOS
TITLE
CLIENTES COCINA
CHEFS
MESERO
COMIDA
CARTA
IMPLEMENTOS
Librerías
TITLE
TITLE
FRAMEWORKS TITLE
- 2 Chefs
- 5 Huevos
- 1 Sartén
¿Cómo escoger
lenguajes y frameworks
para Backend?
TITLE
Django
Spring
Flask
Java
Python
FastAPI
Go
Express Gin
Laravel
PHP Symphony
HTTP
TITLE
DOMINIO
https://platzi.com/cursos
PATH /
PROTOCOLO
ENDPOINT
NAVEGADOR TITLE FRONTEND
HTML
CSS
REQUEST RESPONSE JS
DATOS
XML
DNS JSON
SERVER
1XX = INFO TITLE
2XX = INFO TITLE
200 = OK
201 = CREATED
3XX = TITLE
REDIRECT
301 = MOVED
4XX = TITLE
CLIENT ERROR
400 = BAD
409 = CONFLICT
5XX = TITLE
SERVER ERROR
500 = ?
503 = ?
APIs
CLIENTES SERVIDORES
Servidor
1
ENDPOINTS
Servidor
/users 2
/users/create
/users/:id Servidor
3
Servidor
4
CLIENTES SERVIDORES
Servidor
1
ENDPOINTS
Servidor
/users 2
/users/create
/users/:id Servidor
3
Servidor
4
CLIENTES SERVIDORES
Servidor
1
ENDPOINTS
Servidor
/users 2
/users/create
/users/:id Servidor
3
Servidor
4
REST API
TITLE
domain.com
domain.com/users
domain.com/tasks
domain.com/companies
CRUD TITLE
CREATE = POST
READ = GET
UPDATE = PUT / PATCH
DELETE = DELETE
TITLE
endpoint method body response status
/users GET N/A [ {}, {} … ] 200
/users/:id GET N/A {} 200
/users POST { ... } { ... } 201
PUT /
/users/:id { ... } { ... } 201
PATCH
/users/:id DELETE N/A ✅ 201
Insomnia
& Postman
La nube
NUBE
CPU
RAM
SSD
platzi.com
TITLE
Address: Cra. 7a …
Lote: 2km2
TITLE
TITLE
REPO
LOCAL
REMOTO
PUSH
PULL
TITLE
LOCAL
REPO
REMOTO
LOCAL
LOCAL
TITLE
REPO
REMOTO
Pruebas ✅
Calidad ✅
Seguridad ✅
TITLE
El servidor
CPU
RAM
SSD
Cookies
y sesiones
TITLE
Client Server
TITLE
Client Server
TITLE
Client Server
TITLE
Client Server
TITLE
Client Server
El server puede
verificar
la información
en la cookie
TITLE
Client Server
Client Server
Server
Mobile
TITLE
Navegador
Server
Mobile
Mobile no soporta
cookies ya que no
es un navegador
TITLE
Navegador
JWT Server
Mobile
JWT funciona
en mobile y en
navegadores
Bases
de datos
TITLE
Server
TITLE
Server
CPU
RAM
Disk
TITLE
Server
Backend
CPU
RAM
Disk
Server
Drivers
Backend
TITLE
DB
Relacionales
SQL
No Relaciones
NoSQL
TITLE
Drivers
Backend
SQL
ORMS - POO
TITLE
Server
Backups
Drivers Replicación
Backend Escalamiento
Soporte
TITLE
Drivers
Server
Backend Server
Backups
Replicación
Escalamiento
Soporte
TITLE
¿Qué es el
escalamiento?
TITLE
Server
CPU
RAM
Disk
TITLE
Server
CPU ++
RAM ++
Disk ++
TITLE
Server
CPU ++
RAM ++
Disk ++
TITLE
Server
CPU ++
RAM ++
Disk ++
TITLE
Server
CPU ++
RAM ++
Disk ++
TITLE
Load
Balancer
TITLE
Load
Balancer
TITLE
TITLE
Load
Balancer
¿Qué es la
replicación?
TITLE
Load
Balancer
TITLE
Load
Balancer
TITLE
Load
Balancer
TITLE
Write
TITLE
Read
TITLE
955
844
1799
Segunda vez = 2s
955
844
1799
Server
Lógica de negocio
Autorización
Server Autenticación
Conexión a DB Rules
Solicitudes
Lectura
Lógica de negocio
Autorización
Server Autenticación
Conexión a DB Rules
Solicitudes
Lectura
Lógica de negocio
Autorización
Server Autenticación
Conexión a DB Rules
Solicitudes
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
Nueva Solicitud
¿Está en
caché?
La guarda en caché
TITLE
● E-commerce
● Sitios de noticias
● Blogs
● No es bueno para Realtime
● Evitar ataques DDOS
Colas
de tareas
Reportes
Backups
Gráficos
ZIPs, PDFS, CSVs
Un request se ejecuta
lo más pronto posible
y responde por el
mismo medio.
Un request se ejecuta
lo más pronto posible
y responde por el
mismo medio.
Una cola de tareas
eventualmente ejecuta un
proceso y puede responder
por otros medios.
Una cola de tareas
eventualmente ejecuta un
proceso y puede responder
por otros medios.
Cajero
Tarea
Tarea
Fila
Server Server Server Tasks
Reportes
Backups
Gráficos
Zips, PDFS, CSVs
Server-Side
Rendering
TITLE
JSON
SERVER XML
FILES
HTML
TITLE
JSON
SERVER XML
FILES
HTML
TITLE
CSR SERVER
HTML
TITLE
CSR SSR
HTML
TITLE
CSR SSR
HTML es rápido.
Y bueno para los motores de búsqueda.
Pero NO es interactivo.
TITLE
CSR SSR
Es altamente interactivo.
TITLE
CSR SSR
JSON
No es tan Rápido
Malo para los motores de búsqueda
Es altamente interactivo
TITLE
CSR SSR
Angular
VueJS
React
TITLE
CSR SSR
Es interactivo
Rápido
Bueno para los buscadores
HTML / JSON
TITLE
CSR SSR
Angular
VueJS
React / NextJS
Astro
Qwik
TITLE
CSR SSR
Angular
VueJS
React / NextJS
Astro
Qwik
TITLE
Vercel
Firebase Hosting
¿Qué aprender
ahora?
TITLE
TITLE