8 oscuros secretos del hardware en la nube

0
42

Hace mucho tiempo, un servidor era algo suyo y solo suyo. Usted y su equipo examinarían las especificaciones, recogerían ofertas, completarían una orden de compra, y luego recibirían la entrega de la máquina para que pudiera instalarse y probarse cuidadosamente en la sala de servidores, justo al final del pasillo desde su escritorio. Usted y su equipo podían caminar hacia él, tocarlo, verificar que el LED estuviera encendido y sentirse seguros al escuchar el zumbido silencioso del ventilador. Incluso podía pulir el panel frontal con la manga de su camisa.

Ahora es posible que no tenga nada que ver con su hardware. Algunas personas todavía hacen clic en la página web de una empresa en la nube para crear una «instancia”, pero muchos de nosotros dejamos todo el trabajo de iniciar un servidor a un script automático, ejecutado por algún bot de integración y despliegue continuos. Como máximo, pasamos unos minutos debatiendo el tamaño de la instancia cuando configuramos la rutina de compilación, pero después de eso, el trabajo se deja en una de nuestras rutinas robóticas de implementación. Este software incluso puede ser lo suficientemente inteligente como para negociar las subastas de ciclos de repuesto con el fin de minimizar los costos, todo sin que hagamos nada.

La desconexión con nuestro hardware es cada vez más profunda, a medida que las palabras de moda «sin servidor” se vuelven más comunes. Por supuesto, las compañías no están afirmando literalmente que no existe un servidor en el circuito. Simplemente afirman que no debe preocuparse por nada relacionado con esas cajas de chips que zumban en otro lugar. Solo denos unas pocas líneas de código y nos aseguraremos de que algún trozo de silicio en nuestro almacén trasero lo ejecute.

Muchos de estos misterios son innovaciones que ahorran trabajo y estrés. No estar enterado significa que no perderá el tiempo pensando en ninguno de los detalles sobre la configuración de la memoria o la partición de la unidad, o si esa bandeja rota de DVD-ROM es importante. Saltarse estos pensamientos es algo bueno. Los desarrolladores han trabajado mucho para desarrollar herramientas ágiles y bots para que podamos omitir las reuniones de personal destinadas a discutir y revisar los problemas molestos.

Pero a veces demasiadas cosas quedan ocultas. A veces se eluden demasiados detalles de la discusión antes de hacer clic en ese botón y aceptar los miles de millones de términos de ese contrato aparentemente interminable que nadie lee.

La buena noticia es que muchas veces estos detalles no importan. Hemos dejado de preocuparnos por ellos porque hemos cruzado los dedos y todo funcionó en el pasado. Fue una buena apuesta ignorarlos antes, y entonces tiramos los dados nuevamente.

Pero a veces vale la pena considerar los misterios, en caso de que nuestro código sea el único momento en que esto importa. La única vez en cien, mil o un trillón, cuando deberíamos haber hecho algunas preguntas más.

No estamos afirmando que debería estar paranoico. No estamos insinuando que deba quedarse despierto hasta tarde preocupándose por estas N cosas. Pero si no puede dormir, aquí hay N misterios del hardware moderno en los que puede reflexionar cuando no tenga nada mejor que hacer.

¿Dónde está el servidor?
Está en la nube. Eso podría ser todo lo que sabemos. Las compañías pueden decir que nuestra instancia se está ejecutando en Nueva York o Karachi, pero eso es todo lo que obtenemos. A menudo, lo mejor que podemos hacer es saber el nombre de la ciudad o tal vez solo el país.

¿Deberíamos preocuparnos por la dirección de la calle? Tal vez la oscura ubicación del edificio en sí es una función de seguridad, no un error. Si no conocemos la ubicación física de la caja, bueno, los malos estarán igualmente confundidos. No es como si alguna vez vayamos a tocar la caja o escuchar el zumbido, como lo hicimos cuando tomamos un recorrido por la sala de servidores.

La cuestión es que algunos de nosotros realmente debemos preocuparnos por la ubicación física del centro de datos. Nos preocupan las leyes fiscales o los problemas legales con jurisdicción. Algunos de nosotros debemos preocuparnos por las leyes de exportación o dejar que nuestros datos crucen una frontera. Algunos de nosotros tenemos abogados que nos llaman con preguntas como ésta. Algunos de nosotros tenemos que lidiar con citaciones.

¿Qué es la CPU?
¿Recuerda haber evaluado si quería un chip de sexta generación o si podía justificar derrochar en un hot rod de séptima generación? ¿Recuerda mirar las filas y filas de números de referencia y dividir el costo por la velocidad? ¿Recuerda lo divertido que fue alardear de actualizar las CPU de cuarta generación cuando salió a almorzar con Chris, quien fue forzado por los controladores de presupuesto a exprimir un año más los chips de tercera generación?

Ahora existen muchas probabilidades de que no conozca el fabricante o el número de modelo, o cualquier detalle sobre la CPU. Las empresas en la nube le venden instancias con nombres crípticos como «m1” o «large”, pero eso no significa mucho. El «m1” y el «m2” pueden no tener nada que ver entre sí. Son solo nombres.

Algunas compañías en la nube intentan medir la potencia de CPU «virtual” que está comprando, y luego le permiten marcar la cantidad correcta. Puede tener algo que ver con la cantidad de núcleos en la máquina -algo que afecta sus algoritmos en hilo y paralelos- o puede que no. Todo podría ser una fachada que mide solo la cantidad que está comprando.

