Como desarrollador front-end, ¿qué pasos puedo tomar y qué herramientas puedo usar para examinar cómo otras empresas construyen su arquitectura?

No sé qué quieres decir con ” arquitectura “. La parte frontal es la punta del iceberg. Lo que realmente sucede es en el back-end.

De cualquier manera, compartiría mis opiniones. Puede o no saber algunos de estos.

  • Instale una extensión del navegador, como Wappalyzer o Appspector. Estos detectan varias bibliotecas JS / framework cargadas en un sitio. Prefiero WAppalyzer porque, según la solicitud / respuesta, también puede detectar el servidor HTTP y las tecnologías del lado del servidor.

    Debo mencionar la obvia: no tome una decisión sobre el marco JS utilizado simplemente mirando la salida de WAppalyzer en una página del sitio. Navegue por el sitio y verifique el resultado en cada página.

    Por ejemplo, si abre la consola de AWS, las páginas nuevas tienen React, mientras que las antiguas tienen Angular. Esto indica que podrían estar probando React en algunos de sus sitios.

  • Ahora que tiene alguna idea sobre su sitio web, vaya a dispositivos móviles. Abre tu herramienta de desarrollo de Chrome, presiona el ícono Móvil. Esto cambia la vista a una versión móvil, y si actualiza la página, enviará la cadena del agente de usuario para un sistema operativo móvil al servidor.

    Básicamente, le dirá al servidor que está en un teléfono y solicitará el sitio móvil. Algunos sitios tienen implementaciones diferentes para el sitio móvil.

    Twitter es un buen ejemplo. Su sitio de escritorio está escrito utilizando un marco de trabajo propio con jQuery. Pero su sitio móvil mostraría React + Webpack en WAppalyzer.

  • Use una extensión como Disconnect o Ghostery para detectar y bloquear rastreadores. Esto mostraría análisis y rastreadores agregados con la página. Da una idea de lo que el servicio considera importante, además de las páginas vistas.
  • Obviamente, esto no será más que algunas ideas en el front-end de un sitio / aplicación.

    Para el back-end, tienes que ir a la fuente. Encuentra su blog de GitHub y Tech. Mira sus videos en varias conferencias tecnológicas, desde YouTube.

    Por ejemplo, Uber’s GitHub te da una idea de lo que usan para sus microservicios.

    WAppalyzer no podrá detectar cómo Netflix usa Chaos Monkey en su clúster de producción de AWS.

    Echa un vistazo a High Scalability y StackShare también. Muchas compañías comparten algunas ideas sobre cómo escalaron ciertos servicios allí.

    Una de las respuestas sugiere revisar Builtwith; pero no lo recomiendo La razón es que se basa en el análisis realizado por su propia búsqueda, que no puede detectar nada detrás de un firewall, y mucho menos explicar la arquitectura. Además, desentierra cosas innecesarias y no relacionadas; como Google for work es utilizado por esta empresa.

En general, es un proceso. Reúnes información variada de diferentes fuentes y las juntas. También lleva tiempo ser bueno en eso, para que pueda obtener información útil que puede usar en sus propias aplicaciones.

Sigo varios blogs para mantenerme al día con la industria. Empresas como Yelp y Netflix ofrecen algunos puntos de partida decentes.

Hay un sitio que existe desde hace mucho tiempo, llamado highscalability.com. Tienen historias de infraestructura y actualizaciones.

Github a veces también proporciona pequeñas gemas. Busque diferentes compañías y los productos que lanzan. Empresas como Airbnb proporcionan bastante detalle en sus archivos README.

Otros han mencionado conferencias y reuniones, que también son excelentes recomendaciones.

Voy a sugerir un enfoque completamente diferente. Asista a grupos de encuentro centrados en la ingeniería de back-end. Asistir a conferencias. Únase a las listas de correo. Realice algunos proyectos que requieran ingeniería de backend.

No podrá inferir arquitectura mirando URLS, encabezados HTTP u otros que no sean el nivel más básico. Muchas cosas se pueden ocultar detrás de servidores proxy inversos, microservicios u otros.

Puede (si los servidores web lo exponen) ver los encabezados de respuesta http y ver el servicio del servidor de aplicaciones. Mucho más allá de eso … las herramientas no ayudarán a explicar mucho sobre la arquitectura.

Algunas empresas y aplicaciones están disponibles en Github. Eso seguramente sería un buen lugar para comenzar y estudiar el código de aplicaciones, etc.

Si está en un sitio web, puede usar BuiltWith – Web Technology Profiler para obtener más información sobre el idioma y las herramientas que utilizan.

Otra forma es seguir a los CTO y CIO conocidos en Twitter y otros lugares, donde pueden publicar sobre el trabajo de sus equipos.

Elija cualquiera de los escáneres automáticos de tecnología de sitios web como rescan.io o builtwith.com

Ambos servicios muestran la pila de tecnología del sitio web.