[#Blogged] Quick Start: Heroku Connect - #Trailhead Badge157

Heroku is a container-based cloud Platform as a Service (PaaS). Developers use Heroku to deploy, manage, and scale modern apps. Our platform is elegant, flexible, and easy to use, offering developers the simplest path to getting their apps to market.
Heroku is fully managed, giving developers the freedom to focus on their core product without the distraction of maintaining servers, hardware, or infrastructure. The Heroku experience provides services, tools, workflows, and polyglot support—all designed to enhance developer productivity. 

Lets Quick Start on Heroku with the Help of Trailhead.

Prerequisites:

Heroku account
  • Before Deploying an application to Heroku, make sure you have an active Heroku Account.If not, Navigate to https://signup.heroku.com and create a Heroku account.
Contact Custom field  
  • Add a new field to the Contact Object:
  • In Setup, click the Object Manager tab next to the Home tab.
    Click the Contact object.
    Click Fields & Relationships.
    Click New.
    For Data Type, select Text, and click Next.
    Complete the custom field as follows:
    Field Label: External Phone ID
    Length: 10
    Field Name: External_Phone_ID
    Unique: Select Do not allow duplicate values
    External ID: Select Set this field as the unique record identifier from an external system
    Click Next.
Deploy an Application
  1. Login into Heroku Account.
  2.  Deploy the sample Phone Change Application.
  3. Select the United States as the Region, then click Deploy App.
  4. After the app has been deployed, you can manage it in the Heroku Dashboard by clicking the Manage App button and view the app by clicking the View button.

Provision the Heroku Postgres Add-on and Provision the Heroku Connect Add-on

Provision the Heroku Postgres Add-on
Connect, Use, and Develop
Databases are multi-ingress: use them from any cloud, PaaS, or your local computer. It is easy to connect with common languages & frameworks including Rails, Django, PHP, and Java: configuration strings are generated for them automatically.
Scale and Grow
Scale vertically by choosing from a range of plans. Plans differ based on the size of their hot-data-set, the portion of data available and optimized on-the-fly in high-speed RAM. When the time comes, scale horizontally by adding read-only followers that stay up-to-date with the master database.
Starter Steps :

  1.  Click the Manage App button to visit the Heroku Dashboard and click on your new application.
  2.  Click the Resources tab.
  3.  In the search area in the Add-ons section, type Heroku Postgres, click Enter and then click Provision. 
Provision the Heroku Connect Add-on
Seamless Heroku and Salesforce data synchronization
Heroku Connect makes it easy for you to build Heroku apps that share data with your Salesforce deployment. Using bi-directional synchronization between Salesforce and Heroku Postgres, Heroku Connect unifies the data in your Postgres database with the contacts, accounts and other custom objects in the Salesforce database. Easily configured with a point and click UI, it’s simple to get the service up and running in minutes – no coding or complex configuration is required. 
Starter Steps :
  1.  Click the Manage App button to visit the Heroku Dashboard and click on your new application.
  2.  Click the Resources tab.
  3.  In the search area in the Add-ons section, type Heroku Connect, click Enter and then click Provision 
Heroku Connect locates the Heroku Postgres database that you provisioned in the previous step.
  • Click Next and then click Authorize
  • Now set up Heroku Connect.
Authorize Heroku Connect to access your Salesforce Org. Log in to Salesforce with your Trailhead Playground /Developer Org credentials you collected above.
Create a mapping between the Contact object in Salesforce and a table in the Heroku Postgres database.

  • In Heroku, click Create Mapping. Select the Contact object.
    In the Database -> Salesforce section, select the Write database updates to Salesforce using -- None -- as the unique identifier option and choose External_Phone_ID__c from the dropdown list.
  • Click Save.When you've completed the mapping setup, the data begin synchronizing.  
Our application is now syncing (bidirectionally) a subset of the Contact object in Salesforce with a new table in the Heroku Postgres database associated with your app.
When the syncing is complete, open your Heroku app in a new browser tab, by entering http://APP_NAME.herokuapp.com and replacing APP_Name with your app name.

Complete the form and Since you had previously set up the bidirectional sync with Salesforce using Heroku Connect, this should also automatically update the contact record in Salesforce.

References :
 https://elements.heroku.com/addons/heroku-postgresql
https://trailhead.salesforce.com/projects/quickstart-heroku-connect/steps/qs-heroku-connect-1