Skip to content
Open
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
43 changes: 37 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,45 @@
## Intégration Continue

# Production
L'écosystème technique d'aujourd'hui nous apporte beaucoup de solutions pour la plupart des problèmes d'hier, ce qui nous permet de nous concentrer principalement sur le produit en tant que tel. Nous utilisons différents services externes pour les besoins annexes (envoi d'emails, moyens de paiement, etc).

La plupart de ces services sont payants, de quelques dizaines d'euros par mois à quelque centaines pour les plus gros projets, mais évitent de payer des développeurs plusieurs milliers d'euros pour assurer du développement et de la maintenance supplémentaire.

Nous créons souvent un document partagé avec notre client dans lequel nous listons les services auxquels nous devons souscrire, leur coût, ainsi que les identifiants et mot de passes. Les services que nous utilisons par défaut sont :
* GitHub (pour l'hébergement privé du code du produit)
* Heroku (pour le déploiement et l'hébergement en ligne)
* SendGrid (pour l'envoie d'emails)
* New Relic (pour le monitoring de l'application en ligne)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typekit and Segment too?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok pour Segment mais Typekit on ne transfere pas le compte au client


## Checklist
## Domain Names
## SSL Certificates
## Hosting
## Performance Monitoring
## Error Tracking
## Transactional Email
Lorsque nous mettons en place un nouvel environnement de production, il est important de se poser ces quelques questions :

* Utilisation d'Heroku pour l'hébergement ?
* Est-ce qu'il y a des processus à exécuter en tâche de fond, tels que l'envoi d'emails ?
* Est-ce qu'on doit utiliser SSL (https) ?
* Est-ce que les requêtes sur l'API (si présente) se feront d'un autre domaine ?
* Quelle version de Ruby peut-on utiliser ?
* Est-ce qu'on doit mettre en place des backups réguliers de la base de données et à quelle fréquence ?

## Certificats SSL
Si besoin, nous prenons les certificats SSL chez DNSimple.

## Hébergement
Nous utilisons Heroku. C'est une plateforme qui utilise les infrastructures Cloud d'Amazon. C'est facile d'usage et construit pour s'adapter aux montées en charges futures.

Les services que propose heroku vont permettre au client de démarrer facilement sans se soucier des côtés hébergements & infrastructures.

En cas d'upload nécessaire de fichiers, nous utilisons Amazon S3.

## Monitoring
Nous utilisons NewRelic pour surveiller les performances de l'application en production.
Le deboggage des performances est peut être une des meilleures parties du job de développeur. Nous avons des métriques claires pour identifier les problèmes. Quand nous les corrigeons, nous avons un feedback instantané avec l'évolution de ces métriques (ex: on vient d'améliorer le temps de rendu de la page de 175%).

## Envoi d'Emails
Nous utilisons SendGrid. L'addon Heroku gratuit nous permet d'envoyer jusqu'à 400 emails par jour.

## Payment Processing
Pour une solution de paiement en ligne, nous utilisons Stripe.

# Mesures & métriques
## AARRR
Expand Down