Cómo convertirse en un desarrollador de IoT moderno cualificado
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, otros factores no son el foco. Primero definimos que la escala del servidor es superior a 1000 unidades y el pv es de al menos cientos de millones; por día (al menos entre los 10 primeros en China), como sina, renren.com, etc., es posible que otros sitios web pequeños no tengan ingenieros de operación y mantenimiento reales, lo cual está en línea con las especificaciones del sitio web. No es suficiente está relacionado con el costo factores, sino más bien a los "talentos compuestos" que integran la red, el sistema y el trabajo de desarrollo. Por ejemplo, algunas empresas incluyen algunas adquisiciones por contrato en el alcance de las responsabilidades de operación y mantenimiento, y la planificación de la red IDC también se incluye en las responsabilidades de operación y mantenimiento. Responsabilidades de 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., se refiere el ingeniero de operación y mantenimiento al que me refiero aquí; a 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 de seguridad del rendimiento del servicio, servidor. La optimización a nivel del sistema (relacionada con aplicaciones específicas), etc., requiere participación total en la operación y el mantenimiento, y lidera todo el proyecto de lanzamiento de la aplicación. Los ingenieros de operación y mantenimiento son responsables de la preparación del servidor del producto, la instalación del sistema del servidor, la red, la IP y Instalación del juego de herramientas generales. 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 repitió: demanda -> desarrollo (actualización) -> pruebas -> en línea (los problemas de rendimiento, seguridad y otros problemas previamente anticipados surgirán gradualmente) aquí Un punto: el modelo de desarrollo del sitio web es completamente diferente del desarrollo de software tradicional. Es común que los sitios web desarrollen y lancen de 1 a 5 versiones mejoradas en un día. La experiencia del usuario es clave. Si un determinado problema en línea como M$ tarda un año en resolverse, todos los usuarios habrán desaparecido. Una vez que la aplicación está en línea, el trabajo de operación y mantenimiento recién comienza. 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. Gestión y evaluación del rendimiento del servicio, optimización de la gestión de la base de datos y desarrollo de escalado, seguridad y operación y mantenimiento de la arquitectura de la aplicación a medida que el PV de la aplicación aumenta y disminuye:
a. herramientas (como monitoreo de servicios, estadísticas de estado de aplicaciones, 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. Vi que muchas personas aquí quieren hablar sobre su propia experiencia en operación y mantenimiento, como sina, 51.com, etc. Es un poco difícil para ellos:
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 confidenciales. Además, para el software y la arquitectura generales conocidos. muchas empresas utilizarán las necesidades comerciales y, debido al rendimiento original, la seguridad, los errores conocidos, las funciones, etc., se ha llevado a cabo un desarrollo secundario (como apache, php, mysql) y el kernel del sistema operativo también se personalizará de acuerdo con a diferentes tipos de negocios, como ciertas 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 el 90% de ellos se basan en las ideas de googleGFS: almacenamiento distribuido, cálculo y tablas grandes.
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 combina las habilidades de múltiples tipos de TI. Necesita saber algo sobre sistema->red->almacenamiento->protocolo->demanda->desarrollo->pruebas->. seguridad y otros aspectos, pero es necesario estar familiarizado o incluso dominar ciertos aspectos, como sistemas (uso familiar de sistemas operativos básicos, *nix, windows...), protocolos, desarrollo de sistemas (el trabajo diario es muy importante). desarrollo automático relacionado con operación y mantenimiento, clústeres a gran escala, desarrollo de herramientas, administración), aplicaciones generales (como lvs, ha, servidor web, db, middleware, almacenamiento, etc.), red, arquitectura de topología IDC;
Los siguientes puntos se resumen en términos de habilidades:
1. Capacidades de desarrollo, esto es muy importante porque las herramientas de operación y mantenimiento deben ser desarrolladas por usted mismo. Lenguajes de desarrollo: c/c++ (uno de los. necesario), perl, python, php (uno de ellos), shell (awk), sed, expect., etc.), debe tener experiencia real en desarrollo; de lo contrario, el trabajo 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 operación y mantenimiento. Los ingenieros serán cada vez más altos. 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. 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. Cultivo 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, red, desarrollo, base de datos, etc., puede ser muy Compete 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. muchas limitaciones, hay que hacerlo con el corazón
7 Dirección de desarrollo tecnológico, arquitecto de sitios web/sistemas