{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/comments/203854698","pull_request_review_id":138827453,"id":203854698,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMzg1NDY5OA==","diff_hunk":"@@ -0,0 +1,205 @@\n+---\n+title: Deploy a Production-Ready MEAN Application using Bitnami MongoDB with Replication on Google Cloud Platform\n+description: Deploy a MEAN application with a multi-node MongoDB replica set on Google Cloud Platform using Bitnami MEAN and Bitnami MongoDB with Replication.\n+author: vikram-bitnami\n+tags: mean, mongodb, replication, scalability, Google Cloud Platform, bitnami\n+date_published: 2017-07-06\n+---\n+\n+This tutorial demonstrates how to deploy a MEAN (MongoDB, Express, Angular and Node) Web application with a multi-node MongoDB replica set on Google Cloud Platform using Bitnami MEAN and Bitnami MongoDB with Replication. This approach produces a more scalable and resilient deployment that could be used for production or mission-critical scenarios. This tutorial assumes that you're familiar with MongoDB and MEAN applications.\n+\n+## Objectives\n+\n+* Deploy Bitnami MEAN on a Google Compute Engine instance.\n+* Install and configure a sample MEAN application.\n+* Serve the application with Apache.\n+* Deploy Bitnami MongoDB with Replication on a set of Google Compute Engine instances.\n+* Connect the MEAN application to the Bitnami MongoDB with Replication cluster.\n+* Test service continuity (optional)\n+\n+## Before you begin\n+\n+Before starting this tutorial, ensure that you have set up a Google Cloud Platform project. You can use an existing project or [create a new project](https://console.cloud.google.com/project).\n+\n+## Cost\n+\n+The default configuration allows you to run a MEAN application using 1 `f1-micro` instance with a standard 10 GB persistent disk for the application server, and 3 `n1-standard-2` instances, each with a standard 10 GB persistent disk, for the MongoDB cluster. You can customize the configuration when deploying this solution or change it later, although the default configuration is fine for the purposes of this tutorial.\n+\n+Estimated cost for the above default configuration is $4.28 per month for the single `f1-micro` instance and $148.04 per month for the three `n1-standard-2` instances comprising the Bitnami MongoDB with Replication cluster, based on 30-day, 24 hours per day usage in the Central US region. Sustained use discount is included.\n+\n+Use the [pricing calculator](https://cloud.google.com/products/calculator/) to generate a cost estimate based on your projected usage. New Google Cloud customers may be eligible for a [free trial](https://cloud.google.com/free-trial).\n+\n+## Deploy Bitnami MEAN on a Google Compute Engine instance\n+\n+Deploy Bitnami MEAN on a Google Compute Engine instance:\n+\n+1. From the [Cloud Launcher](https://console.cloud.google.com/launcher), select the [`MEAN Certified by Bitnami`](https://console.cloud.google.com/launcher/details/bitnami-launchpad/meanstack) template.\n+1. Review the information and cost. Click `Launch on Compute Engine` to proceed.\n+1. Review the default zone, machine type, boot disk size and other parameters and modify as needed. Ensure that the `Allow HTTP traffic` and `Allow HTTPS traffic` boxes are checked in the firewall configuration. Click `Deploy` to proceed with the deployment.\n+\n+The Cloud Launcher deploys Bitnami MEAN on a new Google Compute Engine instance. You can monitor the progress of the deployment from the [Deployment Manager](https://console.cloud.google.com/dm/deployments). Once deployed, note the public IP address of the instance and the password for the MongoDB database.","path":"tutorials/deploy-mean-app-mongodb-replication.md","position":40,"original_position":40,"commit_id":"d52e718f12b132afb872155bd68cde1b2b980e4a","original_commit_id":"d52e718f12b132afb872155bd68cde1b2b980e4a","user":{"login":"ccarpentiere","id":30240322,"node_id":"MDQ6VXNlcjMwMjQwMzIy","avatar_url":"https://avatars3.githubusercontent.com/u/30240322?v=4","gravatar_id":"","url":"https://api.github.com/users/ccarpentiere","html_url":"https://github.com/ccarpentiere","followers_url":"https://api.github.com/users/ccarpentiere/followers","following_url":"https://api.github.com/users/ccarpentiere/following{/other_user}","gists_url":"https://api.github.com/users/ccarpentiere/gists{/gist_id}","starred_url":"https://api.github.com/users/ccarpentiere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccarpentiere/subscriptions","organizations_url":"https://api.github.com/users/ccarpentiere/orgs","repos_url":"https://api.github.com/users/ccarpentiere/repos","events_url":"https://api.github.com/users/ccarpentiere/events{/privacy}","received_events_url":"https://api.github.com/users/ccarpentiere/received_events","type":"User","site_admin":false},"body":"Change \"Cloud Launcher\" to \"Cloud Marketplace\" here and throughout","created_at":"2018-07-19T20:06:32Z","updated_at":"2018-07-19T20:20:52Z","html_url":"https://github.com/GoogleCloudPlatform/community/pull/479#discussion_r203854698","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/comments/203854698"},"html":{"href":"https://github.com/GoogleCloudPlatform/community/pull/479#discussion_r203854698"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479","id":201898848,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxODk4ODQ4","html_url":"https://github.com/GoogleCloudPlatform/community/pull/479","diff_url":"https://github.com/GoogleCloudPlatform/community/pull/479.diff","patch_url":"https://github.com/GoogleCloudPlatform/community/pull/479.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/479","number":479,"state":"open","locked":false,"title":" Added Bitnami MongoDB replication tutorial ","user":{"login":"vikram-bitnami","id":26835013,"node_id":"MDQ6VXNlcjI2ODM1MDEz","avatar_url":"https://avatars0.githubusercontent.com/u/26835013?v=4","gravatar_id":"","url":"https://api.github.com/users/vikram-bitnami","html_url":"https://github.com/vikram-bitnami","followers_url":"https://api.github.com/users/vikram-bitnami/followers","following_url":"https://api.github.com/users/vikram-bitnami/following{/other_user}","gists_url":"https://api.github.com/users/vikram-bitnami/gists{/gist_id}","starred_url":"https://api.github.com/users/vikram-bitnami/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikram-bitnami/subscriptions","organizations_url":"https://api.github.com/users/vikram-bitnami/orgs","repos_url":"https://api.github.com/users/vikram-bitnami/repos","events_url":"https://api.github.com/users/vikram-bitnami/events{/privacy}","received_events_url":"https://api.github.com/users/vikram-bitnami/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-07-17T10:43:39Z","updated_at":"2018-07-19T20:20:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"25837fbf4031d355d9c98e7dbed08c93d044a52d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/479/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/community/statuses/d52e718f12b132afb872155bd68cde1b2b980e4a","head":{"label":"vikram-bitnami:master","ref":"master","sha":"d52e718f12b132afb872155bd68cde1b2b980e4a","user":{"login":"vikram-bitnami","id":26835013,"node_id":"MDQ6VXNlcjI2ODM1MDEz","avatar_url":"https://avatars0.githubusercontent.com/u/26835013?v=4","gravatar_id":"","url":"https://api.github.com/users/vikram-bitnami","html_url":"https://github.com/vikram-bitnami","followers_url":"https://api.github.com/users/vikram-bitnami/followers","following_url":"https://api.github.com/users/vikram-bitnami/following{/other_user}","gists_url":"https://api.github.com/users/vikram-bitnami/gists{/gist_id}","starred_url":"https://api.github.com/users/vikram-bitnami/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikram-bitnami/subscriptions","organizations_url":"https://api.github.com/users/vikram-bitnami/orgs","repos_url":"https://api.github.com/users/vikram-bitnami/repos","events_url":"https://api.github.com/users/vikram-bitnami/events{/privacy}","received_events_url":"https://api.github.com/users/vikram-bitnami/received_events","type":"User","site_admin":false},"repo":{"id":139974758,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk5NzQ3NTg=","name":"community","full_name":"vikram-bitnami/community","owner":{"login":"vikram-bitnami","id":26835013,"node_id":"MDQ6VXNlcjI2ODM1MDEz","avatar_url":"https://avatars0.githubusercontent.com/u/26835013?v=4","gravatar_id":"","url":"https://api.github.com/users/vikram-bitnami","html_url":"https://github.com/vikram-bitnami","followers_url":"https://api.github.com/users/vikram-bitnami/followers","following_url":"https://api.github.com/users/vikram-bitnami/following{/other_user}","gists_url":"https://api.github.com/users/vikram-bitnami/gists{/gist_id}","starred_url":"https://api.github.com/users/vikram-bitnami/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikram-bitnami/subscriptions","organizations_url":"https://api.github.com/users/vikram-bitnami/orgs","repos_url":"https://api.github.com/users/vikram-bitnami/repos","events_url":"https://api.github.com/users/vikram-bitnami/events{/privacy}","received_events_url":"https://api.github.com/users/vikram-bitnami/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vikram-bitnami/community","description":"This repository holds the content submitted to https://cloud.google.com/community. Files added to the tutorials/ will appear at https://cloud.google.com/community/tutorials.","fork":true,"url":"https://api.github.com/repos/vikram-bitnami/community","forks_url":"https://api.github.com/repos/vikram-bitnami/community/forks","keys_url":"https://api.github.com/repos/vikram-bitnami/community/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vikram-bitnami/community/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vikram-bitnami/community/teams","hooks_url":"https://api.github.com/repos/vikram-bitnami/community/hooks","issue_events_url":"https://api.github.com/repos/vikram-bitnami/community/issues/events{/number}","events_url":"https://api.github.com/repos/vikram-bitnami/community/events","assignees_url":"https://api.github.com/repos/vikram-bitnami/community/assignees{/user}","branches_url":"https://api.github.com/repos/vikram-bitnami/community/branches{/branch}","tags_url":"https://api.github.com/repos/vikram-bitnami/community/tags","blobs_url":"https://api.github.com/repos/vikram-bitnami/community/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vikram-bitnami/community/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vikram-bitnami/community/git/refs{/sha}","trees_url":"https://api.github.com/repos/vikram-bitnami/community/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vikram-bitnami/community/statuses/{sha}","languages_url":"https://api.github.com/repos/vikram-bitnami/community/languages","stargazers_url":"https://api.github.com/repos/vikram-bitnami/community/stargazers","contributors_url":"https://api.github.com/repos/vikram-bitnami/community/contributors","subscribers_url":"https://api.github.com/repos/vikram-bitnami/community/subscribers","subscription_url":"https://api.github.com/repos/vikram-bitnami/community/subscription","commits_url":"https://api.github.com/repos/vikram-bitnami/community/commits{/sha}","git_commits_url":"https://api.github.com/repos/vikram-bitnami/community/git/commits{/sha}","comments_url":"https://api.github.com/repos/vikram-bitnami/community/comments{/number}","issue_comment_url":"https://api.github.com/repos/vikram-bitnami/community/issues/comments{/number}","contents_url":"https://api.github.com/repos/vikram-bitnami/community/contents/{+path}","compare_url":"https://api.github.com/repos/vikram-bitnami/community/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vikram-bitnami/community/merges","archive_url":"https://api.github.com/repos/vikram-bitnami/community/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vikram-bitnami/community/downloads","issues_url":"https://api.github.com/repos/vikram-bitnami/community/issues{/number}","pulls_url":"https://api.github.com/repos/vikram-bitnami/community/pulls{/number}","milestones_url":"https://api.github.com/repos/vikram-bitnami/community/milestones{/number}","notifications_url":"https://api.github.com/repos/vikram-bitnami/community/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vikram-bitnami/community/labels{/name}","releases_url":"https://api.github.com/repos/vikram-bitnami/community/releases{/id}","deployments_url":"https://api.github.com/repos/vikram-bitnami/community/deployments","created_at":"2018-07-06T11:12:24Z","updated_at":"2018-07-17T10:43:57Z","pushed_at":"2018-07-17T10:43:55Z","git_url":"git://github.com/vikram-bitnami/community.git","ssh_url":"git@github.com:vikram-bitnami/community.git","clone_url":"https://github.com/vikram-bitnami/community.git","svn_url":"https://github.com/vikram-bitnami/community","homepage":"https://cloud.google.com/community","size":35906,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"547f150f44135653cb95cfa37697c43bdb96b508","user":{"login":"GoogleCloudPlatform","id":2810941,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MTA5NDE=","avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":50372538,"node_id":"MDEwOlJlcG9zaXRvcnk1MDM3MjUzOA==","name":"community","full_name":"GoogleCloudPlatform/community","owner":{"login":"GoogleCloudPlatform","id":2810941,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MTA5NDE=","avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/community","description":"This repository holds the content submitted to https://cloud.google.com/community. Files added to the tutorials/ will appear at https://cloud.google.com/community/tutorials.","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/community","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/community/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/community/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/community/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/community/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/community/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/community/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/community/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/community/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/community/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/community/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/community/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/community/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/community/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/community/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/community/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/community/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/community/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/community/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/community/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/community/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/community/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/community/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/community/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/community/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/community/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/community/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/community/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/community/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/community/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/community/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/community/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/community/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/community/deployments","created_at":"2016-01-25T18:46:16Z","updated_at":"2018-07-19T12:27:40Z","pushed_at":"2018-07-18T02:15:04Z","git_url":"git://github.com/GoogleCloudPlatform/community.git","ssh_url":"git@github.com:GoogleCloudPlatform/community.git","clone_url":"https://github.com/GoogleCloudPlatform/community.git","svn_url":"https://github.com/GoogleCloudPlatform/community","homepage":"https://cloud.google.com/community","size":35893,"stargazers_count":267,"watchers_count":267,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":326,"mirror_url":null,"archived":false,"open_issues_count":156,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":326,"open_issues":156,"watchers":267,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479"},"html":{"href":"https://github.com/GoogleCloudPlatform/community/pull/479"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/479"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/issues/479/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/pulls/479/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/community/statuses/d52e718f12b132afb872155bd68cde1b2b980e4a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"ccarpentiere"}}