Je pense que une bonne question à poser, mais n'importe qui aura du mal à vous donner une réponse, car vos résultats varieront toujours et les réponses des personnes sur le terrain seraient trop spécifiques à leur situation particulière. J'ai une solution réelle que nous utilisons dans Azure. En fait, si vous décidez d'utiliser Azure, pensez à l'utiliser pour optimiser votre allocation d'instance de calcul pour Azure: http://www.paraleap.com :)
Je peux vous dire que vous souhaitez budgétiser au moins 20% d'heures de calcul supplémentaires en raison de à plusieurs reprises lorsque vous devez déployer/redéployer/redéployer à nouveau un environnement dans une zone de transit (qui coûte plus cher par incréments horaires) pour découvrir que quelque chose d'autre dans le cloud ne fonctionne pas lorsqu'il fonctionne dans la structure dev. Cela est particulièrement vrai dans le temps instable initial de votre application. Peu importe si vous disposez d'une grande équipe d'assurance qualité qui bouscule votre environnement Azure-QA ou si vous vous rendez chez des clients pour des tests bêta et qu'ils testent votre environnement Azure-Prod. Vous devrez souvent redéployer pour eux calme. En outre, comme je l'ai déjà mentionné, prévoyez d'ajuster votre nombre d'instances à la demande - espérons-le automatiquement ou sur un calendrier. Si vous allez écrire votre propre surveillance pour cela, ajoutez un/un tas/aux coûts de développement, aux coûts de stockage et aux coûts de transaction juste pour cela. Externaliser cela coûtera encore un peu, car les mesures de performance devront au moins être sauvegardées une fois et au moins rechargées une fois. Cela vous permettra d'économiser facilement jusqu'à 50-80% dans les coûts de l'instance de calcul, en fonction de la variation de votre demande.
Coûts de stockage - ceux-ci devraient être faciles à estimer si vous connaissez vos modèles d'utilisation et schéma cible ... Le problème est, si vous avez déjà travaillé avec des bases de données relationnelles et utilisez maintenant le stockage de table 4 fois la taille que vous auriez cru avoir votre base de données relationnelle. Avec le stockage de table, vous obtenez plus de dénormaliser ALOT. 3-4x peut-être même trop petit d'un multiplicateur - vos résultats peuvent varier.
Coûts de transaction. Je découvre qu'avec cela, j'ai été plus loin dans mes estimations. Venant du monde relationnel, je n'étais pas totalement préparé au niveau de dénormalisation que j'avais besoin de faire. La dénormalisation entraîne non seulement des coûts de stockage plus élevés, mais également un plus grand nombre d'appels (beaucoup plus d'appels) vers le stockage, ce qui augmente le nombre de transactions.
Malheureusement, ma nature de l'application, je ne peux pas très bien utiliser le modèle transactionnel. Si vous pouvez utiliser des transactions, où un tas de choses est stocké dans un PartitionKey dans une table et engagé avec une transaction - alors les coûts sont beaucoup moins. Donc, quoi que vous pensiez que vos coûts de transaction seront - multipliez cela par 10 ou plus pour être du côté pessimiste.
J'ai trouvé que les coûts de transfert étaient les plus faciles à planifier, probablement parce que ceux-ci font partie des interfaces et sont beaucoup mieux définis dès le départ. Votre kilométrage peut varier.Et enfin, les données de diagnostic - vous voudrez enregistrer un compteur de traces/performances/etc. information. Ne pas oublier de planifier pour cela. C'est un peu dénormalisé et peut prendre beaucoup de place. SQL Azure est génial car il ne facture pas par le coût de transaction et aucun coût de transfert si à l'intérieur du même centre de données - mais est très limité par l'espace et le coût pour stocker les données. Donc, je l'utilise pour les requêtes fréquentes, mais de petites données.
Hope this helps
Qu'en est-il le prix est difficile à comprendre? Les coûts dominants sont généralement "Combien d'heures courez-vous combien de machines virtuelles?" et "Combien de bande passante consommerez-vous?" – smarx
Si vous l'essayez en tant que développeur, et seulement en tant que développeur (pas d'utilisation publique), vous devez calculer avec 80 $/mois (c'est beaucoup plus que le 9.99 $ perçu). –