Catalog Details
CATEGORY
deploymentCREATED BY
UPDATED AT
August 08, 2024VERSION
0.0.1
What this pattern does:
Depending upon use cases, when an ingress gateway must handle a large number of incoming TLS and secured service-to-service connections through sidecar proxies, the load on Envoy increases. The potential performance depends on many factors, such as size of the cpuset on which Envoy is running, incoming traffic patterns, and key size. These factors can impact Envoy serving many new incoming TLS requests. To achieve performance improvements and accelerated handshakes, a new feature was introduced in Envoy 1.20 and Istio 1.14. It can be achieved with 3rd Gen Intel® Xeon® Scalable processors, the Intel® Integrated Performance Primitives (Intel® IPP) crypto library, CryptoMB Private Key Provider Method support in Envoy, and Private Key Provider configuration in Istio using ProxyConfig.\\\\\\\\\\\\\\
\\\\\\\\\\\\\\
Envoy uses BoringSSL as the default TLS library. BoringSSL supports setting private key methods for offloading asynchronous private key operations, and Envoy implements a private key provider framework to allow creation of Envoy extensions which handle TLS handshakes private key operations (signing and decryption) using the BoringSSL hooks.\\\\\\\\\\\\\\
\\\\\\\\\\\\\\
CryptoMB private key provider is an Envoy extension which handles BoringSSL TLS RSA operations using Intel AVX-512 multi-buffer acceleration. When a new handshake happens, BoringSSL invokes the private key provider to request the cryptographic operation, and then the control returns to Envoy. The RSA requests are gathered in a buffer. When the buffer is full or the timer expires, the private key provider invokes Intel AVX-512 processing of the buffer. When processing is done, Envoy is notified that the cryptographic operation is done and that it may continue with the handshakes.
Caveats and Consideration:
None
Compatibility:
Recent Discussions with "meshery" Tag
- Aug 07 | Trying to build server on meshery is failing
- Aug 07 | Meshery Development Meeting | Aug 7th 2024
- Aug 04 | Unable to run Meshery locally
- Aug 04 | How to setup e2e testing environment with playwright and docker for Meshery
- Jul 31 | Unable to access meshery server after meshery server status is running
- Jan 13 | Successfully setup cloud based developer environment to contribute to Meshery using GitHub Codespaces
- Jul 20 | Looking for a Meshmate for LFX
- Jul 17 | Meshery Development Meeting | July 17th 2024
- Nov 11 | Unable setup local Meshery development server
- Jul 13 | Looking for a Meshmate as I want to apply for this project in LFX mentorship program