cómo crear un sitio de redes sociales como Facebook: la historia de éxito

cómo crear un sitio de redes sociales como Facebook: la historia de éxito

después de haber observado todos los escollos y de acuerdo con las soluciones relacionadas con el componente del lado del cliente del desarrollo de redes sociales, veamos qué aspectos vitales de la parte del lado del servidor deben tenerse en cuenta.

desarrollo de Back-end

si construyes una plataforma de redes sociales desde cero, debes hacer que funcione sin problemas y reducir el porcentaje de abandono de usuarios., Por lo tanto, es crucial considerar los siguientes aspectos durante el desarrollo de back-end:

  1. renderizado adecuado
    • renderizado del lado del servidor (SSR)

      Esta es una forma más tradicional y estática de renderizado de contenido del sitio web que puede proporcionar una carga de página retrasada de hasta un par de segundos. Si está creando blogs o publicando plataformas de redes sociales, tal opción es la adecuada para usted, ya que no requiere una respuesta rápida e inmediata entre las cargas posteriores de la página.,

      un enfoque de renderizado es realizado por desarrolladores de back-end en colaboración con o sin HTML/CSS-coder, con la ayuda de Spring framework, Velocity library u otras tecnologías Java eficientes. Además, tenga en cuenta que, a diferencia de CSR (renderizado del lado del cliente), la arquitectura back-end de microservicios no es aplicable para SSR; por lo tanto, opte por la arquitectura monolith.

    • representación del lado del cliente (CSR)

      en el caso del desarrollo de sitios similares a Facebook, este tipo de visualización de datos es más adecuado., Este enfoque es más dinámico y receptivo y permite crear una red que le proporcionará una representación rápida del sitio web después de la primera carga inicial.

      la solución CSR es llevada a cabo por desarrolladores front-end y normalmente se implementa en JavaScript con la ayuda de AngularJS, React.js, o Vue.JS frameworks. Dependiendo de sus requisitos, las arquitecturas de back-end monolith y microservicios son adecuadas para su sitio web si elige CSR.,

  2. Enhancing security
    • Structured Query Language (SQL) injection prevention

      Los datos confidenciales de sus usuarios, como los detalles de autenticación y la información de la tarjeta de crédito, pueden ser vulnerables a las inyecciones SQL en caso de seguridad insuficiente. Para evitar tales ataques maliciosos, asegúrese de colocar el controlador de base de datos Java seguro con la función de instrucción preparada que envía consultas y datos al servidor de base de datos por separado, evitando la intervención de dicho ataque en los registros dentro de la base de datos.,

      el controlador de base de datos PHP, por ejemplo, no proporciona tales protecciones, por lo que el desarrollador debe protegerlo utilizando datos de entrada de escape o alguna otra tecnología.

      como puede ver, la elección del lenguaje de programación y/o marco de trabajo influyen en la pila de herramientas que aseguran su producto, que, a su vez, debe ser utilizado correctamente.

    • protección contra ataques XSS (Cross-Site Scripting)

      si su red social no tiene una validación de datos de entrada correctamente protegida, su sitio web está abierto a ataques XSS., En este caso, considere integrar la filtración de datos de entrada a su llegada o codifique sus datos en la salida.

    • alojamiento seguro

      para asegurarse de que los datos de sus usuarios se almacenan de forma segura, es deseable optar por proveedores de alojamiento web en la nube confiables y Mejor clasificados, como AWS, A2 Hosting, HostGator o InMotion.

    • cifrado de datos

      en términos de creación de sitios web de redes sociales, la integración de cifrado de datos tipo SSL se considera una de las medidas de seguridad más efectivas y obligatorias., Evita que los hackers obtengan los datos confidenciales de sus usuarios mientras están en tránsito.

    • actualización de programas

      la seguridad de numerosos sitios web a menudo se ve comprometida debido a componentes de software obsoletos. Siempre asegúrese de que todas las partes de sus programas estén actualizadas, ya sea la última versión del plugin o CMS para que no haya vulnerabilidades de sitios web abiertos para ataques.

  3. Panel de administración

    Esta es una de las herramientas más vitales para la moderación de cualquier sitio web de redes sociales que no se puede pasar por alto., Es una aplicación completa que interactúa con su sitio web y tiene como objetivo mejorar las capacidades de su negocio mediante:

    • proporcionando información sobre las funciones relacionadas con el Usuario (comportamiento del usuario);
    • detectando la violación de las regulaciones y políticas del sitio web;
    • mostrando métricas de negocio (KPI).
  4. Mejora del rendimiento
    • escalabilidad Horizontal

      cuanto más famosa sea su red, más cargas de trabajo simultáneas se ejecutarán dentro del sitio web., En tal caso, el mantenimiento de la escalabilidad horizontal es una necesidad, que se puede lograr mediante la elección correcta de su proveedor de balanceadores de carga.

    • Content delivery network

      en caso de que su objetivo sea popularizar su red no solo en una ubicación geográfica en particular, sino a nivel mundial, puede aumentar el rendimiento de su sitio Web mediante el uso de CDN (content delivery network). Dicha solución proporciona una entrega más rápida del contenido a sus usuarios finales que se encuentran lejos del servidor alojado, utilizando servidores perimetrales más cercanos o locales.,

      Imagen 6. Resumen del trabajo de CDN. Fuente: Wpbeginner
    • Content size optimization

      para optimizar el trabajo de su sitio web, puede requerir un software que comprime audio, video, texto y otros tipos de archivos. Puede usar una aplicación Gzip que comprime y descomprime archivos de forma estática o dinámica, lo que mejora la carga de la página del sitio web casi en un 15%., Además, es mejor almacenar archivos comprimidos que comprimirlos en el lado del frontend cada vez que llega la solicitud.

  5. Hacer sitio web tolerante a errores

    numerosos factores pueden afectar negativamente el funcionamiento de su sitio web. La tolerancia a fallos es uno de los aspectos más vitales de cualquier red social, lo que ayuda a contrarrestar tales intrusiones., Se puede proporcionar con la ayuda de tales medidas preventivas:

    • habilitar la agrupación, el proceso que ayuda a replicar las acciones del servidor en caso de su fallo repentino de funcionamiento;
    • asegurarse de tener una base de datos tolerante a errores, que se hará cargo del trabajo de la principal en caso de su interrupción;
    • integrar canales de comunicación confiables que garantizarán un intercambio seguro y consistente de datos y reducirán los riesgos de pérdida de conexión;
    • proporcionar copias de seguridad de
    • garantizar los procedimientos de recuperación ante desastres., Dichos procedimientos dependerán de si elige la computación en la nube o en las instalaciones. En el caso del primero, tendrá que habilitar la migración de datos en la nube a la otra región. Si elige esta última opción, asegúrese de tener un proveedor de copias de seguridad o un centro de datos en otra área geográfica., Además, si utiliza un entorno local, puede cambiar a computación en la nube en este caso;
  6. CI / CD

    La integración continua (CI) y las implementaciones continuas (CD) son prácticas indispensables que permiten un flujo de trabajo eficiente y flexible que finalmente conduce a una implementación más rápida y sin errores. Los ingenieros de DevOps son aquellos que proporcionan y mantienen un proceso de configuración de CI/CD que funciona correctamente en el ciclo de vida del desarrollo., Al optar por este enfoque para el desarrollo de su sitio web de redes sociales, puede obtener:

    • minimización de la aparición de errores cuando inicia el sitio web, ya que las regresiones se detectan antes durante las pruebas automatizadas iterativas (CI);
    • Reducción de costos para las pruebas posteriores al desarrollo porque CI server realiza numerosas pruebas automáticamente;
    • liberación más rápida ya que CI/CD pipeline combina constantemente el código y lo implementa en producción después de las pruebas automatizadas, por lo tanto, siempre lo mantiene listo para la liberación.,

