Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions content/tutorials/en/api-gateway-webservices.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Use an API Gateway in Front of Multiple Services
sidebar_label: API Gateway for Multiple Services
sidebar_position: 45
description: Configure an API gateway on SleakOps to route requests to multiple backend web services — path-based routing, authentication, rate limiting, and load balancing patterns.
tags:
- kubernetes
- networking
- deployment
image: /img/tutorials/api-gateway-webservices/api-gateway-webservices.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Configure an API gateway on SleakOps to route requests to multiple backend web services — enabling path-based routing, centralized authentication, rate limiting, and simplified client-facing APIs.

{/* TODO: Add full tutorial content */}
{/* Reference: https://hub.qovery.com/guides/tutorial/use-an-api-gateway-in-front-of-multiple-services/ */}

## Why Use an API Gateway?

{/* TODO: Explain the pattern — single entry point, routing to multiple services,
centralized cross-cutting concerns (auth, rate limiting, logging) */}

## Architecture Overview

{/* TODO: Diagram showing gateway → service-a, service-b, service-c */}

## Step 1 — Deploy Your Backend Services

{/* TODO: Deploy multiple web services in the same SleakOps Environment */}

## Step 2 — Configure the API Gateway

{/* TODO: Options — AWS API Gateway, Kong, nginx ingress with path-based routing, Traefik */}

## Step 3 — Set Up Path-Based Routing

{/* TODO: Route /api/users → user-service, /api/orders → order-service, etc. */}

## Step 4 — Add Authentication

{/* TODO: JWT validation at the gateway, forwarding headers to services */}

## Step 5 — Configure Rate Limiting and Observability

{/* TODO: Rate limiting rules, logging, tracing headers */}
54 changes: 54 additions & 0 deletions content/tutorials/en/docker-desktop-alternative.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: Docker Desktop Alternatives
sidebar_label: Docker Desktop Alternatives
sidebar_position: 43
description: Free and open-source alternatives to Docker Desktop for running containers locally — Rancher Desktop, Podman Desktop, OrbStack, and Colima compared.
tags:
- docker
- performance
image: /img/tutorials/docker-desktop-alternative/docker-desktop-alternative.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Free and open-source alternatives to Docker Desktop for building and running containers locally — compared by setup complexity, performance, and compatibility.

{/* TODO: Add full tutorial content */}
{/* Reference: https://www.qovery.com/blog/4-best-docker-desktop-alternatives/ */}

## Why Consider an Alternative?

{/* TODO: Docker Desktop licensing changes for enterprise users, resource usage, etc. */}

## Alternatives Overview

{/* TODO:
| Tool | Platform | Free | Kubernetes | Notes |
|------|----------|------|------------|-------|
| Rancher Desktop | macOS, Windows, Linux | Yes | Yes | Uses containerd or dockerd |
| Podman Desktop | All | Yes | Partial | Daemonless, rootless |
| OrbStack | macOS only | Free tier | Yes | Very fast, low resource usage |
| Colima | macOS, Linux | Yes | Optional | CLI-only, Lima-based |
*/}

## Rancher Desktop

{/* TODO: Install, features, kubectl integration */}

## Podman Desktop

{/* TODO: Install, differences from Docker, compatibility layer */}

## OrbStack (macOS)

{/* TODO: Install, performance characteristics, drop-in Docker replacement */}

## Colima (macOS/Linux)

{/* TODO: CLI setup, VM configuration, Docker socket compatibility */}

## Recommendation

{/* TODO: Quick guidance on which to pick based on use case */}
40 changes: 40 additions & 0 deletions content/tutorials/en/e2e-testing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Build E2E Testing with Ephemeral Environments on SleakOps
sidebar_label: E2E Testing
sidebar_position: 38
description: Set up end-to-end testing pipelines with ephemeral environments on SleakOps — spin up isolated test environments per PR, run E2E tests, and tear down automatically.
tags:
- ci-cd
- kubernetes
- deployment
image: /img/tutorials/e2e-testing/e2e-testing.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Set up end-to-end testing with ephemeral environments on SleakOps — create an isolated environment per pull request, run your E2E test suite, and tear it down automatically when done.

