You can create any kind of application on either Force.com and Heroku. However, an architecturally optimized design like the Connected Cloud Architecture, unleashes the full power of Salesforce Platform for you.
Force.com and Heroku are connected with each other and can exchange data very easily through API calls, CSV files, ETL tools, and of course, through “Heroku Connect”. Heroku Connect is a replication technology which keeps the Heroku Postgres Database in sync with Force.com objects. The tight integration between force.com and Heroku result in many exciting possibilities which we examine below.
1. Compute Intensive Work on Large Data Volumes
An application which needs complex workflows & fine grained user access can be quickly created on Force.com. At those points in your application where you need compute intensive resources – you can send the computation request to Heroku through outbound workflow and sync back the results of the computation with Heroku Connect.
2. When Your App Requires Large Volume of Media Files
Instead of storing large volume of unstructured media files – videos, images – in force.com, store them on Heroku. The display the images/videos in context in your force.com app using Canvas. Canvas is a tool from Force.com which allows you to embed external content securely and in-context in Force.com user interface.
To store large volume of unstructured files using your Heroku application, you will also need storage on AWS.
3. Employee App + B2C App: An Integrated Approach
e.g. Macy’s Mobile App
A visitor on a mobile app (served by Heroku), browses product information (served by Force.com through Heroku Connect).
The visitor/customer then logs using social media (say Facebook) and “Like” a product item (& shares it on his Facebook page). The customer’s interactions are captured by the Mobile Heroku App and synced back to Force.com Sales Cloud using Heroku Connect. The sales rep views customer’s interactions on Account page. The customer is a record in the Contact related list for that Account.
The sales rep rewards the customer by sending a discount code, to the customer’s mobile app through SMS. The SMS message is delivered via ExactTarget Marketing Automation API. ExactTarget also sends the customer surveys which the customer can complete to earn more points.
The customer can also submit ideas for new products to the Force.com Customer Community through External Identity feature in Force.com. SSO between Heroku app and Force.com ensures that the customer only needs to login once.
You can find this last mentioned starter app for Heroku on https://www.heroku.com/cx
I do want to emphasize that each framework – Force.com and Heroku – are full functional enterprise application frameworks. While together, they are a potent combination, in a vast majority of applications each by itself can be a complete solution for your business requirements too. Ultimately, your skill as an architect shines in crafting the right architecture pattern and choosing what’s right for your business.