pila tecnológica

la elección de la pila tecnológica adecuada para programar una red social normalmente depende de la solución más adecuada a los requisitos establecidos, la complejidad del proyecto y la experiencia del proveedor de software en tecnologías de back-end.,»>Programming languages

Java, PHP, Python Search engines Apache Solr, Elasticsearch Frameworks/libraries Spring stack for Java
Laravel, Symfony for PHP
Django, Flask, Tornado for Python Caching Redis, Memcached Front-end frameworks and technologies React.,js, Vue.,Angular lenguajes de programación Front-end TypeScript, JavaScript DevOps GitLab ci, TeamCity, gocd Jenkins, ws CodeBuild, terraform

testing

el mantenimiento de alta carga en el sitio web, la responsabilidad por la seguridad de los datos de los usuarios, y sus pagos dentro de la red están aquellos factores que definen la extrema importancia de abordar la etapa de prueba cuidadosamente.,

la prueba del sitio web de redes sociales requiere la creación de artefactos de prueba Particulares: Estrategia de prueba, plan de prueba, datos de prueba, casos de prueba, etc. Se llevan a cabo para garantizar que el proveedor de software entienda con precisión todos los requisitos del cliente. También permiten al cliente, a las partes interesadas y a los evaluadores realizar un seguimiento de los cambios dentro del proyecto, eliminando posibles malentendidos entre las partes.,

