¿Cuál sería el valor futuro de los diseñadores y arquitectos de software tradicionales en la era de AWS?

La nueva tecnología, como la nube, tiene muchos beneficios pero también muchos desafíos. Con la nube podemos implementar fácilmente un servidor, definir una red privada, etc. Pero también tenemos muchos problemas nuevos:

  • Tenemos que preparar nuestros back-end para soportar fallas del servidor y la máquina, ya que suceden con mucha más frecuencia en la nube.
  • Ahora, la cantidad de recursos que utilizamos puede subir y bajar fácilmente (elasticidad). Entonces, ¿cómo diseñamos nuestros sistemas para que sean lo más rentables posible, aprovechando la elasticidad?
  • La cantidad de máquinas / servidores aumentará significativamente a medida que avanzamos a la nube. ¿Cómo dividimos, supervisamos y recopilamos registros de estos sistemas?

Estas son todas las preguntas de diseño / arquitectura, y es un arquitecto de software, los desarrolladores y las operaciones que tomarán las decisiones de diseño.

AWS no escribe software para usted. Puede facilitar considerablemente la implementación de software y puede simplificar los trabajos que el software debe hacer, pero sigue siendo solo un conjunto de herramientas para agregar al conjunto de herramientas. En ese sentido, los diseñadores y arquitectos de software tienen exactamente el mismo papel: examinar los requisitos e implementar soluciones. Es solo que algunas de esas soluciones están en la nube y tienen muchas comodidades. (Y de ninguna manera todo; la infraestructura tradicional no desaparecerá mientras los gigantes empresariales con sus propias infraestructuras se mantengan y la nube no tenga sentido para todos los modelos de negocios)

Como diseñador o arquitecto de software tradicional, necesitará comprender cómo AWS u otros servicios en la nube como Azure pueden beneficiar su arquitectura de software y ayudar a su aplicación a escalar. Por ejemplo, había una aplicación en la que trabajé que se ejecutó en diferentes ubicaciones pero compartió una base de datos relacional de fondo. Para escalar la aplicación, cambié el front-end para escribir mensajes en un bus de servicio. Luego, un servicio de programación en un servidor diferente se encargó de recoger los mensajes del bus de servicios y escribir los datos en la base de datos relacional. De esta manera, las aplicaciones web que se ejecutan en cada sitio podrían ejecutarse incluso sin la base de datos de back-end y podrían ampliarse a muchas ubicaciones sin aumentar las conexiones o exponer el servidor de la base de datos.

En resumen, para ser un buen arquitecto de software en esta era de nube y big data, debe estar familiarizado con las ofertas e incorporarlas a su arquitectura cuando sea beneficioso.

More Interesting

¿Es posible hacer que seis figuras trabajen como programador o desarrollador sin haber estudiado informática? ¿Qué pasa en lugares como Google y Microsoft?

¿Qué es la refactorización de código y para qué se utiliza?

¿Cuáles son los pros y los contras de SDLC?

¿Puedo ser empleado en trabajos como un graduado en ciencias de la computación como en ingeniería de software si mi título es en tecnología de la información?

¿Cuáles son los beneficios de estudiar un proyecto de código abierto que no es popular?

¿Cómo debo prepararme para un rol de ingeniería de software en Freshworks?

¿Cuáles son algunas métricas estándar para rastrear la cantidad de errores en la base de código de un producto?

¿Cuál es la arquitectura de los motores de conversación detrás de Siri y Cortana?

¿Cuáles son los software más famosos escritos en Haskell y por qué no hay más? Sé de xmonad y que Standard Chartered lo usó en la producción. ¿Hay otros?

¿Cómo se organizan los equipos de desarrollo de software en Google? ¿Poseen típicamente un conjunto de componentes / servicios?

¿Debo ingresar a la industria del juego o convertirme en desarrollador / ingeniero / programador de software? No me importa el dinero.

¿Necesita usar una metodología de software para construir un buen software?

¿Qué despertó tu amor por la programación?

¿Cuáles son los requisitos previos para ser contratado por Google (empresa)?

¿Cómo pueden ganar dinero los autores de marcos de código abierto?