Cómo convertirse en un buen desarrollador de IoT
1. ¿Qué es la operación y mantenimiento de sitios web a gran escala?
En primer lugar, dejemos claro que la “operación y mantenimiento” mencionada en el texto completo se refiere a: grandes. Operación y mantenimiento de sitios web a gran escala La diferencia entre la operación y el mantenimiento de sitios web a gran escala y otras operaciones y mantenimiento sigue siendo Bastante grande, entonces definiremos el alcance de los sitios web grandes y pequeños. Esta definición se considera principalmente desde la perspectiva de la operación. y la complejidad del mantenimiento, como las especificaciones del sitio web, la popularidad, el tamaño del servidor, el volumen de PV, etc. Por lo tanto, no nos centramos en otros factores. Primero definimos que el tamaño del servidor sea superior a 1000 unidades, con al menos cientos de millones de pv por unidad; día (al menos el top 10 en China), como sina, baidu, QQ, renren.com, etc., es posible que otros sitios web pequeños no tengan ingenieros de operación y mantenimiento reales, lo cual es diferente de Las especificaciones insuficientes del sitio web están relacionadas con factores de costo; Son "talentos más complejos" que integran el trabajo de red, sistema y desarrollo. Por ejemplo, algunas empresas incluyen algunas adquisiciones por contrato dentro del alcance de las responsabilidades de operación y mantenimiento, y la planificación de la red IDC también incluye responsabilidades de operación y mantenimiento. Por lo tanto, es muy importante entender que operación y mantenimiento debe estar muy familiarizado con otros tipos de trabajo relacionados: redes, sistemas, desarrollo de sistemas, almacenamiento, seguridad, base de datos, etc., al que me refiero el ingeniero de operación y mantenimiento aquí; un ingeniero de operación y mantenimiento de tiempo completo.
Hablemos del proceso de “nacimiento” de productos generales:
1. Primero, la dirección de la empresa da la ideología rectora y PM localiza la demanda del mercado (o copia aplicaciones maduras). para realizar investigaciones y análisis y diseño detallado final.
2. El arquitecto completa la planificación de la red, el diseño de la arquitectura, etc. en función de las necesidades de diseño del producto, como la estimación del tamaño de la energía fotovoltaica, la escala del servidor, la arquitectura de la aplicación y otros factores (básicamente, habrá pocos cambios en la red). , a menos que sea un proyecto grande)
3. Los ingenieros de desarrollo implementan el código de diseño y los ingenieros de pruebas prueban la aplicación.
4. Bien, ahora que los ingenieros de operación y mantenimiento han tomado medidas, en primer lugar, dejemos en claro que eso no significa que los primeros tres pasos no tengan nada que ver con el trabajo de operación y mantenimiento. Por el contrario, los primeros tres pasos tienen mucho que ver con la operación y el mantenimiento: la etapa inicial del diseño de la arquitectura de la aplicación, evaluación de recursos de software/hardware y adquisición de la aplicación, evaluación y peligros del rendimiento del diseño de la aplicación, IDC, ajuste del rendimiento/seguridad del servicio, la optimización a nivel del sistema del servidor (relacionada con aplicaciones específicas), etc., requiere participación total en la operación y el mantenimiento, y los ingenieros de operación y mantenimiento del proyecto que dirigen toda la aplicación son responsables de la preparación del servidor del producto, la instalación del sistema del servidor, la red y la IP; e instalación general del juego de herramientas. Los ingenieros de operaciones y mantenimiento también deben ser responsables de factores como si la arquitectura del sistema de aplicaciones en línea es razonable, escalable y segura, y responsables del empalme final y la combinación óptima de productos (programas), redes y sistemas, y finalmente. Completé el producto en línea para que lo usen los usuarios y lo repití: demand-gt; desarrollo (actualización) -gt en línea (los problemas de rendimiento, seguridad y otros problemas previamente estimados aparecerán lentamente) Permítanme mencionar algo aquí: El modelo de desarrollo de sitios web es completamente diferente del desarrollo de software tradicional. Es común que los sitios web desarrollen y lancen de 1 a 5 versiones actualizadas por día. La experiencia del usuario es clave. Si un problema en línea como M$ tarda un año en resolverse, los usuarios lo tienen. ya se ha agotado una vez que la aplicación está en línea, el trabajo de operación y mantenimiento acaba de comenzar. El trabajo específico puede incluir: trabajo en línea de la versión mejorada, monitoreo del servicio, estadísticas del estado de la aplicación, inspección diaria del estado del servicio, manejo de fallas repentinas, ajuste de cambios diarios del servicio. , la gestión de clústeres, la optimización de la evaluación del rendimiento del servicio, la optimización de la gestión de la base de datos y el escalado de la arquitectura de la aplicación, la seguridad y el desarrollo de operación y mantenimiento funcionan a medida que el PV de la aplicación aumenta y disminuye:
a. herramientas (como monitoreo de servicios, estadísticas de estado de solicitudes, servicio en línea, etc.) para mejorar la eficiencia.
b. Resolver problemas existentes en los servicios de la vida real, como problemas de alta confiabilidad y escalabilidad.
c. Desarrollo de herramientas de gestión de clústeres a gran escala. Por ejemplo, ¿cómo pueden 10.000 máquinas completar cambios de contraseña o ejecutar tareas específicas en 1 minuto? ¿Cómo instalar rápidamente sistemas operativos en 2000 servidores? ¿Cómo almacenar, compartir y analizar rápidamente datos de varios niveles de PT en IDC distribuidos y clústeres de almacenamiento? Una serie de otros desafíos requieren los esfuerzos de los ingenieros de operación y mantenimiento.
Permítanme explicar otros tipos de trabajo cooperativo aquí. En todo el proyecto, la aplicación front-end es una caja negra para los ingenieros de redes/sistemas. Al mismo tiempo, la responsabilidad del ingeniero de desarrollo es solo completar el proceso. desarrollo funcional de la aplicación y ser responsable de la aplicación en sí. La aplicación en sí es responsable del rendimiento, la seguridad, etc. No es responsable ni se preocupa por los problemas de arquitectura de red/sistema, por supuesto, otros colegas del departamento comercial. ya que el personal de adquisición de software/hardware no se preocupará por estos problemas y cada uno realizará sus propias tareas. Sin embargo, el núcleo del proyecto es el ingeniero ~. Puente hacia todos los demás departamentos.
He dicho mucho anteriormente. Creo que todos deberían tener algunos conceptos sobre operación y mantenimiento. Usemos una analogía aquí. Si somos un automóvil que conduce a alta velocidad en la carretera, entonces la operación y el mantenimiento. El ingeniero es conductor y trabajador de mantenimiento, este conductor no es simple. A veces necesita cambiar neumáticos mientras conduce a alta velocidad y cambiar de marcha de acuerdo con las condiciones de la carretera. Cuando la velocidad del automóvil es cada vez más rápida, el automóvil en sí no puede alcanzar la alta velocidad. velocidad y ajuste o piezas del rendimiento del automóvil Actualice, resuelva fallas del automóvil y problemas de rendimiento mientras viaja a alta velocidad, siempre preste atención a los problemas de seguridad que se avecinan y tome medidas evasivas con anticipación. ¡Esto es trabajo de operación y mantenimiento~!
Finalmente, hablemos de las responsabilidades del ingeniero de operación y mantenimiento: “Garantizar la estabilidad en línea” puede parecer simple, pero no es fácil. El ingeniero de operación y mantenimiento debe sopesar los muchos factores desfavorables: el impacto. de nuevos modelos de productos en los actuales Existe el impacto de la arquitectura y la tecnología, los peligros ocultos de los errores en línea causados por las frecuentes actualizaciones de productos, los errores humanos causados por el bajo nivel de operación automatizada y la gestión de mantenimiento, la falta de ejecución de procesos causada por la alta eficiencia perseguido por la industria de TI y el aumento de usuarios, la presión sobre el rendimiento y la arquitectura, la cultura de gestión técnica laxa de la industria de TI, los riesgos de innovación, los problemas de seguridad de Internet y otros factores serán los enemigos de la operación y el mantenimiento del sitio web. Los ingenieros deben controlar este último paso y deben ser específicos. Un alto sentido de responsabilidad, principios y capacidad de coordinación. Si puede lograr el mejor equilibrio de varios factores, será un excelente ingeniero de operación y mantenimiento.
Además, hablemos de algo fuera de tema. Veo que muchas personas aquí quieren hablar sobre su propia experiencia de operación y mantenimiento con Sina, QQ, Baidu, 51.com, etc. un poco innecesario para ellos. Dificultad:
a. La arquitectura y la escala de la red propia de cada empresa son más o menos los secretos centrales de la empresa y deben mantenerse en secreto, además, para el software y la arquitectura generales conocidos. , muchas empresas lo utilizarán Tiene sus propias necesidades comerciales reales y, al mismo tiempo, se ha sometido a un desarrollo secundario (como apache, php, mysql) debido al rendimiento original, la seguridad, los errores conocidos, las funciones, etc. El kernel del sistema también se personalizará de acuerdo con los diferentes tipos de negocios, como algunas aplicaciones son de tipo informático, algunas son de tipo alto IO o de gran almacenamiento y gran memoria. La optimización y personalización del kernel se lleva a cabo en función de estas características. Por ejemplo, Sina realizó un desarrollo secundario en Memcache y creó MemcacheDB. No hablaremos del rendimiento específico, pero es de código abierto, lo cual es digno de elogio. son básicamente de código abierto, pedirlo no aporta; además, el servidor no es un modelo conocido según las características del negocio, la mayoría son personalizados por DELL/HP/IBM; soluciones para almacenamiento distribuido; de lo contrario, simplemente utilice soluciones de código abierto ya preparadas, como hadoop, o desarrolle las suyas propias. Pero en los años 90, todos se inspiraron en las ideas de Google GFS: almacenamiento distribuido, cálculo y tablas grandes.
b. Las direcciones comerciales de cada empresa son diferentes, lo que dará lugar a diferentes modelos o métodos de operación y mantenimiento. Por ejemplo, la operación y el mantenimiento de 51.com y Baidu son definitivamente muy diferentes, porque sus. Los modelos de negocio determinan su arquitectura y servidores. La magnitud, la distribución de IDC, la estructura de la red y la tecnología general serán diferentes. Los modelos de operación y mantenimiento de Sina, que se centra principalmente en portales de noticias, y 51.com, que se centra en SNS. son muy diferentes, e incluso las responsabilidades no son las mismas; pero hay una cosa, la tecnología general y la estructura general son similares. No seas demasiado mítico. La mayoría de las empresas simplemente juegan un juego de bloques de construcción sin ningún contenido técnico. .
c. Como se mencionó anteriormente, la operación y el mantenimiento actuales de sitios web grandes aún están en su infancia. Los conceptos y la experiencia están relativamente dispersos y no existe un sistema de conocimiento maduro. y el mantenimiento es específicamente, o nunca lo he pensado en absoluto. La verdadera discusión es solo la punta del iceberg del trabajo de operación y mantenimiento y se limita a los detalles técnicos específicos o al gran marco de un determinado sitio web famoso. No hay nada realmente sistemático sobre operación y mantenimiento. Esta puede ser la información actual relacionada con la operación y el mantenimiento en línea. Probablemente se deba a que hay relativamente pocas razones. Quizás esta sea una de las razones por las que es difícil contratar personal nacional de operación y mantenimiento, y los buenos ingenieros de operación y mantenimiento son relativamente raros.
2. ¿Qué habilidades y cualidades necesitan los ingenieros de operación y mantenimiento?
¿Qué tipo de habilidades y cualidades se necesitan para ser un ingeniero de operación y mantenimiento? como Como puede ver arriba, operación y mantenimiento es un puesto que integra las habilidades de múltiples tipos de TI. Es responsable de system-gt-gt; ; testing-gt; seguridad Necesita entender algo de cada enlace, pero necesita estar familiarizado o incluso dominar algunos enlaces, como sistemas (uso familiar de sistemas operativos básicos, *nix, windows...), protocolos. , desarrollo de sistemas (una tarea diaria muy importante es la operación y el mantenimiento automáticos, el desarrollo relacionado con la ización, el desarrollo y la gestión de herramientas de clúster a gran escala), aplicaciones generales (como lvs, ha, servidor web, db, middleware, almacenamiento, etc.) , red, arquitectura de topología IDC;
Resumen de habilidades Los siguientes puntos:
1. Capacidades de desarrollo, esto es muy importante porque las herramientas de operación y mantenimiento deben ser desarrolladas por usted mismo. : c/c (uno de ellos es requerido), perl, python, php (uno de ellos), shell (awk, sed, expect..., etc.), necesita tener experiencia real en desarrollo; de lo contrario, el trabajo no será suficiente. ser muy doloroso.
2. Es necesario comprender las aplicaciones generales: sistema operativo (actualmente principalmente linux, bsd en China), relacionados con el servidor web (nginx, apahe, php, lig-datos masivos~~~~Estos factores determinan los problemas que encuentro Los problemas son que otras pequeñas y medianas empresas aún no los han encontrado, o los encontrarán pronto, pero es posible que las grandes empresas ya tengan buenas soluciones o sistemas
Perspectivas de desarrollo:
2, desde una perspectiva personal, el contenido técnico y los requisitos de los ingenieros de operación y mantenimiento. Al mismo tiempo, también son las personas que están más familiarizadas con las aplicaciones y la arquitectura de la empresa y recibirán cada vez más atención.
3. se convertirá en un puesto técnico integral que integrará múltiples disciplinas (redes, sistemas, desarrollo, seguridad, arquitectura de aplicaciones, almacenamiento, etc.), brindando a todos un buen espacio de desarrollo para habilidades personales y amplitud técnica.
4. La experiencia relevante en trabajos de operación y mantenimiento será muy importante y también se convertirá en la competitividad central de un individuo, con buena capacidad para resolver problemas en todos los niveles, brindar soluciones y tener capacidad de pensamiento general.
5. de especialidades e intereses dado que el conocimiento en puestos de operación y mantenimiento es muy amplio, es más fácil cultivar o desarrollar especialidades personales o pasatiempos en ciertos aspectos, como kernel, redes, desarrollo, base de datos, etc., puedes ser muy competente; y conviértete en un experto en este campo
6. Si realmente no quieres realizar operaciones y mantenimiento en el futuro, será más fácil transferirte a otros puestos y no habrá demasiados. limitaciones, tienes que hacerlo con el corazón
7 Dirección de desarrollo tecnológico, arquitecto de sitios web/sistemas