normalmente se realizan los siguientes tipos de pruebas cuando se desarrolla una red social:

  • pruebas funcionales: ayuda a garantizar que todas las funciones de su red funcionen de acuerdo con la especificación de requisitos., Al realizarlo, el equipo de control de calidad presta atención a los siguientes aspectos:

    • prueba las funcionalidades principales del sitio web;
    • se asegura de que las actualizaciones y mejoras no afecten negativamente la funcionalidad del sitio web;
    • comprueba la interoperabilidad de los diferentes módulos funcionales;
    • se asegura de que la interfaz del usuario cumpla con las expectativas del consumidor final.,
  • pruebas de seguridad: para asegurarse de que su sitio web de redes sociales no contenga amenazas y brechas de seguridad que puedan dañar los datos confidenciales de sus usuarios, los evaluadores se centran en dichas áreas:

    • vulnerabilidades en el escaneo de red;
    • garantiza que las actualizaciones y mejoras no afecten negativamente la funcionalidad del sitio web;
    • deficiencias en los componentes de software.,
  • pruebas de rendimiento — mientras se realiza, la preparación del sitio web para sostener la carga posible se prueba comprobando:

    • Velocidad de conexión;
    • comportamiento del sitio web bajo carga de trabajo creciente;
    • comportamiento del sitio Web más allá de los límites de la carga de trabajo esperada;
    • comportamiento del sitio web bajo carga pesada continua.
  • prueba de interfaz: ayuda a garantizar la transmisión correcta de los datos desde el lado del servidor y la representación en el lado del cliente., El equipo de control de calidad lo realiza a través de:

    • validación de la interacción adecuada de las interfaces de aplicación y servidor;
    • validación de la interacción adecuada entre el servidor web y las interfaces del servidor de base de datos;
  • pruebas de usabilidad: Los ingenieros de control de calidad prueban si hay alguna debilidad en la parte del lado del cliente del sitio web, 184950344C»>

  • exhaustividad de la navegación;
  • vista general del diseño;
  • tiempo que el usuario pasa para completar la tarea.,

el Departamento de control de calidad de Aimprosoft aplica el enfoque más complejo a la elección del tipo adecuado de conjunto de pruebas, dependiendo de la complejidad del producto y sus requisitos. Al integrar el trabajo del equipo de control de calidad desde el principio del proyecto, puede reducir los costos de desarrollo, garantizar el funcionamiento sin problemas de su red y aumentar sus capacidades.,

conozca el enfoque de nuestro Departamento de control de calidad hacia la etapa de prueba

lanzamiento y promoción

se entregan varias versiones intermedias (prueba de concepto, MVP, alfa y beta) antes de la implementación del producto para verificar la funcionalidad y viabilidad del nuevo sitio web.

