Red de conocimiento informático - Conocimiento informático - Xiaohe muestra sus bordes afilados (56) - cuando aumenta el número de usuarios del producto

Xiaohe muestra sus bordes afilados (56) - cuando aumenta el número de usuarios del producto

Siempre ha existido una ley de hierro en el campo de la tecnología de Internet: cuando el número de usuarios es pequeño, la calidad nunca es un problema. Una vez que el número de usuarios aumenta, los problemas de calidad se convierten en un gran problema.

Por ejemplo, si tu producto tiene 10.000 usuarios, incluso si 1 usuario tiene un problema al utilizar el producto, solo hay 100 personas y unos pocos miembros del personal de atención al cliente pueden responder preguntas. Pero si el número de usuarios llega a 100 millones, 1 significa 1 millón. Si no se resuelve de forma sistemática, el problema de calidad se convertirá en un enorme agujero negro y llevará a la empresa a la quiebra.

La razón por la que escribí este artículo es porque tuve una comunicación profunda con un cliente hace algún tiempo y conocí una historia poco conocida en los primeros días de su negocio.

Hace unos años, lanzaron un producto de aplicación en dos semanas y, por casualidad, recibieron mucho tráfico. En unos pocos meses, se convirtió en una aplicación fenomenal y el número de usuarios se disparó. . varios órdenes de magnitud.

Como podrás imaginar, durante este periodo, el equipo técnico de esta App vivió una vida peor que la muerte...

Al principio, este equipo estaba muy preocupado por sus propios problemas. Estoy orgulloso de mis logros: lancé un producto en dos semanas y se convirtió en un éxito en unos pocos meses. ¿No es ésta una leyenda que la industria de Internet ha estado anhelando pero que pocos han experimentado? Pensando en los procesos extremadamente complicados en las grandes fábricas, se estima que solo la investigación técnica preliminar y la selección tomarán más de dos semanas, ¡maldita sea!

Pero a medida que el número de usuarios se disparó a cien niveles, los problemas comenzaron a surgir uno tras otro como bombas de tiempo: fallas, pantallas negras, nombres de dominio secuestrados, fallas en la caché, tiempos de consultas SQL que aumentan rápidamente, Avalancha de rendimiento del sistema. Cuando el número de usuarios aumentó de 100.000 a más de un millón, la capacidad de la máquina se amplió 10 veces para apenas sobrevivir. Aunque el costo aumentó, el dinero aún era suficiente, por lo que el jefe apretó los dientes y aguantó. Cuando el número de usuarios aumenta de un millón a diez millones, si quieren multiplicar por diez la capacidad de la máquina, el jefe probablemente los matará con un cuchillo antes de arruinarse.

Durante un tiempo, el equipo técnico estuvo atrapado en un bucle sin fin: se descubría un problema, se aplicaba un parche para solucionarlo, aparecían más problemas nuevos, se aplicaban más parches y aparecían más problemas.

Un ingeniero incluso estableció un récord de permanecer despierto durante dos días y dos noches. El jefe temía que muriera repentinamente frente a la computadora, por lo que tuvo que dejarlo ir a casa a descansar. Antes de dejar la empresa, murmuró para sí mismo con expresión arruinada: ¿Por qué sucede esto? No es científico. ¿Qué podemos hacer?

Después de esperar un rato, el jefe pensó en iniciar un negocio. Con él, todos estos hermanos provenían de pequeñas empresas y nunca habían visto un producto con tantos usuarios. Si las cosas seguían así, todos se sentirían decepcionados, así que encontraron un amigo que trabajaba en gestión técnica en una gran fábrica. para ayudar a resolver el problema.

Hace apenas unos meses, alardeaba ante él de que lo que se podía hacer en dos semanas, su gran fábrica tenía que usarlo durante varios meses. Era como una venda para los pies de una mujer perezosa, maloliente y larga. Oye, ante la vida y la muerte, la cara no es nada.

La razón por la que los amigos son amigos es no para alardear cuando no pasa nada y para ayudar a lidiar con los problemas cuando sucede algo. Después de bromear entre ellos unas cuantas veces, las dos partes acordaron un tiempo para organizar una reunión. Intercambio de equipo técnico. Se enviaron allí varios expertos en terminales móviles, servidores y otros campos, y todo el equipo técnico aquí, todo el desarrollo, las pruebas e incluso la operación y el mantenimiento se completaron juntos. Fue una oportunidad única.

Rodeada de aguas verdes y montañas verdes, hay una casa de té. Hay una gran sala de conferencias específica para que grandes empresas celebren eventos. La pantalla de proyección, las mesas y sillas y el té están listos. 20 ingenieros discutieron durante todo el día.

