Une application, deux chemins vers un travail utile
Ce scénario illustratif est un petit produit de reporting, pas une étude de cas client ni une application livrée. Son chemin synchrone authentifie un compte et lit les métadonnées du rapport. Son chemin asynchrone crée une exportation CSV. PostgreSQL conserve l'état de l'application, une file d'attente distribue le travail et une destination distincte stocke les copies de récupération.
L'opérateur installe et maintient ces composants. Un profil VPS ne crée pas automatiquement la base de données, la file d'attente, la configuration HTTPS ou l'application. Décidez où résident les données persistantes avant de démarrer un conteneur.
Budgétisez séparément la latence de l'API et le débit des tâches
App 2 commence avec 2 vCPU, 4 GB RAM, 60 GB stockage et 2 TB transfert mensuel. Ce sont des allocations, pas une promesse sur le nombre de comptes, de requêtes ou d'exportations qu'il peut prendre en charge. Commencez une feuille de calcul pour les processus API, la base de données, un worker, l'hôte et le travail de version qui se chevauche.
Le feuille de calcul illustrative 3,840 MiB laisse trop peu de confiance près d'une frontière nominale 4 GB. Si les mesures soutiennent cette forme, App 2 plus 2 GB RAM totalise $15.00 par mois avant les remises de durée. Cela ajoute de la mémoire, pas du CPU ni une indépendance de base de données. Comparez Scale 4 si le CPU et la mémoire ont besoin d'un budget de départ plus important.
Surveillez l'âge de la tâche la plus ancienne et le taux d'achèvement utile parallèlement à la latence de l'API. Une file d'attente croissante avec un faible CPU peut indiquer une attente de stockage ou de base de données. N'achetez pas de calcul pour compenser une exportation qui réessaie de manière répétée une entrée invalide.
Choisissez le couplage que vous pouvez exploiter
Un seul hôte simplifie la première carte de service et évite une certaine coordination entre hôtes, mais partage la mémoire, le disque, la maintenance et les défaillances. Une exportation coûteuse peut interférer avec les requêtes ordinaires. Limitez la concurrence des workers et sécurisez la livraison répétée avant d'ajouter des processus.
Séparez les workers lorsqu'une charge de travail réaliste nuit systématiquement au comportement de l'API, lorsque leurs exigences d'exécution divergent ou lorsque la mise à l'échelle et la maintenance indépendantes deviennent importantes. Séparez la base de données lorsque ses propres besoins en ressources, en accès ou en récupération justifient le travail de mise en réseau et d'exploitation supplémentaire. Ce sont des choix de conception, pas des fonctionnalités automatiquement fournies par la mise à niveau d'un plan.
Prouvez la forme avec un exercice reproductible
Utilisez des comptes synthétiques et un jeu de données représentatif. Exécutez ensemble des lectures API, une grande exportation et un chevauchement de version. Enregistrez la latence, les erreurs, le nombre de workers actifs, l'âge de la tâche la plus ancienne, la mémoire et le disque temporaire. Redémarrez ensuite un worker après qu'une sortie est écrite mais avant que l'achèvement ne soit enregistré ; confirmez que l'application publie toujours un seul résultat logique.
Répétez un exercice de récupération pour la base de données et un téléversement sur une cible isolée. Capturez le résultat réel et réparez les dépendances manquantes. N'exécutez pas cet exercice sur des données clients ou des destinations réelles de paiement et d'e-mail sans un plan d'exploitation distinct.
Choisissez une période après avoir choisi les ressources
Les totaux suivants utilisent la configuration de base actuelle d'App 2. Les options de ressources augmentent le sous-total mensuel et reçoivent la même remise de durée sélectionnée. La période réduite complète est payée d'avance ; plus de mois n'augmentent pas l'allocation de CPU, de RAM ou de transfert mensuel.
| Période | Avant remise | Économie | Total USD |
|---|---|---|---|
| 1 mois | $12.00 | $0.00 (0%) | $12.00 |
| 3 mois | $36.00 | $0.00 (0%) | $36.00 |
| 6 mois | $72.00 | $20.16 (28%) | $51.84 |
| 12 mois | $144.00 | $72.00 (50%) | $72.00 |
Confirmez l'inventaire réel, les responsabilités de service, les taxes et les conditions de renouvellement dans les faits sur le service. Une référence de paiement locale n'établit pas une commande enregistrée ni un serveur livré. Conservez votre feuille de calcul de charge de travail et révisez-la lorsque l'application change.
Transformez le budget en configuration.
Examinez tous les choix et le total complet payé d'avance.