para programar una red social, un ciclo de procedimientos de prueba iterativos precede al lanzamiento final del sitio web. Después de esto, en Aimprosoft congelamos el código y continuamos corrigiendo errores durante 2-3 semanas sin modificar el producto., Para evitar posibles riesgos de negocio relacionados con el lanzamiento, también es conveniente:

  • probar todas las URL para su correcto funcionamiento;
  • comprobar si su sitio web es compatible con el navegador y los dispositivos móviles;
  • comprobar si su código HTML/CSS no tiene errores;
  • comprobar el componente de seguridad de su sitio web y asegurarse de que su red social tiene una copia de seguridad.,

los aspectos adicionales que contribuyen a un lanzamiento exitoso del sitio web pueden ser:

  • implementación de técnicas SEO eficientes;
  • configuración de Google Analytics para un mayor monitoreo;
  • asegúrese de que sus URL sean amigables con los motores de búsqueda.

una vez que su red social sea aprobada para el lanzamiento real, es hora de implementar la estrategia de marketing para promocionar su sitio web., Puede incluir:

  • publicitar su producto a través de otras redes sociales populares si su concepto difiere del suyo;
  • promocionarlo en Quora respondiendo a las preguntas en temas relacionados y adjuntando el enlace al sitio web;
  • promoción con la ayuda de influencers populares;
  • invertir en marketing en motores de búsqueda para aparecer en la primera página de resultados de búsqueda.

una vez que haya lanzado su sitio web, es crucial monitorear su rendimiento y el comportamiento de sus usuarios para actualizarlo en consecuencia.,

estimación de costos de desarrollo de sitios de redes sociales

para definir un costo aproximado que se requiere para iniciar su propia red social, consideremos un producto similar que creamos llamado Chattlez.

Chattlez incluyó características básicas inherentes a un sitio web de redes sociales estándar; también pusimos especial énfasis en la capacidad de respuesta de su diseño, que no era tan común en 2013. El concepto de Chattlez era combinar el agregador de productos con las redes sociales y convertirlos en un mercado que permitiera a las personas comunicarse y realizar compras., Tomó casi 5 meses desarrollar una red social como esta, y nos permitió llegar a una fórmula aproximada para estimar tanto el tiempo como el costo para la creación de sitios web de redes sociales.

cuando construyes tu propio sitio de redes sociales, es necesario desarrollar un MVP primero para identificar las debilidades del producto y las mejoras exactas para invertir más., El siguiente núcleo de cualquier medio de comunicación social las características de la red se llevó a cabo en Chattlez:

  • registro de Usuario;

  • autenticación de Usuario;

  • perfil del Usuario;

  • la Suscripción;

  • feed de Noticias;

  • Contenido de la opción de uso compartido;

  • Contenido de la publicación;

  • Comentarios:

  • Búsqueda;

  • Mensajería.,

El siguiente equipo de la pila normalmente es necesario si usted decide crear un MVP de la primera:

  • 1 Gerente de Proyecto;

  • autenticación de Usuario;

  • 1 UI/UX ingeniero;

  • 1 Backend developer;

  • 1 frontend developer;

  • 1 QA engineer;

  • 1 DevOps engineer.,

una vez que MVP pasa por la primera ola de pruebas críticas por su audiencia potencial y se obtiene la retroalimentación, puede proceder al desarrollo del producto completo con las siguientes características adicionales que también se incluyeron en Chattlez:

  • Panel de administración;

  • enlace con otras plataformas de redes sociales;

  • Analytics;
  • búsqueda avanzada;

  • personalización del perfil del usuario.,

si opta por la creación de un producto completo de inmediato, necesitará una pila aproximada de desarrolladores de software para codificar un sitio de redes sociales desde cero. Puede variar dependiendo de la complejidad del proyecto y la fecha de lanzamiento:

utilizamos nuestra experiencia en la creación de Chattlez para preparar una tabla comparativa a continuación del tiempo aproximado dedicado al desarrollo tanto del MVP del sitio web de redes sociales como del producto completo.,v>850 — 950

QA 90 — 100 175 — 225 Product architecture 30 — 40 50 — 60 CI/CD 100 — 140 140 — 180

