Cómo escala el negocio de Docker para servir a millones de desarrolladores, parte 2: datos salientes

Cómo escala el negocio de Docker para servir a millones de desarrolladores, parte 2: datos salientes

Este es el segundo artículo de una serie de artículos que cubrirán las limitaciones al descargar imágenes de contenedores.

В la primera parte echamos un vistazo más de cerca a las imágenes almacenadas en Docker Hub, el mayor registro de imágenes de contenedores. Estamos escribiendo esto para ayudarlo a comprender mejor cómo nuestros Términos de servicio actualizados afectarán a los equipos de desarrollo que usan Docker Hub para administrar imágenes de contenedores y canalizaciones CICD.

Los límites de frecuencia de descarga se anunciaron previamente en nuestro Términos de servicio. Echamos un vistazo más de cerca a los límites de frecuencia que entrarán en vigor el 1 de noviembre de 2020:

Plan gratuito, usuarios anónimos: 100 descargas en 6 horas
Plan gratuito, usuarios autorizados: 200 descargas en 6 horas
Plan profesional: ilimitado
Plan de equipo: ilimitado

La frecuencia de descarga de Docker se define como la cantidad de solicitudes de manifiesto a Docker Hub. Los límites de frecuencia de descarga de imágenes dependen del tipo de cuenta que solicita la imagen, no del tipo de cuenta del propietario de la imagen. Para usuarios anónimos (no autorizados), la frecuencia de descarga está vinculada a la dirección IP.

NB Recibirá más sutilezas y casos de mejores prácticas. sobre el curso Docker de los profesionales. Además, puede revisarlo cuando sea conveniente para usted, tanto en el tiempo como en el estado de ánimo.

Estamos recibiendo preguntas de los clientes y la comunidad sobre las capas de imágenes de contenedores. No consideramos las capas de imágenes cuando limitamos la frecuencia de descarga, porque limitamos las descargas de manifiestos y la cantidad de capas (solicitudes de blobs) actualmente es ilimitada. Este cambio se basa en los comentarios de la comunidad para que sea más fácil de usar para que los usuarios no tengan que contar capas en cada aspecto que usan.

Análisis detallado de las frecuencias de descarga de imágenes de Docker Hub

Dedicamos mucho tiempo a analizar la descarga de imágenes de Docker Hub para determinar el motivo del límite de velocidad y cómo limitarlo exactamente. Lo que vimos confirmó que prácticamente todos los usuarios están descargando imágenes a un ritmo predecible para los flujos de trabajo típicos. Sin embargo, hay una influencia notable de un pequeño número de usuarios anónimos, por ejemplo, alrededor del 30 % de todas las descargas provienen de solo el 1 % de los usuarios anónimos.

Cómo escala el negocio de Docker para servir a millones de desarrolladores, parte 2: datos salientes

Los nuevos límites se basan en este análisis, por lo que la mayoría de nuestros usuarios no se verán afectados. Estos límites están hechos para reflejar el uso normal por parte de los desarrolladores: aprendizaje de Docker, desarrollo de código, creación de imágenes, etc.

Ayudar a los desarrolladores a comprender mejor los límites de frecuencia de descarga

Ahora que entendíamos el impacto, y también dónde deberían estar los límites, teníamos que determinar las condiciones técnicas para la operación de estas restricciones. Restringir la descarga de imágenes desde el registro de Docker es bastante difícil. No encontrará una API para descargas en la descripción del registro, simplemente no existe. De hecho, la descarga de una imagen es una combinación de solicitudes de manifiesto y blobs en la API, y se ejecutan de manera diferente, según el estado de el cliente y la imagen solicitada.

Por ejemplo, si ya tiene una imagen, Docker Engine emitirá una solicitud de manifiesto, comprenderá que ya tiene todas las capas necesarias según el manifiesto aceptado y luego se detendrá. Por otro lado, si está descargando una imagen que admite varias arquitecturas, una solicitud de manifiesto devolverá una lista de manifiestos de imagen para cada arquitectura admitida. Docker Engine luego emitirá otra solicitud de manifiesto con respecto a la arquitectura particular en la que se está ejecutando y, a cambio, recibirá una lista de todas las capas en la imagen. Luego consultará por cada capa faltante (blob).

NB Este tema se trata más ampliamente en Curso acoplable, en el que analizaremos todas sus herramientas: desde abstracciones básicas hasta parámetros de red, los matices de trabajar con varios sistemas operativos y lenguajes de programación. Se familiarizará con la tecnología y comprenderá dónde y cómo utilizar mejor Docker.

Resulta que descargar una imagen es en realidad una o dos solicitudes de manifiesto, así como de cero a infinito: solicitudes de capas (blob). Históricamente, Docker ha rastreado la frecuencia de descarga capa por capa, ya que esto está más relacionado con el uso del ancho de banda. Sin embargo, escuchamos a la comunidad, que es más difícil, porque necesita realizar un seguimiento de la cantidad de capas solicitadas, lo que llevará a ignorar las mejores prácticas con respecto al trabajo con Dockerfile, y también más intuitivo para los usuarios que solo quieren trabajar con el registro sin mucha comprensión de los detalles.

Por lo tanto, limitamos la cantidad de solicitudes en función de las solicitudes de manifiesto. Esto está directamente relacionado con la descarga de imágenes, que es fácil de entender para los usuarios. Realmente hay un pequeño matiz: si intenta descargar una imagen que ya existe, la solicitud aún se tendrá en cuenta, incluso si no descarga las capas. En cualquier caso, esperamos que este método de limitar la frecuencia de las descargas sea justo y fácil de usar.

Esperamos sus comentarios

Supervisaremos las restricciones y haremos los ajustes apropiados en función de los casos de uso comunes para garantizar que las restricciones sean apropiadas para cada tipo de usuario y, en particular, intentaremos nunca impedir que los desarrolladores hagan su trabajo.

Estén atentos en las próximas semanas para otro artículo sobre cómo ajustar los sistemas de combate e IC a la luz de estos cambios.

Finalmente, como parte de nuestro apoyo a la comunidad de código abierto, ofreceremos nuevos planes de precios para código abierto hasta el 1 de noviembre. Para aplicar, por favor complete el formulario aquí.

Para obtener más información sobre los últimos cambios en los términos de servicio, visite Preguntas Frecuentes.

Para aquellos que necesitan aumentar sus límites de frecuencia de descarga de imágenes, Docker ofrece descargas de imágenes ilimitadas como característica. Planes Pro o Team. Como siempre, agradecemos comentarios y preguntas. aquí.

Fuente: habr.com

Añadir un comentario