PerfKit Benchmarker es una herramienta de evaluación comparativa de código abierto que se utiliza para medir y comparar ofertas en la nube. PerfKit Benchmarker se rige por la licencia Apache 2. PerfKit Benchmarker es un proyecto comunitario en el que participan más de 500 personas, entre investigadores, instituciones académicas y empresas, junto con su creador, Google .
General
PerfKit Benchmarker (PKB) es un esfuerzo comunitario para brindar una forma repetible, consistente y abierta de medir el rendimiento en la nube. Es compatible con una lista cada vez mayor de proveedores de nube, entre los que se incluyen: Alibaba Cloud , Amazon Web Services , CloudStack , DigitalOcean , Google Cloud Platform , Kubernetes , Microsoft Azure , OpenStack , Rackspace e IBM Bluemix (Softlayer) . Además de los proveedores de nube, admite la orquestación de contenedores, incluido Kubernetes .y Mesosy estaciones de trabajo locales "estáticas" y clústeres de computadoras.
El objetivo es crear un marco de referencia dinámico de código abierto que represente cómo los desarrolladores de la nube crean aplicaciones, evalúan alternativas y aprenden a diseñar arquitecturas de aplicaciones para cada plataforma. Es dinámico porque evolucionará rápidamente a medida que los desarrolladores cambien.
PerfKit Benchmarker mide el tiempo total de aprovisionamiento de recursos en la nube, además de informar sobre las métricas más comunes de rendimiento máximo, como latencia, rendimiento, tiempo de finalización e IOPS. PerfKit Benchmarker simplifica la ejecución de pruebas de rendimiento en proveedores de nube compatibles mediante comandos unificados y sencillos. Está diseñado para funcionar a través de las herramientas de línea de comandos proporcionadas por el proveedor.
PerfKit Benchmarker contiene un conjunto canónico de pruebas de rendimiento públicas. Todas las pruebas se ejecutan con su estado y configuración predeterminados/iniciales (sin optimizar para ningún proveedor). Esto permite realizar pruebas de rendimiento en diferentes plataformas en la nube, obteniendo una visión transparente del rendimiento, la latencia, la varianza y la sobrecarga de la aplicación. [ 1 ]
Historia
PerfKit Benchmarker (PKB) fue creado por Anthony F. Voellm, Alain Hamel y Eric Hankland en Google en 2014. Una vez que se estableció una versión "alfa" inicial, Anthony F. Voellm e Ivan Santa Maria Filho crearon una comunidad que incluía a ARM, Broadcom, Canonical, CenturyLink, Cisco, CloudHarmony, CloudSpectator, EcoCloud@EPFL, Intel, Mellanox, Microsoft, Qualcomm Technologies, Inc., Rackspace, Red Hat, Tradeworx Inc. y Thesys Technologies LLC.
Esta comunidad colaboró discretamente en un proyecto privado de GitHub para crear una forma abierta de medir el rendimiento en la nube. El 11 de febrero de 2015, se lanzó la primera versión beta pública, anunciada en una entrada de blog, momento en el que el proyecto de GitHub quedó abierto a todo el mundo. Tras casi un año y con una gran acogida (más de 600 participantes en GitHub), el 10 de diciembre de 2015 se lanzó la versión 1.0.0 junto con un diseño arquitectónico detallado .
Puntos de referencia
Lista de pruebas de rendimiento disponibles de PerfKitBenchmarker: (El conjunto más reciente de pruebas de rendimiento se puede encontrar en el archivo readme de GitHub. [ 2 ] )
Participantes de la industria
Desde que Google liberó el código fuente de PerfKitBenchmarker, se convirtió en un proyecto colaborativo de más de 30 investigadores, instituciones académicas y empresas líderes del sector. Entre estas organizaciones se incluyen: ARM , Broadcom , Canonical , CenturyLink , Cisco , CloudHarmony , Cloud Spectator , EcoCloud @ EPFL , Intel , Mellanox , Microsoft , Qualcomm Technologies , Rackspace , Red Hat y Thesys Technologies . Además, Stanford y el MIT organizan debates trimestrales sobre los benchmarks y la configuración predeterminados propuestos por la comunidad. EcoCloud @ EPFL está integrando CloudSuite en PerfKit Benchmarker.
Ejecuciones de ejemplo
- En la plataforma Google Cloud
$ ./pkb.py --cloud = GCP --project = ${ GCP_PROJECT_ID } --benchmarks = iperf --machine_type = f1-micro
- En AWS
$ ./pkb.py --cloud = AWS --benchmarks = iperf --machine_type = t1.micro
- En Azure
$ ./pkb.py --cloud = Azure --machine_type = ExtraSmall --benchmarks = iperf
- En Rackspace
$ ./pkb.py --cloud = Rackspace --machine_type = standard1 --benchmarks = iperf
- En una máquina local
$ ./pkb.py --stack_vm_file = local_config.json --benchmarks = iperf
Referencias
- computación en la nube
- Puntos de referencia (informática)