The above-mentioned estimated time may vary if you conduct a business analysis, all mockups and prototypes yourself, and then turn to the full-cycle development company., En cuanto al desarrollo de backend, las partes más complejas y que consumen más tiempo están relacionadas con la creación del panel de Administración y el análisis integrado, que requieren aproximadamente 200 horas cada una.,>€52 500 — 63 900

€92 400 — 108 000 UK £55 £48 125 — 58 575 £84 700 — 99 000 Eastern Europe (Ukraine) $30 $26 250 — 31 950 $46 200 — 54 000

You may see that depending on geographical area, the average rate of the developers may significantly differ., Así, por ejemplo, el costo total de desarrollo del sitio web de redes sociales en Europa del Este (Ucrania) representa solo el 40% del mismo costo en los Estados Unidos.

conclusión

como puede haber observado, el universo web de las redes sociales es bastante multidimensional y lucrativo. Para obtener más beneficios de una industria tan prometedora, necesita tener una idea factible, un poco de coraje y un socio de software dedicado para implementar las características más complejas., Si desea discutir preguntas sobre cómo crear un sitio web de redes sociales, póngase en contacto con nosotros, y Aimprosoft le ayudará a fondo con su startup-endeavor.

FAQ

¿el desarrollo de los sitios web de redes sociales sigue siendo relevante hoy en día?

Más de 3.81 mil millones de personas utilizan las redes sociales actualmente. Esto significa que la demanda de este tipo de sitios web es más alta que nunca. Los sitios web de redes sociales profundamente arraigados luchan por satisfacer las demandas cada vez mayores de los usuarios. Por lo tanto, la visión progresiva de los recién llegados puede contribuir significativamente al desarrollo de esta esfera.,

¿hay un conjunto particular de tecnologías que puede recomendar usar para desarrollar un sitio web de redes sociales robusto?

la pila de características adecuada varía según la complejidad del proyecto, el conjunto de las características deseadas y el presupuesto. Dado que hay diferentes tipos de sitios web de redes sociales, la funcionalidad puede diferir significativamente. Una vez que identifique las características que desea incluir, le aconsejamos consultar con el proveedor de software elegido con respecto a las tecnologías recomendadas., El proveedor debe proporcionarle opciones y su comparación y luego elegir las herramientas de software más adecuadas.

¿cómo elegir el conjunto de funciones correcto para un sitio web de redes sociales? ¿Algún consejo a seguir?

siempre es mejor definir qué desafíos pueden enfrentar sus usuarios potenciales al tratar con una plataforma de este tipo y qué expectativas tienen basadas en su experiencia previa con sitios web similares. Esto le ayudará a identificar las herramientas necesarias para satisfacer las necesidades de su público objetivo y excluir características innecesarias. Además, realice una investigación exhaustiva de sus competidores., Identifica qué características les ayudan a tener éxito y qué debilidades tienen para que puedas mejorarlas y transformarlas en tus ventajas.

¿Cómo puedo garantizar el más alto nivel de seguridad para mi sitio web de redes sociales?

una de las reglas de seguridad más importantes a seguir cuando construyes una plataforma de redes sociales desde cero es que todas las capas de la aplicación deben estar protegidas de los riesgos de seguridad identificados por OWASP. En segundo lugar, integre en la infraestructura de su aplicación un WAF (firewall de aplicaciones web)., Protegerá su aplicación de ataques externos, como inyecciones SQL, ataques XSS (Cross-Site Scripting), inclusión de archivos, etc. Otra medida útil de seguridad del sitio web es realizar periódicamente auditorías de seguridad del código de una aplicación web y actualizaciones oportunas de todos los componentes de software del sitio web, incluidas actualizaciones de los marcos y bibliotecas que se aprovecharon durante el desarrollo. En general, estas son solo una de las posibles formas de fortalecer la seguridad del sitio web de redes sociales., Generalmente, el Arquitecto de Software o el líder técnico que trabaja en su proyecto diseña la estrategia correspondiente y selecciona las herramientas y prácticas de seguridad adecuadas para su producto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *