El podcast es ameno de escuchar, y se centra alrededor de la pregunta de sí Java es una plataforma escalable o no. Aquí va un resumen de algunos de los puntos tratados y con los que no puedo estar más de acuerdo:
- La escalabilidad no depende del lenguaje sino que depende de la arquitectura. Un sistema no escalará más por estar escrito en Ruby, C, Java o Scala sino que escalará dependiendo de la arquitectura del sistema, de si se puede hacer caching, sharding, si el procesado es síncrono o asíncrono, si se está o no compartiendo estado entre nodos, etc.
- El gran valor de Java está en la platforma, las herramientas y la comunidad, y eso inevitablemente ayuda a escalar. Si tengo algún problema, hay innumerables fuentes de información para solucionarlo. Si un framework no funciona, hay innumerables alternativas para sustituir ese framework.
- Java favorece demasiado al desarrollador. El sistema de bloqueos de alto nivel, el fomentar el compartir estado o el sugerir la arquitectura en capas o la recolección de basura no ayudan en cuanto a alta escalabilidad. Se favorece la escalabilidad vertical, es decir un servidor con 24Gb de RAM en lugar de 6 de 4Gb. Todo esto ha hecho que aparezcan soluciones "raras" como Azul que virtualiza en Hardware la JVM y que nunca deberían haber sido necesarios.
- Intentar moverse a un modelo de SaaS. ¿Es realmente necesario un servidor de aplicaciones? Linkedin por ejemplo basa su arquitectura simplemente en Jetty. Las capas tienden a estorbar cuando hablamos puramente de escalabilidad.
Se tratan otros temas pero eso es con lo que me quedo. Por cierto que en la propia High Scalability hacen también un resumen sobre esto mismo y otros temas que se han ido comentado últimamente sobre Java y su habilidad para escalar.
comments
0 Respuestas a "¿Escala Java? Entrevista a Todd Hoff."Publicar un comentario