{/* TODO: Add full tutorial content */}
{/* Reference: https://hub.qovery.com/guides/tutorial/build-e2e-testing-ephemeral-environments/ */}

## Prerequisites

{/* TODO: List prerequisites — SleakOps account, cluster, E2E test framework (Playwright/Cypress/etc.) */}

## Step 1 — Configure the Ephemeral Environment

{/* TODO: Describe how to create a short-lived Environment in SleakOps for testing */}

## Step 2 — Set Up the CI/CD Pipeline

{/* TODO: GitHub Actions / GitLab CI example that creates the environment, waits for it to be ready, runs tests, then deletes it */}

## Step 3 — Run the E2E Test Suite

{/* TODO: Show how to point the E2E framework at the ephemeral environment URL */}

## Step 4 — Tear Down the Environment

{/* TODO: Show cleanup step in the pipeline */}
53 changes: 53 additions & 0 deletions content/tutorials/en/kubernetes-migration-tips.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: Migrating to Kubernetes — Tips and Best Practices
sidebar_label: Kubernetes Migration Tips
sidebar_position: 40
description: Key tips and best practices for migrating your applications to Kubernetes on SleakOps — planning, containerization, configuration management, and common pitfalls.
tags:
- kubernetes
- deployment
- docker
image: /img/tutorials/kubernetes-migration-tips/kubernetes-migration-tips.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Key tips and best practices for migrating your applications to Kubernetes on SleakOps — from planning and containerization to configuration management and common pitfalls to avoid.

{/* TODO: Add full tutorial content */}

## Before You Start

{/* TODO: Prerequisites — containerized app, stateless vs stateful considerations, 12-factor app principles */}

## Step 1 — Containerize Your Application

{/* TODO: Dockerfile best practices, health checks, graceful shutdown */}

## Step 2 — Manage Configuration and Secrets

{/* TODO: Use Var Groups for env vars, Kubernetes Secrets for sensitive data */}

## Step 3 — Handle Persistent Storage

{/* TODO: Stateless vs stateful workloads, PVCs, EBS/EFS options in SleakOps */}

## Step 4 — Set Resource Requests and Limits

{/* TODO: Why they matter, how to right-size, HPA */}

## Step 5 — Configure Health Checks

{/* TODO: Liveness, readiness probes — why they're critical for zero-downtime deploys */}

## Common Pitfalls

{/* TODO:
- Hardcoded config / secrets in images
- Missing graceful shutdown (SIGTERM handling)
- No resource limits (noisy neighbor problem)
- Storing state in container filesystem
- Ignoring log aggregation
*/}
57 changes: 57 additions & 0 deletions content/tutorials/en/migrate-ecs-to-kubernetes.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: Migrate from ECS to Kubernetes on SleakOps
sidebar_label: Migrate ECS to Kubernetes
sidebar_position: 41
description: Step-by-step guide for migrating containerized workloads from Amazon ECS to a SleakOps Kubernetes cluster — mapping ECS concepts to Kubernetes, service configuration, and networking.
tags:
- kubernetes
- aws
- deployment
- docker
image: /img/tutorials/migrate-ecs-to-kubernetes/migrate-ecs-to-kubernetes.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Migrate your containerized workloads from Amazon ECS to a SleakOps Kubernetes cluster — mapping ECS concepts to their Kubernetes equivalents and walking through the migration steps.

{/* TODO: Add full tutorial content */}

## ECS vs Kubernetes Concept Mapping

{/* TODO: Table mapping ECS concepts to K8s equivalents
| ECS | Kubernetes |
|-----|-----------|
| Task Definition | Pod spec |
| Service | Deployment + Service |
| Cluster | Namespace |
| Task Role | ServiceAccount + IAM Role |
| ALB Target Group | Ingress |
| CloudWatch Logs | Loki / CloudWatch via Fluent Bit |
*/}

## Step 1 — Audit Your ECS Workloads

{/* TODO: Inventory of task definitions, services, environment variables, secrets, volumes */}

## Step 2 — Create the SleakOps Project

