MDN/Development/CompatibilityTables/Infrastructure: Difference between revisions

→‎Production Services: Switch to count of backend services
(→‎On The Way To Production: Add Jenkins to pre-production steps)
(→‎Production Services: Switch to count of backend services)
Line 120: Line 120:
* https://qa.browsercompat.org - Jenkins server for testing and deployment (EC2)
* https://qa.browsercompat.org - Jenkins server for testing and deployment (EC2)


Backend services will not be publicly available, but could use a similar DNS scheme:
Backend services will not be publicly available, except possibly over a VPN or IP limited to admins:


* db01.prod.internal01.browsercompat.org - '''BrowserCompat DB''' and '''Importer DB''' (primary DB) (RDS / EC2)
* 2x PostgreSQL databases for '''BrowserCompat DB''' and '''Importer DB''' (primary/replica) (RDS/EC2)
* db02.prod.internal01.browsercompat.org - '''BrowserCompat DB''' and '''Importer DB''' (replica) (RDS / EC2)
* 2x web worker for the '''C&M GUI''' (''if needed'') (Heroku/Deis)
* www01.prod.internal01.browsercompat.org - Web worker supporting the '''C&M GUI''' (''if needed'') (Heroku/Deis)
* 3x web worker for the '''Data API''' (Heroku/Deis)
* www02.prod.internal01.browsercompat.org - Web worker supporting the '''C&M GUI''' (''if needed'') (Heroku/Deis)
* 2x web worker for the '''Table Renderer''' (Heroku/Deis)
* api01.prod.internal01.browsercompat.org - Web worker supporting the '''Data API''' (Heroku/Deis)
* 2x task worker for the '''Data API''' (Heroku/Deis)
* api02.prod.internal01.browsercompat.org - Web worker supporting the '''Data API''' (Heroku/Deis)
* 2x caching server (Redis, Heroku plugin/ElasticCache)
* api03.prod.internal01.browsercompat.org - Web worker supporting the '''Data API''' (Heroku/Deis)
* 1x broker server (Redis, Heroku plugin/ElasticCache)
* worker01.prod.internal01.browsercompat.org - Async task worker supporting the '''Data API''' (Heroku/Deis)
* worker02.prod.internal01.browsercompat.org - Async task worker supporting the '''Data API''' (Heroku/Deis)
* cache01.prod.internal01.browsercompat.org - Caching server (Heroku Redis plugin, ElasticCache with Redis)
* cache02.prod.internal01.browsercompat.org - Caching server (Heroku Redis plugin, ElasticCache with Redis)
* broker01.prod.internal01.browsercompat.prg - Messaging broker (Heroku Redis plugin, ElasticCache with Redis)
 
"*.internal01.browsercompat.org" identifies servers in a particular datacenter. This may be replaced with another name that matches the actual datacenter ("ec2-usw2.browsercompat.org"), or are picked by the deployment backend (Heroku, [Deis http://deis.io]) and not publicized.


A parallel infrastructure will be used for staging:
A parallel infrastructure will be used for staging:
Line 148: Line 141:
Staging will have parallel backend servers, but without the same redundancy:
Staging will have parallel backend servers, but without the same redundancy:


* db01.stage.internal01.browsercompat.org - '''BrowserCompat DB''' and '''Importer DB'''
* 1x PostgreSQL databases for '''BrowserCompat DB''' and '''Importer DB'''
* www01.stage.internal01.browsercompat.org - Web worker supporting the '''C&M interface'''
* 1x web worker for the '''C&M GUI''' (''if needed'') (Heroku/Deis)
* api01.stage.internal01.browsercompat.org - Web worker supporting the '''Data API'''
* 1x web worker for the '''Data API''' (Heroku/Deis)
* worker01.stage.internal01.browsercompat.org - Async task worker supporting the '''Data API'''
* 1x web worker for the '''Table Renderer''' (Heroku/Deis)
* redis01.stage.internal01.browsercompat.org - Caching server and messaging broker (Redis)
* 1x task worker for the '''Data API''' (Heroku/Deis)
* 1x caching + broker server (Redis, Heroku plugin/ElasticCache)


When needed, some or all of a load testing infrastructure will be deployed:
When needed, some or all of a load testing infrastructure will be deployed:
67

edits