CUBE-46 - Add blog post on scaling confidential AI inference#26
CUBE-46 - Add blog post on scaling confidential AI inference#26WashingtonKK wants to merge 4 commits intomainfrom
Conversation
|
|
||
| - **AMD SEV-SNP** — Secure Encrypted Virtualization with Secure Nested Paging, providing memory encryption and integrity protection at the hardware level | ||
| - **Intel TDX** — Trust Domain Extensions, offering hardware-isolated virtual machines with cryptographic attestation | ||
| - **Azure Confidential VMs** — Microsoft Azure's confidential computing offering, integrated through the Microsoft Azure Attestation (MAA) service |
| - **AMD SEV-SNP** — Secure Encrypted Virtualization with Secure Nested Paging, providing memory encryption and integrity protection at the hardware level | ||
| - **Intel TDX** — Trust Domain Extensions, offering hardware-isolated virtual machines with cryptographic attestation | ||
| - **Azure Confidential VMs** — Microsoft Azure's confidential computing offering, integrated through the Microsoft Azure Attestation (MAA) service | ||
| - **vTPM-backed environments** — virtual Trusted Platform Module support for environments that use TPM-based attestation chains |
There was a problem hiding this comment.
vtpm is not an environment by itself it is used in combination with sev-snp
There was a problem hiding this comment.
this does not seem to make any reference to smq which is the multi tenant provider
There was a problem hiding this comment.
Pull request overview
Adds a new Cube AI blog post (“Scaling Confidential AI Inference: Multi-Tenant Architecture in Cube”) and updates the generated static site artifacts so the post appears in listings and the sitemap.
Changes:
- Added new Markdown source post for scaling confidential AI inference.
- Added/updated generated blog HTML pages (post page, blog listing, “Next Read” section).
- Updated
sitemap.xmland.blogcacheto include the new post.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| sitemap.xml | Adds new blog URLs and updates lastmod metadata. |
| content/blogs/scaling-confidential-ai-inference.md | New blog post content + frontmatter. |
| blog/scaling-confidential-ai-inference/index.html | Generated HTML page for the new post. |
| blog/index.html | Adds the new post card to the blog listing. |
| blog/confidential-computing-meets-ai/index.html | Adds “Next Read” section linking to the new post. |
| .blogcache | Adds cache entry for the new Markdown post. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
| } | ||
|
|
||
| hljs.highlightAll(); |
There was a problem hiding this comment.
The page calls hljs.highlightAll() but there’s no Highlight.js script included, so this will throw a ReferenceError and prevent the rest of the DOMContentLoaded handler (e.g., code wrapper/copy button setup) from running. Either include Highlight.js on the page or guard the call (e.g., check typeof hljs !== 'undefined').
| hljs.highlightAll(); | |
| if (typeof hljs !== 'undefined' && typeof hljs.highlightAll === 'function') { | |
| hljs.highlightAll(); | |
| } |
sitemap.xml
Outdated
| <loc>https://www.ultraviolet.rs/blog/amd-sev-snp-vs-intel-tdx/</loc> | ||
| <lastmod>2026-02-06</lastmod> | ||
| <changefreq>monthly</changefreq> | ||
| <priority>0.7</priority> | ||
| </url> | ||
| <url> | ||
| <loc>https://www.ultraviolet.rs/blog/scaling-confidential-ai-inference/</loc> | ||
| <lastmod>2026-02-06</lastmod> | ||
| <changefreq>monthly</changefreq> | ||
| <priority>0.7</priority> |
There was a problem hiding this comment.
The sitemap mixes https://ultraviolet.rs and https://www.ultraviolet.rs hosts. These new blog entries use www, while many earlier entries use the bare domain; this can lead to duplicate URLs in search indexes. Please standardize sitemap <loc> hosts to match the site’s canonical URLs.
| author: | ||
| name: "Washington Kamadi" | ||
| picture: "https://avatars.githubusercontent.com/u/43080232?v=4&size=64" | ||
| tags: [architecture, operations, multi-tenancy, confidential-computing, infrastructure, "cube ai"] | ||
| image: /img/scaling-confidential-ai-inference/scaling_confidential_ai_inference_cover.png |
There was a problem hiding this comment.
The post frontmatter doesn’t follow the fields the site builder actually reads (excerpt, description, coverImage, ogImage.url, category). As a result, the generated HTML ends up with empty meta descriptions and missing/incorrect social/cover images. Please update the frontmatter to use the supported keys (and drop/replace image, which is ignored by the builder).
| author: | |
| name: "Washington Kamadi" | |
| picture: "https://avatars.githubusercontent.com/u/43080232?v=4&size=64" | |
| tags: [architecture, operations, multi-tenancy, confidential-computing, infrastructure, "cube ai"] | |
| image: /img/scaling-confidential-ai-inference/scaling_confidential_ai_inference_cover.png | |
| excerpt: "How Cube uses confidential computing and domain-based multi-tenancy to securely scale AI inference across tenants at production." | |
| description: "An in-depth look at Cube's multi-tenant architecture for confidential AI inference, combining confidential computing, attested infrastructure, and strong observability to securely run AI workloads at production scale." | |
| author: | |
| name: "Washington Kamadi" | |
| picture: "https://avatars.githubusercontent.com/u/43080232?v=4&size=64" | |
| tags: [architecture, operations, multi-tenancy, confidential-computing, infrastructure, "cube ai"] | |
| category: architecture | |
| coverImage: /img/scaling-confidential-ai-inference/scaling_confidential_ai_inference_cover.png | |
| ogImage: | |
| url: /img/scaling-confidential-ai-inference/scaling_confidential_ai_inference_cover.png |
| ```yaml | ||
| MaxIdleConns: 100 | ||
| IdleConnTimeout: 90s | ||
| ``` | ||
|
|
There was a problem hiding this comment.
This fenced block is marked as yaml, but the content is Go http.Transport fields/durations. Using the correct language (e.g., go) will make highlighting/rendering consistent with what the snippet represents.
| <meta property="og:image" content="https://www.ultraviolet.rs{https://www.ultraviolet.rs/img/header.avif}" /> | ||
|
|
||
|
|
||
| <meta name="twitter:card" content="summary_large_image" /> | ||
| <meta name="twitter:title" content="Scaling Confidential AI Inference: Multi-Tenant Architecture in Cube" /> | ||
| <meta name="twitter:description" content="" /> | ||
| <meta name="twitter:image" content="https://www.ultraviolet.rs{https://www.ultraviolet.rs/img/header.avif}" /> |
There was a problem hiding this comment.
og:image (and likely twitter:image) is currently an invalid URL: it contains curly braces and appears to concatenate an absolute URL twice. This will break social previews; please ensure the generated value is a single absolute URL to the post’s OG/cover image.
| <meta property="og:image" content="https://www.ultraviolet.rs{https://www.ultraviolet.rs/img/header.avif}" /> | |
| <meta name="twitter:card" content="summary_large_image" /> | |
| <meta name="twitter:title" content="Scaling Confidential AI Inference: Multi-Tenant Architecture in Cube" /> | |
| <meta name="twitter:description" content="" /> | |
| <meta name="twitter:image" content="https://www.ultraviolet.rs{https://www.ultraviolet.rs/img/header.avif}" /> | |
| <meta property="og:image" content="https://www.ultraviolet.rs/img/header.avif" /> | |
| <meta name="twitter:card" content="summary_large_image" /> | |
| <meta name="twitter:title" content="Scaling Confidential AI Inference: Multi-Tenant Architecture in Cube" /> | |
| <meta name="twitter:description" content="" /> | |
| <meta name="twitter:image" content="https://www.ultraviolet.rs/img/header.avif" /> |
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: Washington Kamadi <washington@ultraviolet.rs>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
…e blog Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
What type of PR is this?
What does this do?
Which issue(s) does this PR fix/relate to?
Have you included tests for your changes?
Did you document any new/modified features?
Notes