Desde optimizar la velocidad de inicio de la primera pantalla del terminal móvil, cómo reducir la tasa de fallas, desacoplamiento de PageLink, administración de memoria de imágenes, conexión directa HTTPDNS, múltiples paquetes para resolver proyectos inflados, selección dinámica de contenedores de páginas, hasta subbiblioteca de back-end División de tablas, cómo diseñar claves de caché para evitar puntos calientes y facilitar la expansión horizontal, cómo utilizar el equilibrio de carga de cuatro y siete capas, separación de datos de salida dinámicos y estáticos, rendimiento de la puerta de enlace y estándares de seguridad, Diseño del sistema de cuentas, modelo de dominio y detalles de capas de arquitectura. Implementación, etc.

Poco a poco, una de las partes se cansó cada vez más porque hablaban demasiado; la otra parte se emocionó cada vez más porque finalmente rompieron el papel de la ventana y vieron la luz del sol. Aunque definitivamente tendré que seguir luchando para resolver lentamente los problemas técnicos después de regresar a mi propia empresa, finalmente veo esperanza. Mientras estemos en el camino correcto, el resto quedará en manos del tiempo.

El equipo técnico estaba manteniendo intercambios profundos, pero el jefe no estaba dispuesto a correr riesgos y contrató a alguien para que fuera el CTO.

Aunque el equipo original también estaba dividido en front-end, móvil, servidor, pruebas y otros tipos de trabajo, de hecho, todos trabajaban de forma independiente y estaban perseguidos por problemas. Aunque se ha nombrado un nuevo supervisor, todos están convencidos porque el nuevo CTO actuó muy bien en esta comunicación y supo señalar las causas de muchos de sus propios problemas y aportar soluciones.

Para el propio nuevo CTO, esta también es una oportunidad única.

Hay muchos talentos en las grandes fábricas. Aunque tengo una gran experiencia, poco a poco estoy envejeciendo y cada vez soy más incapaz de trabajar en primera línea. Además, la industria de Internet se ha topado con cuellos de botella en los últimos años. Y es difícil hacer nuevos negocios, no puedo obtener resultados comerciales y es particularmente difícil conseguir un ascenso en una gran fábrica.

Ahora que los productos del nuevo propietario han sido probados en el mercado, tienen exactamente lo que les faltaba en experiencia. Se puede decir que las dos partes están durmiendo sobre la almohada.

Después de que el nuevo CTO llegó al trabajo, clasificó todas las tecnologías y llegó a la conclusión: el diseño del antiguo sistema era extremadamente inconsistente con la magnitud del producto y el costo de transformación era demasiado alto, por lo que era mejor derribarlo y empezar de nuevo.

Para hacer algo, primero debes formar un equipo: solicité al jefe un nuevo HC. En los equipos de terminales móviles, front-end, pruebas y otros, estaban ingenieros de base con experiencia en grandes fábricas. designados como TL, y se pidió a los TL que lideraran. Hay algunos recién graduados inteligentes o ingenieros jóvenes que acaban de graduarse hace 2 o 3 años y están muy motivados pero carecen de experiencia.

Lo primero que debe hacer es gastar dinero para ganar tiempo: apuntar a cientos de millones de usuarios, comprar soluciones de los principales proveedores de nube como base del sistema y hacer que sus propios empleados implementen la lógica empresarial en la antigua sistema según la nueva arquitectura El diseño se trasladó a la nueva base del sistema.

Luego estaba la cuestión de reemplazar el motor del avión volador: cuando el nuevo sistema estuvo en línea, se cortó parte del tráfico y se corrigieron los problemas mientras se cortaba el tráfico. Tomó medio año para finalmente cambiar. todo el tráfico al sistema central. Ya sea el diseño de la arquitectura, los protocolos de desarrollo, el control de calidad, el proceso de lanzamiento o el manejo de problemas en línea, todo está comenzando a tomar forma y el equipo finalmente está pulido.

El siguiente paso es reducir costos y mejorar la eficiencia: cuando las máquinas antiguas deben desconectarse, el nuevo sistema también retira los componentes pagos uno por uno para su revisión, comenzando con los módulos de borde y realizando una autoinvestigación basada en en proyectos de código abierto y reemplazar lentamente los componentes pagos.

El último paso es desarrollar la competitividad técnica central: los productos de la empresa tienen que ver con la seguridad del usuario. Debido a que cuentan con respaldo oficial, hemos acumulado una gran cantidad de datos de usuario en función de estos datos de usuario. Los ingenieros destacados y el personal de algoritmos reclutados han logrado avances tecnológicos y han formado sus propias ventajas únicas de seguridad y control de riesgos. Recibí más proyectos oficiales, gané dinero y al mismo tiempo obtuve más datos. Con la retroalimentación de los datos, hice mi sistema de control de riesgos más sólido, exporté la tecnología a más socios e incluso comencé a vender más servicios SaaS para el control de riesgos.