<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yevgeni Shapiro</title>
    <description>The latest articles on DEV Community by Yevgeni Shapiro (@yevgeni_shapiro).</description>
    <link>https://dev.to/yevgeni_shapiro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3675867%2F2e38c5b6-cb64-4cca-a39b-639f2a63c2e4.jpg</url>
      <title>DEV Community: Yevgeni Shapiro</title>
      <link>https://dev.to/yevgeni_shapiro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yevgeni_shapiro"/>
    <language>en</language>
    <item>
      <title>Building a Multi-Tenant Platform with vCluster on AWS</title>
      <dc:creator>Yevgeni Shapiro</dc:creator>
      <pubDate>Wed, 15 Apr 2026 17:25:29 +0000</pubDate>
      <link>https://dev.to/yevgeni_shapiro/building-a-multi-tenant-building-a-multi-tenant-platform-with-vcluster-on-aws-d19</link>
      <guid>https://dev.to/yevgeni_shapiro/building-a-multi-tenant-building-a-multi-tenant-platform-with-vcluster-on-aws-d19</guid>
      <description>&lt;p&gt;🚀 Building a Multi-Tenant Platform with vCluster on AWS&lt;/p&gt;

&lt;p&gt;“Model Once, Run Anywhere” with Shared Kubernetes Infrastructure&lt;/p&gt;

&lt;p&gt;Modern platform engineering is all about balancing developer autonomy with operational efficiency. The architecture in your diagram captures a powerful pattern: using virtual Kubernetes clusters (vClusters) on a shared host cluster to enable true multi-tenancy—without the overhead of managing dozens of physical clusters.&lt;/p&gt;

&lt;p&gt;🧠 The Core Idea&lt;/p&gt;

&lt;p&gt;Instead of provisioning separate Kubernetes clusters for every team or workload, you:&lt;/p&gt;

&lt;p&gt;Run a single shared host cluster&lt;br&gt;
Spin up isolated tenant vClusters inside it&lt;br&gt;
Let each team operate independently as if they had their own cluster&lt;/p&gt;

