Ampliación de Parse Server
Ahora, en 2020, han pasado más de 4 años desde que Facebook decidió lanzar la versión de código abierto de Parse. Durante este tiempo se han lanzado muchas nuevas funcionalidades y la comunidad de seguidores es más grande que nunca. Estamos orgullosos del número de usuarios de Parse.com que posteriormente han decidido depositar su confianza en la plataforma de servidor Parse de Back4App. Queremos compartir con la comunidad algunas de las lecciones que hemos aprendido desde que comenzó este viaje.
Escalar Parse ha sido un problema para varios usuarios de Parse y vamos a desvelar los secretos de cómo escalar Parse.
Parse Server se lanzó como una versión Open Source de Parse.com, pero ha demostrado ser un recurso valioso en muchos otros aspectos. Proporciona un excelente framework NodeJS para construir y escalar tu aplicación. En Back4App hemos escalado algunas aplicaciones hasta 10.000 Req/s (unos 80.000 usuarios simultáneos). Todo esto es posible mientras mantienes el control total de tu backend y evitas el tipo de bloqueos y limitaciones que vienen con las soluciones Black Box.
Esta experiencia demuestra cómo Parse Server puede escalar a mucho más de las 600 req/s que Parse.com anuncia en su página de precios (ver más abajo), mucho más allá de los límites impuestos por algunos otros backends de caja negra. Una serie de valiosas características garantizan que Parse Server sea su mejor opción de escalado de aplicaciones. Quiero hacer hincapié en algunos de los más importantes de estos elementos.
Contents
1-Escala sin grandes cambios de ingeniería
Flexibilidad para añadir nuevos módulos: Tan pronto como tu app crece necesitas nuevas funcionalidades para mantener a los usuarios enganchados, o incluso para mejorar la adquisición, y a veces una plataforma backend completa puede no estar disponible. Dado que Parse Server es una solución de código abierto, te permite instalar un montón de módulos npm(NodeJS) e integrar nuevas APIs que accedan a funcionalidades más avanzadas.
Escalado Vertical x Horizontal: Parse Server está diseñado para soportar escalado horizontal sin problemas, por ejemplo, para compartir un estado entre las instancias. Le permite simplemente crear nuevas instancias idénticas de Parse Server para compartir el procesamiento de las peticiones de su aplicación. Esto le ayuda a encontrar el mejor equilibrio entre el escalado vertical que sólo aumenta la configuración de su máquina, y el escalado horizontal para optimizar su rendimiento y costes. Por ejemplo, puede empezar con una instancia de Parse Server en un único equipo y escalar verticalmente a una plataforma cloud mientras supervisa constantemente el coste y el rendimiento. En cuanto su aplicación crezca, puede crear una copia de estos servidores y añadir un equilibrador de carga para distribuir mejor las peticiones.
Ejecute su aplicación en una infraestructura a prueba de fallos
Las redundancias son importantes cuando empiezas a escalar tu aplicación. Lo último que quieres es que tu servidor se caiga con una gran cantidad de usuarios. Asegúrate de utilizar la siguiente estructura en cuanto empieces a escalar tu aplicación.
- Equilibrador de carga
- Auto-escalado para servidores de aplicaciones (mínimo dos)
- Conjunto de réplicas para servidores de bases de datos (dos servidores + un árbitro)
Optimice el rendimiento de sus consultas: Puede usar las peticiones personalizadas de Parse Server para obtener el mejor rendimiento para cada tipo de app.
2-La pila de Parse Server es sólida
Puede parecer un reto a primera vista, pero la escalabilidad es realmente impresionante. Incluso con la naturaleza de un solo hilo de Javascript, Node puede aprovechar múltiples núcleos utilizando el módulo de clúster – esto permite a un desarrollador crear una red de procesos con puertos compartidos. Para escalar a través de múltiples máquinas, el desarrollador puede utilizar nginx para equilibrar la carga de las solicitudes recibidas a través de múltiples instancias de Parse Server. Además, la autenticación del sitio de Node puede ejecutarse eficientemente usando la librería connect-auth. Este proceso evita algunos de los errores de desarrollo más comunes y la velocidad es otra gran ventaja.
3-Despliegue Parse Server en cualquier lugar
Puede instalar Parse Server en los servidores de su elección. Esto le permite evitar problemas como la latencia, y utilizar la mejor infraestructura que se adapte a sus necesidades. Si dispone de los conocimientos necesarios, puede construir su propia infraestructura optimizada para su aplicación y alojar Parse Server. También puedes optar por una solución Cloud si crees que rendirá mejor.
Es posible desplegar Parse en cualquiera de las principales nubes disponibles en el mercado. Algunos ejemplos son AWS, Google Cloud, Digital Ocean o Azure. Si prefieres un servicio gestionado y especializado, puedes optar por Back4app.
Concluimos que el modelo de código abierto es la clave del éxito de Parse Server. Este modelo realmente garantiza que puedas hacer lo que quieras con el framework tan pronto como escales tu aplicación. Esto explica en gran medida por qué Parse Server se ha convertido en el framework de código abierto más popular para crear backends de aplicaciones. Actualmente, el repositorio git cuenta con más de 26.000 usuarios y la comunidad incluye más de 100.000.000 de desarrolladores.
¿Te ha gustado este post? Regístrate GRATIS en Back4App.
¿Cómo escalar Parse Server?
Para lograr el máximo rendimiento con aplicaciones Parse de gran tamaño, por favor:
Optimice sus consultas para mejorar el rendimiento;
Ejecute su aplicación en una estructura redundante y a prueba de fallos;
Añada módulos NPM de forma extensiva.
¿Qué tamaño puede tener una aplicación Parse?
En Back4app, ya hemos escalado aplicaciones a más de 10 000 solicitudes por segundo. Por lo tanto, con la infraestructura adecuada, las aplicaciones pueden crecer considerablemente.
¿Dónde puedo implementar Parse?
Puede implementar Parse en servicios de alojamiento de Parse especializados como Back4app o en cualquier nube como AWS, Azure, Alibaba, Google Cloud o Digital Ocean.