Soy nuevo en el desarrollo web, ¿cómo podría aprender a crear aplicaciones web escalables y desarrollo en la nube?

Además de tomar algunos cursos centrados en aplicaciones web escalables o servicios en la nube, aquí hay otras tres estrategias para mejorar, aprender más y comenzar una nueva empresa (o unirse a la empresa adecuada):

  1. Aprenda los conceptos básicos del desarrollo web y comience a construir proyectos gradualmente, desde pequeños proyectos favoritos para usted a través de conciertos independientes, componentes para plataformas más grandes o colaborando con otros freelancers en sistemas más grandes. Esto mejoraría lentamente su conocimiento y experiencia en el espacio de desarrollo web, lo que conducirá a una transición a proyectos cada vez más grandes, y contar con la base correcta (siguiendo los estándares, las mejores prácticas y los impactos en el rendimiento de la pila completa) lo haría Es más fácil construir aplicaciones web escalables en 2-3 años.
  2. Configure un proyecto en AWS u otra infraestructura en la nube. Podría ser tan simple como un prototipo que construyó usted mismo, o un CMS como WordPress o Drupal. Importe en masa una tonelada de datos (millones, decenas o cientos de millones de entradas / comentarios / usuarios) y comience a perfilar cada aspecto de la misma. Analice el número de consultas de la base de datos y perfile las que tardan más en ejecutarse. Es una carrera larga, y hay más que ver más adelante en esta respuesta. Hay aplicaciones prácticas que también puede crear como proyecto de prueba, como un agregador de contenido que extrae docenas o cientos de entradas diariamente de otras fuentes, una herramienta de minería de datos u otra cosa que naturalmente maneja toneladas de datos, y una vez Si comienza a jugar con el filtrado, la clasificación, la búsqueda, la compilación y el análisis de datos, pronto llegará a varios límites que necesitan pensar y retocar.
  3. Encuentra un proyecto para realizar prácticas. Podría ser un amigo, desarrollador senior, trabajando en un proyecto suyo, un proyecto comunitario en GitHub / Bitbucket que siempre necesita una mano extra, o un mentor dispuesto a establecer un horario para usted y ayudarlo con recursos o revisiones de código para que puedes mejorar en lo que haces y aprender valiosas lecciones en el camino.

Aprender más sobre la escalabilidad requerirá que se equipe con las herramientas de creación de perfiles necesarias y que aprenda mucho sobre todos los aspectos de la infraestructura: cómo funcionan las bases de datos, los formularios de normalización, los índices, las consultas transaccionales, las uniones frente a las selecciones múltiples, etc. diferentes formas de configurar sus servidores web, ajustar sus parámetros, agregar balanceadores de carga y múltiples servidores, replicar las bases de datos y extraerlas a múltiples nodos, monitorear E / S, uso de CPU y RAM para cada instancia, tráfico de red, ancho de banda pasado entre instancias y de usted a la nube y viceversa; Supervisar el tráfico HTTP, el número de solicitudes por página vista, TTFB y mucho más. Las aplicaciones más grandes requieren enfoques más innovadores (o al menos menos estándar) para optimizar la inserción y recopilación de datos, la carga de páginas, la comunicación con servicios y API de terceros, así como diferentes formas de almacenar en caché los datos, optimizar el tamaño de los medios (o generar sprites o pulgares) sobre la marcha), desnormalizando tablas de bases de datos para un mejor rendimiento, etc.

Es un gran nicho para especializarse, pero requiere mucho estudio y pruebas. Un buen recurso con estudios de casos e historias es la alta escalabilidad, y cada plataforma / pila generalmente tiene su propio conjunto de blogs que cubren los conceptos básicos y los escenarios del mundo real.

Puede aprender la codificación de sitios de aprendizaje electrónico como codechool. Sus cursos de video son realmente fáciles de seguir y después de cada clase tienen una sección de cuestionarios y exámenes. Codeschool también ofrece descuentos para el primer mes que puede encontrar a continuación:

Inscríbase en Code School por 9 dólares

Aprender haciendo. Especialmente en desarrollo, esta es definitivamente la mejor manera.