&lt;p&gt;🏗️ Architecture Overview&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Developer Workflow
Developers push code to GitHub
CI/CD pipelines (via GitHub Actions) trigger deployments
Infrastructure and applications are defined declaratively (GitOps-ready)&lt;/li&gt;
&lt;li&gt;Shared Host Cluster (AWS EKS)
Runs on Amazon Web Services using Amazon EKS
Provides:
Compute (EC2 / Fargate)
Networking
Storage
Hosts multiple vClusters (Tenant A, Tenant B, etc.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 This drastically reduces:&lt;/p&gt;

&lt;p&gt;Cluster sprawl&lt;br&gt;
Cost (no need for full clusters per team)&lt;br&gt;
Operational overhead&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tenant Isolation with vCluster&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each team gets:&lt;/p&gt;

&lt;p&gt;A dedicated Kubernetes API&lt;br&gt;
Isolated namespaces and workloads&lt;br&gt;
Full control (RBAC, CRDs, deployments)&lt;/p&gt;

&lt;p&gt;But under the hood:&lt;/p&gt;

&lt;p&gt;All workloads share the same physical nodes&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Platform Services Layer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each vCluster can integrate with platform services like:&lt;/p&gt;

&lt;p&gt;🔐 Identity &amp;amp; Access via Authentik&lt;br&gt;
📦 Developer portal via Backstage&lt;br&gt;
📡 Event streaming via Apache Kafka&lt;/p&gt;

&lt;p&gt;This enables a true internal developer platform (IDP) experience.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>cloud</category>
      <category>aws</category>
      <category>design</category>
    </item>
    <item>
      <title>Building a Secure, Scalable Platform on AWS</title>
      <dc:creator>Yevgeni Shapiro</dc:creator>
      <pubDate>Wed, 15 Apr 2026 16:40:36 +0000</pubDate>
      <link>https://dev.to/yevgeni_shapiro/building-a-secure-scalable-platform-on-aws-with-github-actions-terraform-and-eks-41k9</link>
      <guid>https://dev.to/yevgeni_shapiro/building-a-secure-scalable-platform-on-aws-with-github-actions-terraform-and-eks-41k9</guid>
      <description>&lt;p&gt;Modern cloud-native applications demand automation, security, and scalability from day one. This architecture demonstrates how to combine GitOps, Infrastructure as Code, and managed Kubernetes to build a production-ready delivery platform on AWS.&lt;/p&gt;

&lt;p&gt;Let’s break down how this end-to-end system works and why it’s a powerful pattern for teams operating at scale.&lt;/p&gt;

&lt;p&gt;🚀 Architecture Overview&lt;/p&gt;

&lt;p&gt;At a high level, the workflow integrates:&lt;/p&gt;

&lt;p&gt;Source control via GitHub&lt;br&gt;
CI/CD pipelines using GitHub Actions&lt;br&gt;
Infrastructure provisioning with Terraform&lt;br&gt;
Runtime platform powered by Amazon Web Services (AWS)&lt;br&gt;
Kubernetes workloads on Amazon EKS&lt;/p&gt;

&lt;p&gt;This creates a fully automated pipeline from code commit → infrastructure deployment → application rollout.&lt;/p&gt;

&lt;p&gt;🔐 Secure CI/CD with OIDC (No Static Credentials)&lt;/p&gt;

&lt;p&gt;A key highlight is the use of OIDC authentication between GitHub Actions and AWS.&lt;/p&gt;

&lt;p&gt;Instead of storing long-lived AWS credentials:&lt;/p&gt;

&lt;p&gt;GitHub Actions requests a short-lived token&lt;br&gt;
AWS validates it via IAM roles&lt;br&gt;
Permissions are tightly scoped and temporary&lt;/p&gt;

&lt;p&gt;This significantly improves security posture and aligns with modern zero-trust principles.&lt;/p&gt;

&lt;p&gt;⚙️ Infrastructure as Code with Terraform&lt;/p&gt;

&lt;p&gt;Using Terraform, the pipeline provisions:&lt;/p&gt;

&lt;p&gt;VPC &amp;amp; Subnets (network isolation)&lt;br&gt;
EKS Cluster (managed Kubernetes control plane)&lt;br&gt;
Node Groups (compute scaling)&lt;br&gt;
RDS (PostgreSQL) for persistent storage&lt;br&gt;
ElastiCache (Redis) for caching and performance&lt;/p&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;p&gt;Repeatable environments&lt;br&gt;
Version-controlled infrastructure&lt;br&gt;
Easy rollback and drift detection&lt;br&gt;
☸️ Kubernetes Platform with EKS&lt;/p&gt;

&lt;p&gt;The core runtime is powered by Amazon EKS, enabling:&lt;/p&gt;

&lt;p&gt;Key Components:&lt;br&gt;
Ingress Controller → external traffic routing&lt;br&gt;
Argo CD → GitOps-based application delivery&lt;br&gt;
Node Groups → scalable worker nodes&lt;br&gt;
Why this matters:&lt;br&gt;
Teams can deploy independently&lt;br&gt;
Declarative deployments via Git&lt;br&gt;
Clear separation of infra and app layers&lt;br&gt;
🔄 GitOps Deployment with ArgoCD&lt;/p&gt;

&lt;p&gt;Instead of pushing deployments from CI:&lt;/p&gt;

&lt;p&gt;Git becomes the single source of truth&lt;br&gt;
ArgoCD continuously syncs cluster state with Git&lt;br&gt;
Rollbacks are as simple as reverting a commit&lt;/p&gt;

&lt;p&gt;This pattern ensures:&lt;/p&gt;

&lt;p&gt;Auditability&lt;br&gt;
Consistency across environments&lt;br&gt;
Reduced operational overhead&lt;br&gt;
📊 Observability &amp;amp; Monitoring&lt;/p&gt;

&lt;p&gt;Production systems require deep visibility. This architecture includes:&lt;/p&gt;

&lt;p&gt;Amazon CloudWatch for logs and metrics&lt;br&gt;
Amazon SNS for alerting and notifications&lt;br&gt;
What you get:&lt;br&gt;
Centralized logging&lt;br&gt;
Real-time alerting&lt;br&gt;
Operational insights into microservices&lt;br&gt;
🧩 Application Layer&lt;/p&gt;

&lt;p&gt;Applications run as containerized microservices (Pods) inside EKS.&lt;/p&gt;

&lt;p&gt;They integrate with:&lt;/p&gt;

&lt;p&gt;RDS → relational data&lt;br&gt;
ElastiCache (Redis) → fast in-memory access&lt;br&gt;
Logging pipelines → observability stack&lt;/p&gt;

&lt;p&gt;This enables:&lt;/p&gt;

&lt;p&gt;Horizontal scaling&lt;br&gt;
Resilience&lt;br&gt;
Loose coupling between services&lt;/p&gt;

&lt;p&gt;✅ Key Benefits of This Architecture&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Security First
No hardcoded credentials (OIDC)
Fine-grained IAM roles&lt;/li&gt;
&lt;li&gt;Fully Automated Delivery
Commit → Deploy pipeline
No manual intervention&lt;/li&gt;
&lt;li&gt;Scalable by Design
Kubernetes auto-scaling
Managed AWS services&lt;/li&gt;
&lt;li&gt;GitOps Simplicity
Everything defined in Git
Easy rollbacks and audits&lt;/li&gt;
&lt;li&gt;Production-Ready Observability
Metrics, logs, and alerts built-in&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>kubernetes</category>
      <category>terraform</category>
    </item>
    <item>
      <title>Web3 Application Stack on Kubernetes</title>
      <dc:creator>Yevgeni Shapiro</dc:creator>
      <pubDate>Wed, 15 Apr 2026 16:38:12 +0000</pubDate>
      <link>https://dev.to/yevgeni_shapiro/web3-application-stack-on-kubernetes-29b8</link>
      <guid>https://dev.to/yevgeni_shapiro/web3-application-stack-on-kubernetes-29b8</guid>
      <description>&lt;p&gt;Web3 Application Stack on K3s Kubernetes — Lightweight, Scalable, Production-Ready 🚀 &lt;/p&gt;

&lt;p&gt;Designing a reliable Web3 infrastructure doesn’t always require heavyweight clusters. By leveraging K3s, we can build a streamlined, cloud-native blockchain stack optimized for performance, cost, and operational simplicity.&lt;/p&gt;

&lt;p&gt;🔐 Secure Access Layer&lt;br&gt;
NGINX Ingress with TLS provides secure entry for Web3 dApps and browsers, ensuring encrypted traffic and centralized routing.&lt;/p&gt;

&lt;p&gt;🧠 Indexing &amp;amp; Query Layer&lt;br&gt;
Graph Node exposes GraphQL endpoints for efficient blockchain data indexing and querying, enabling fast subgraph-driven analytics and dApp performance.&lt;/p&gt;

&lt;p&gt;📡 RPC Abstraction&lt;br&gt;
An NGINX-based RPC proxy decouples blockchain clients from consumers, supporting JSON-RPC over HTTP and WebSocket for scalable node access.&lt;/p&gt;

&lt;p&gt;⛓ Blockchain Execution Layer&lt;br&gt;
Geth runs as a StatefulSet with persistent storage, maintaining blockchain state and enabling reliable synchronization.&lt;/p&gt;

&lt;p&gt;🗄 Data Persistence&lt;br&gt;
PostgreSQL stores indexed data with persistent volumes, ensuring durability and high-performance query workloads.&lt;/p&gt;

&lt;p&gt;📦 Decentralized Storage&lt;br&gt;
IPFS enables distributed storage of subgraph manifests and metadata, aligning with decentralized architecture principles.&lt;/p&gt;

&lt;p&gt;💡 Why K3s for Web3?&lt;br&gt;
• Lightweight Kubernetes distribution&lt;br&gt;
• Lower infrastructure footprint&lt;br&gt;
• Simplified edge &amp;amp; on-prem deployments&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>blockchain</category>
      <category>kubernetes</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