{/* TODO: Create a Project in SleakOps pointing to the same repo/Dockerfile */}

## Step 3 — Migrate Environment Variables and Secrets

{/* TODO: Move task environment variables to SleakOps Var Groups; migrate Secrets Manager references to Kubernetes Secrets or SleakOps Dependencies */}

## Step 4 — Configure the Workload

{/* TODO: Set resources, replicas, health checks equivalent to ECS service settings */}

## Step 5 — Update DNS and Routing

{/* TODO: Point traffic to the new cluster endpoint; update Route53 or load balancer */}

## Step 6 — Cut Over and Decommission ECS

{/* TODO: Blue/green cutover strategy, monitoring, ECS teardown */}
45 changes: 45 additions & 0 deletions content/tutorials/en/tips-avoid-latency.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: Tips to Reduce Latency in Your Applications
sidebar_label: Tips to Reduce Latency
sidebar_position: 44
description: Practical techniques to identify and reduce latency in applications running on SleakOps — database replicas, avoiding synchronous third-party calls, and the secondary service pattern.
tags:
- performance
- database
- kubernetes
image: /img/tutorials/tips-avoid-latency/tips-avoid-latency.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

Practical techniques to identify and reduce latency in applications running on SleakOps — focusing on database access patterns, third-party integrations, and service isolation.

{/* TODO: Add full tutorial content */}

## 1. Avoid Synchronous Third-Party Calls in Your Web Service

{/* TODO: Explain the anti-pattern of blocking HTTP calls to external services in the request path.
Move them to background workers (see /tutorial/workers-use-cases).
Show request path before/after with estimated latency impact. */}

## 2. Use a Read Replica for Heavy Queries

{/* TODO: Explain read replicas in RDS — how to configure a replica in SleakOps,
how to point read-heavy queries (reports, dashboards, search) at the replica,
and how this reduces load and latency on the primary. */}

## 3. The Secondary Service Pattern

{/* TODO: Describe the pattern of offloading latency-sensitive operations to a second web service.
Example: main API handles user requests synchronously; a secondary service handles
async/heavy processing so the main API stays fast. */}

## 4. Connection Pooling

{/* TODO: Why too many DB connections hurt latency, and how connection pooling (PgBouncer) helps */}

## 5. Cache Frequently-Read Data

{/* TODO: Redis/ElastiCache for caching query results, session data, computed values */}
50 changes: 50 additions & 0 deletions content/tutorials/en/what-is-kubernetes-sleakops.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: What is Kubernetes and How Does SleakOps Help?
sidebar_label: What is Kubernetes?
sidebar_position: 46
description: A practical introduction to Kubernetes — what it is, why it matters, and how SleakOps simplifies Kubernetes cluster management and application deployment.
tags:
- kubernetes
image: /img/tutorials/what-is-kubernetes-sleakops/what-is-kubernetes-sleakops.png
---

import Zoom from "react-medium-image-zoom";
import "react-medium-image-zoom/dist/styles.css";
import { FiExternalLink } from "react-icons/fi";

A practical introduction to Kubernetes — what it is, the core concepts you need to know, and how SleakOps handles cluster management so you can focus on your applications.

{/* TODO: Add full tutorial content */}

## What is Kubernetes?

{/* TODO: Plain-language explanation — container orchestration, why you need it,
the problems it solves (scaling, self-healing, deployments, service discovery) */}

## Core Concepts

{/* TODO: Brief, practical explanations of:
- Pod
- Deployment / ReplicaSet
- Service
- Ingress
- Namespace
- ConfigMap / Secret
- PersistentVolume
*/}

## The Kubernetes Hierarchy in SleakOps

{/* TODO: Map SleakOps concepts to Kubernetes objects:
- Cluster → EKS cluster
- Environment → Namespace
- Project → Deployment(s) + Service(s)
- Workload → Pod template / Deployment
- Dependency → Helm chart (RDS, Redis, etc.)
*/}

## What SleakOps Manages For You

{/* TODO: Cluster provisioning, node management (Karpenter), networking (ALB Ingress),
storage (EBS/EFS CSI drivers), observability (Loki, Prometheus), upgrades */}

Loading