Skip to content

Commit 2b32a81

Browse files
authored
Intro spanish (#207)
* docs: Add Introduction to Microservices in Spanish, links updated
1 parent 000e34a commit 2b32a81

File tree

3 files changed

+55
-2
lines changed

3 files changed

+55
-2
lines changed

docs/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ microservices with Python which handles cross-cutting concerns:
1313
PyMS is powered by [Flask](https://flask.palletsprojects.com/en/1.1.x/), [Connexion](https://github.com/zalando/connexion)
1414
and [Opentracing](https://opentracing.io/).
1515

16-
Get started with an [Introduction to Microservices](microservices.md) and then the [Installation](installation.md). Get an overview with the [Quickstart](quickstart.md).
16+
Get started with an Introduction to Microservices in [English](microservices.md) or [Spanish](microservicios.md) and then the [Installation](installation.md). Get an overview with the [Quickstart](quickstart.md).
1717

1818
## Motivation
1919

docs/microservicios.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Introducción a los Microservicios
2+
3+
Normalmente, la estructura de una aplicación se basa en el esquema de la Arquitectura Monolítica. En esta arquitectura, todos los elementos implementado se incluyen en una sola aplicación. La arquitectura monolítica tiene algunas desventajas; por ejemplo, se vuelve cada vez más complicado resolver problemas y añadir nuevas funcionalidades a la aplicación a medida que ésta crece. La arquitectura de microservicios se propone como una opción para resolver estos problemas.
4+
5+
![Comparativa de la arquitectura de microservicios y la monolítica](imgs/productivity_martin_fowler.png)
6+
7+
*Imagen 1: Comparativa de la arquitectura de microservicios y la monolítica. Fuente: [Martin Fowler](https://www.martinfowler.com/bliki/MicroservicePremium.html)*
8+
9+
## ¿Qué son los microservicios?
10+
11+
Los microservicios, también conocido como *arquitectura de microservicios*, estructura la aplicación como una colección de servicios. La idea es dividir la aplicación en un conjunto de pequeños e interconectados servicios en lugar de construir una sola aplicación monolítica. Con esto, cada servicio constituye una pequeña aplicación.
12+
13+
Idealmente, un microservicio o servicio tiene que estar especializado en resolver los problemas de un solo dominio utilizando la mejor tecnología disponible. Además, cada servicio debe tener una API para facilitar la comunicación e interacción con otros microservicios. La arquitectura de microservicios propone un nuevo tipo de relación entre la aplicación y la base de datos. En lugar de compartir una sola estructura de base de datos con otros servicios, cada servicio tiene su propia estructura. Tener una sola base de datos por servicio es esencial si queremos beneficiarnos de las posibilidades que nos brindan los microservicios, ya que asegura tener *loose coupling*.
14+
15+
Normalmente, la comunicación con el cliente se realiza mediante un intermediario conocido como API Gateway. La API Gateway es responsable de tareas como el balanceo de carga, el almacenamiento en caché, control de acceso, *API metering* y control.
16+
17+
![Ejemplo de aplicación desarrollada siguiendo la arquitectura de microservicios](imgs/Microservice_Architecture.png)
18+
19+
*Imagen 2: Ejemplo de aplicación desarrollada siguiendo la arquitectura de microservicios. Fuente: [Microservices.io](https://microservices.io/)*
20+
21+
Compañías que usan la arquitectura de microservicios: Netflix, Amazon, Ebay, Uber, Sound Cloud, etc.
22+
23+
## Ventajas
24+
25+
* Si un microservicio falla, no falla el sistema completo
26+
* Facilita la escalabilidad de la aplicación.
27+
* Ofrece a los desarrolladores la libertad de desarrollar e implementar servicios de forma independiente.
28+
* Se pueden usar diferentes lenguajes de programación en diferentes módulos.
29+
* Fácil de mantener, modificar y reutilizar.
30+
* Se puede utilizar la tecnología más recomendada para cada problema.
31+
* Fácil de escalar y administrar equipos de desarrollo.
32+
33+
## Desventajas
34+
35+
* El testeo puede verse dificultado debido a la implementación distribuida.
36+
* Si el diseño no se realiza correctamente, esta arquitectura podría generar problemas de latencia, equilibrio de carga, etc.
37+
* Alto consumo de memoria
38+
* Complejidad en la integración y gestión de una gran cantidad de servicios.
39+
* Los miembros de un grupo de desarrollo deben tener una buena formación previa.
40+
41+
## Recursos adicionales
42+
43+
1. [Microservices](https://microservices.io/) (ENG)
44+
45+
1. [Taller: Introducción a los Microservicios - Tutorial en Python - YouTube](https://www.youtube.com/watch?v=KHD9wvzmpj4&ab_channel=KeepCoding-Cursosdeprogramaci%C3%B3n)
46+
Alberto Casero - Keep Coding
47+
48+
1. [Microservices Guide by James Lewis and Martin Fowler](https://www.martinfowler.com/microservices/) (ENG)
49+
50+
1. [Wikipedia: Microservices](https://en.wikipedia.org/wiki/Microservices) (ENG)
51+
52+
1. [Workshop Module 1: Introduction to Microservices](https://www.youtube.com/watch?v=jMDufMYAsmw) dotNet (ENG)

mkdocs.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ repo_name: GitHub
55
site_author: Alberto Vara
66
nav:
77
- Home: index.md
8-
- Introduction to microservices: microservices.md
8+
- Introduction to microservices (ENG): microservices.md
9+
- Introduction to microservices (SPA): microservicios.md
910
- Installation: installation.md
1011
- Quickstart: quickstart.md
1112
- Configuration: configuration.md

0 commit comments

Comments
 (0)