A veces el hardware hace la diferencia. A veces hay agujeros de seguridad, o problemas técnicos, que se pueden rastrear a chips particulares. La vulnerabilidad «Hidden God Mode” afectó al conjunto VIA C3 de chips x86. A veces necesitamos saber acerca de los modelos y núcleos de los subprocesos para que nuestros algoritmos funcionen más rápido. Hay docenas de pequeños y no tan pequeños problemas como éste. Podemos cruzar los dedos porque las empresas de nube deberían encargarse de esto por nosotros -o al menos eso afirman-.

¿Qué tipo de memoria?
Hace mucho tiempo pensamos si valía la pena instalar una memoria más rápida con más circuitos de corrección de errores. Hace mucho tiempo nos preguntamos si alguna RAM era mejor o más estable que otras. Hace mucho tiempo elegimos ciertos fabricantes de RAM sobre otros, y teníamos opiniones sobre nombres de marcas y enfoques tecnológicos.

Ahora nunca sabremos cuán bueno podría ser el hardware. Esto es algo de lo que, se supone, los ingenieros de la empresa de nube deben preocuparse para que nosotros no tengamos que hacerlo. ¿Pero lo hicieron? Nunca lo sabremos. Quizás nuestras instancias se están bloqueando debido a una RAM defectuosa. Tal vez sea por nuestro propio código terrible. Nunca lo sabremos.

¿Qué tipo de unidades?
Algunas compañías de nube se jactarán de usar SSDs. Algunas se jactarán de usar discos duros más rápidos. Algunas solo nos alquilarán 25 gigabytes de almacenamiento y no entrarán en detalles. Pero no todas las unidades de disco tienen las mismas clasificaciones de confiabilidad. No todas las memorias flash son iguales. ¿Falló nuestro código debido a una celda flash pegajosa que se ha sobrescrito demasiadas veces? ¿O fue ese nuevo programador que quería desesperadamente imponer el nuevo código? No nos toca preocuparnos más. Simplemente iniciamos otra instancia y seguimos adelante.

Incluso los transistores no son simples
La RAM es quizás la parte más simple de toda la máquina, y viene con una semántica básica y aburrida. Al entrar, algunos bits se emparejan con una dirección y salen los mismos bits cuando se les presenta la dirección.

Por desgracia, los transistores pueden parecer dispositivos digitales que almacenan solo dos valores, pero eso solo se encuentra en la sección de teoría del libro de texto. En la vida real, son circuitos intrínsecamente analógicos y esto puede conducir a algunas fugas peligrosas. Los investigadores están descubriendo técnicas inteligentes como Rowhammer y RAMBleed, y hackers ingeniosos están descubriendo cómo explotarlas de forma remota. Si no podemos confiar en la semántica básica de RAM, ¿en qué podemos confiar?

Otros chips son aún más misteriosos
La mayoría de las personas pasan incluso menos tiempo pensando en el resto de la computadora. Hablamos de la CPU y, a veces, de la GPU, pero ¿alguien fuera del equipo de redes habla sobre la Unidad de Procesamiento de Redes (NPU, por sus siglas en inglés)? Se sienta allí moviendo silenciosamente los datos con tanta devoción e imperturbabilidad que todos olvidan que existe. Pero las NPU tienen firmware propio y las nubes tienen capas de red elaboradas y reconfigurables con algunas de las semánticas más sofisticadas. Mientras nos preocupamos por el abuso de la predicción de sucursales y Rowhammer, ¿alguien ha pasado mucho tiempo pensando en lo que un hacker puede hacer con una tarjeta de red?

¿Qué tipo de tecnología?
A veces ni siquiera sabemos la palabra de moda correcta para describir un servicio. El almacenamiento Glacier de Amazon es uno de los lugares más baratos para estacionar sus bits, pero Amazon no explica qué tecnología están utilizando. ¿Está construido a partir de bastidores y bastidores de discos duros magnéticos y lentos? ¿O tal vez queman los datos en stacks y stacks de discos Blu-ray? ¿O tal vez usan cinta magnética cargada por brazos robóticos? ¿Quizás han usado dos o tres tecnologías diferentes para poder cambiar las curvas de costos? Todo es un misterio. Todo lo que sabemos es cuánto cuesta por gigabyte y qué tan lento puede ser recuperar la información.

¿Qué está pasando?
A veces nunca descubriremos lo que está sucediendo en absoluto. Pasar a la nube no elimina los peligros de los malos eventos, como cortes de energía, implosión de unidades de disco o ransomware, pero también nos impide saber lo que está sucediendo. En nuestras salas de servidores, todos están en nuestro equipo y todos se reportan al mismo jefe. Puede que no siempre nos digan la verdad, pero generalmente serán más comunicativos.

En la nube, probablemente no conoceremos a nadie que esté manejando el problema. En el mejor de los casos, nos comunicaremos a través de correos electrónicos y tickets de problemas. Incluso entonces, los abogados, los gerentes y los problemas de relaciones públicas se interponen en el camino y lo único que nos queda es actuar cuidadosamente. En el mejor de los casos, sabremos que «se cometieron errores”. En el peor, no nos enteraremos de nada.

Un buen ejemplo de esta confusión es esta historia sobre un reciente ataque de ransomware en los datos contables de QuickBooks. Los clientes que creían en la retórica de marketing sobre la vida despreocupada de dejar que la nube manejara los datos se preguntaron qué sucedía realmente. El mismo tipo de ataque podría haber derribado fácilmente en nuestro centro de datos, pero al menos sabríamos los nombres de las personas y podríamos verlos en el picnic de la compañía.

Peter Wayner, InfoWorld.com