El objetivo de este benchmark es realizar una comparación entre el uso de KMS (AWS Key Management Service) vs la implementación de cifrado y descifrado dentro de una instancia de EC2 (c5.large) con el lenguaje Elixir y Java reactivo.
- Pruebas realizada con: Performance Analyzer.
execution: %{
steps: 10,
increment: 10,
duration: 10000,
constant_load: false
}
El valor predeterminado de la cuota de AWS (Cryptographic operations (RSA) request rate) es de 500 por segundo (compartidas) para claves KMS de RSA.
En los escenarios que se describen a continuación la cuota fue modificada a 1.000 transacciones por segundo. Si desea ver los resultados con los valores por defecto puede seguir el siguiente link
Para los casos de uso de Kms así se cuente con multiples instancias haciendo uso del servicio, el limite esta dado por la cuota que se tenga en aws. En otras palabras, si añadimos mas instancias podemos aumentar las transacciones por segundo para Elixir y Java, diferente que para Kms ya que estamos limitados por la cuota.
Nota: En los escenarios de alto uso de KMS es posible obtener mensajes de error con el siguiente mensaje:
ThrottlingException: You have exceeded the rate at which you may call KMS. Reduce the frequency of your calls.
Precio | |
---|---|
1 USD | 1 clave de KMS |
3.000 USD | 1.000 millones solicitudes (20.000 solicitudes dentro de la capa gratuita) x 0,03 USD / 10.000 solicitudes |
1 instancia x 0.085 USD x 730 horas en un mes = 62.05 USD (monthly onDemand cost)
Kms | Implementación (Elixir - Java) |
---|---|
Rotación de llaves automática | Se debe realizar el manejo de llaves y rotación de llaves |
Si ya se tienen alguna implementación y esta no coincide con el manejo de encode o de máscaras de Kms, se debe ajustar estas partes para que coincidan con los soportados con Kms | Implementación según necesidad |
Las transacciones por segundo son limitadas según la cuota que se tenga en aws (así se tengan múltiples instancias consumiendo el servicio) | Las transacciones por segundo pueden aumentar aumentando el numero de instancias |
No es posible aumentar automáticamente la capacidad, debe ser vía solicitud a aws de aumento de cuota | La infraestructura puede aumentar según demanda |