¿Cuáles son algunos de los programas y habilidades que todos los interesados ​​en la computación en la nube deben saber?

Hay muchos softwares como el software JDA, openStack (opensource), Apache Drill, Apache Hadoop, Cloud foundry, etc. que son necesarios para la computación en la nube.

En caso de habilidades son:

Habilidades de desarrollo estándar:

  • .NET, particularmente Microsoft Azure y / o Java: Java y J2EE tienen la ventaja, y no olvides Spring;
  • Alguna combinación de Python, Perl y PHP;
  • Servicios web y API como en RESTful y SOAP;
  • Prácticas ágiles;
  • Patrones de diseño, UML, por supuesto;
  • Programación orientada a objetos, un básico para codificadores;
  • Hibernate y MYBATIS en entornos corporativos para manejar esquemas de bases de datos en código fuente. (Relativamente) nuevas habilidades de desarrollo:
  • Lenguajes alternativos, particularmente Ruby on Rails y Scala;
  • Hadoop para manejar grandes datos, así como tecnologías complementarias de Hadoop como HBase, Hive y Hadoop Distributed File System (HDFS);
  • Habilidades de integración continua para pruebas y diagnósticos en tiempo real, porque las pruebas unitarias no son suficientes en la nube, dijo Nagy. Conozca Moles, PEX, Delegado e interfaces de integración de estilo de sistema y estrategias de prueba;
  • Desarrollo de aplicaciones orientadas a servicios, porque la arquitectura orientada a servicios (SOA) es la columna vertebral del middleware de la nube;
  • Plataformas de infraestructura como servicio (Amazon Web Services, Rackspace, AWS, HP, Citrix, Eucalyptus o VMware, etc.);
  • Las tecnologías DevOps (Cfengine, Zookeeper, Capistrano o Chef, etc.) ofrecen un caché multidisciplinario;
  • HTML5;
  • Configuración de infraestructura virtual; y,
  • Sí, más habilidades relacionadas con aplicaciones verticales particulares.

Con la velocidad a la que innova la computación en la nube, encerrarse en un determinado software realmente será un rendimiento depreciante. Tener la capacidad de comprender grandes cantidades de arquitectura y aprender rápidamente a medida que evoluciona es clave. Comprender la tecnología de hardware e hipervisor es probablemente la mejor opción porque, aunque los componentes se aceleran o cambian ligeramente, los conceptos siguen siendo los mismos.

En una etapa tan temprana, es mucho más importante que aprenda principios fundamentales como las matemáticas, la lógica simbólica, los algoritmos y las estructuras de datos: los principios subyacentes cambian mucho más lentamente que las interfaces brillantes. Por ejemplo, el álgebra lineal y los valores propios eran importantes cuando era un estudiante universitario de ingeniería en la década de 1970, siguen siendo importantes ahora y seguirán siendo importantes dentro de 40 años. Lo mismo para las listas enlazadas y los árboles binarios.

No tengo idea de cuáles serán las buenas palabras de moda cuando tengas mi edad, pero estoy seguro de que para entonces la “computación en la nube” estará tan de moda como “Fortran”, “VMS” y “computación distribuida”.

Hay muchos softwares en la nube en estos días, por lo que puede elegir a cualquiera y conocerlo. En lo que respecta a la habilidad, diría que en el futuro la integración de una aplicación en la nube con otras será clave, así que supongo que esta es una de las áreas para tener la experiencia.