Top Banner
Heroku for Salesforce Data Chris Anderton Heroku Specialist [email protected]
31

Heroku for Salesforce Data

May 11, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Heroku for Salesforce Data

Heroku for Salesforce Data

Chris Anderton Heroku Specialist

[email protected]

Page 2: Heroku for Salesforce Data

Agenda

1.  Introduction to Heroku Enterprise

2.  Backup

3.  Archiving

4.  Business Continuity

5.  Data Processing

6.  Q&A

Page 3: Heroku for Salesforce Data

Introduction to Heroku Enterprise

 Build Apps Deliver customized, scalable apps; seamlessly connect to Salesforce data

 Accelerate Development Build collaboratively, with support for the latest frameworks and languages (java, ruby, node.js)

 Increase Control Rely on a managed, trusted and secure architecture, with enterprise grade controls

 Increase Innovation Decrease time to market – no need to spend time on infrastructure – get further, faster.

 Reduce Operational Overhead Fully supported platform – low operational overhead – we wear the pager.

 Build faster with enterprise trust and control

Page 4: Heroku for Salesforce Data

Heroku Enterprise Is Proven and Trusted  “We rely on Heroku as the platform for mission-critical apps, and it is helping us transform how we connect and engage with our customers.”  - Pierre Masai , CIO, Toyota Motor Europe

9 Billion Requests per day

5+ Million Apps Created

Page 5: Heroku for Salesforce Data

Introduction to Heroku Enterprise  Platform components to build Salesforce Data solutions

 Compute Containers

 Heroku Dynos

 Deploy fast and without friction, run almost any code at scale.

 Data Services

 Heroku Postgres

 Enterprise-grade Postgres –managed service with high availability.

 Salesforce Synchronisation

 Heroku Connect

 Heroku and Salesforce Data Synchronisation – click to configure.

Page 6: Heroku for Salesforce Data

Heroku Connect

Users select objects and fields from a Salesforce Org for synchronisation to Heroku Postgres.

Heroku Connect creates and maintains a schema inside Postgres for the Salesforce Org.

Salesforce -> Postgres: Org = Schema Object = Table Field = Column

Salesforce Org

Object

Object

Object

Object

Schema

Table

Table

Table

Heroku Postgres

Page 7: Heroku for Salesforce Data

Heroku External Objects and Salesforce Connect

•  Heroku Connect provides an oData provider for the Heroku Postgres database

•  Used in tandem with Salesforce Connect, the feature permits data in a Heroku Postgres database to be represented as External Objects in a Salesforce Org

•  Point and click configuration of the database tables to share

•  Access Heroku Postgres using other oData consumers

 Work with data in Heroku Postgres from within Salesforce

Page 8: Heroku for Salesforce Data

Optional (depending on requirements)

Backup

*This isn’t out of the box – the Management Dashboard would require implementation

Salesforce Org Heroku Postgres

Snapshots

Heroku Connect

Management Dashboard*

Page 9: Heroku for Salesforce Data

Backup

•  Use Heroku Connect to synchronise data from Salesforce to Heroku Postgres

•  Configuration of synchronisation is performed with clicks, not code

•  Synchronisation frequency can be configured – from 1 hour down to near-realtime*

•  Data in Heroku Postgres is stored encrypted at rest •  Data that uses encryption within Salesforce needs some consideration – review the encryption

needs of your data to define the right approach

•  In it’s standard form, Heroku Postgres now acts as a near-time backup of the data ‘as-is’

•  Simple processes can move data into backup tables and filter delete operations

•  Easily take snapshots of the Postgres database for long term storage

* Synchronisation frequency will depend on configuration and the volume of data – it’s best to expect a latency of at least 30s – it is not realtime

Page 10: Heroku for Salesforce Data

Backup – Restoring Data

•  Restore type •  Full

•  Partial

•  Partial restores •  Where the object with a matching SFID still exists a simple dashboard could provide the ability to

select records and update in Salesforce with the data from the backup tables

•  Where the object no longer exists consideration needs to be given to SFIDs – a process would need to run to resolve foreign keys and maintain referential integrity

•  Full restores •  Are hard to do due to the SFID constraints – inserting new records to Salesforce creates new SFIDs

and processing would need to be done to maintain integrity; this is a similar process to a partial restore – but on a much larger scale

Page 11: Heroku for Salesforce Data

Backup – Summary

•  Good for.. •  Simple to configure near real-time reference backup

•  Simple to configure snapshots of point in time data

•  Storing backups for compliance reasons

•  OK for.. •  Partial restore of data with caveats around SFID maintenance

•  Not great for.. •  Full restore of data from a backup – need to manage referential integrity with new SFIDs

Page 12: Heroku for Salesforce Data

Archive

•  Use Heroku Connect to synchronise data from Salesforce to Heroku Postgres

•  Configuration of synchronisation is performed with clicks, not code

•  Synchronisation frequency can be configured – from 1 hour down to near-realtime*

•  Data in Heroku Postgres is stored encrypted at rest – consider Salesforce encryption just as for the backup use-case

•  Define a set of archiving criteria – there are a number of options on how to achieve this

•  Externalise the archived data back to Salesforce using Heroku External Objects and Salesforce Connect; access archived data from other systems

•  Requires some implementation to define archiving criteria and processes – either roll your own, or use one of our Partners that have this pre-baked

* Synchronisation frequency will depend on configuration and the volume of data – it’s best to expect a latency of at least 30s – it is not realtime

Page 13: Heroku for Salesforce Data

Archive - Considerations

•  What objects need to be archived and what relationships do those objects have?

•  Do I need to see archived records in Salesforce?

•  When do I want to archive and which records should I archive? •  On demand vs scheduled

•  Does this configuration need to be flexible over time?

•  Do I need to unarchive? When and how should I unarchive?

•  Do I need to auto archive/unarchive related objects?

•  How do I maintain relationships between live and archived records?

Page 14: Heroku for Salesforce Data

Archive – Partner Solution

Salesforce Connect

Web Services

Archive & Unarchive Calls

Stored Procedures

External Objects

Sync

Postgres

Heroku Connect

Heroku App

Processing

Bi-directional Sync

Odata API

Page 15: Heroku for Salesforce Data

Archive – Partner Solution

Page 16: Heroku for Salesforce Data

Archive – Partner Solution

Page 17: Heroku for Salesforce Data

Archive – Partner Solution

Page 18: Heroku for Salesforce Data

Archive – Partner Solution

Page 19: Heroku for Salesforce Data

Archive – Summary

•  Good for.. •  Archiving data to reduce bloat in a Salesforce Org

•  Externalise data back into Salesforce – retain access to archived data

•  Partner solutions available to make archiving process easy to implement and maintain

•  Combine with backup snapshots to retain data long term – archive data for compliance reasons

•  Large data volumes – Heroku can scale

•  Exposing data to other systems

•  Not great for.. •  Small volumes of data – the components required to implement archiving make more sense at

scale

Page 20: Heroku for Salesforce Data

Building Apps – The Heroku Developer Experience  A superior developer experience, with features designed for innovation, focus, and flow

 Github integration

 Simple scaling, resource allocation and app management from Heroku Dashboard

 Heroku Metrics for real-time insight and performance tuning

 One-click data cloning and data rollbacks, built-in encryption at rest

 Dataclips for simple and instant reporting

 Powerful command line tools

 Heroku Button for instant deploy of over 800 open source templates

Page 21: Heroku for Salesforce Data

Heroku Application Development … not Infrastructure Centric

Page 22: Heroku for Salesforce Data

Heroku Application Development App Centric Development

Page 23: Heroku for Salesforce Data

* Currently in Beta

*

Run Heroku Services in a Secure Managed Environment  Build apps with the most demanding requirements and full manageability

Private Network Network isolated runtime Network access controls Trusted connections Private Data Services Heroku Postgres – with managed EX Heroku Redis – with managed E Global Regions Americas (Virginia, Oregon) Europe (Frankfurt) Asia Pacific (Tokyo)

Page 24: Heroku for Salesforce Data

Business Continuity

•  Use Heroku Connect to synchronise data from Salesforce to Heroku Postgres

•  Configuration of synchronisation is performed with clicks, not code

•  Synchronisation frequency can be configured – from 1 hour down to near-realtime*

•  Data in Heroku Postgres is stored encrypted at rest •  For business continuity the decryption requirement will depend on use-case – if data needs to be

accessed from the Heroku layer, it will need to be stored in an accessible format

•  Heroku Postgres now provides an asynchronous copy of the selected org data

•  This data can be accessed and manipulated and will be updated in Salesforce once available

•  Build apps to allow users to access and work with the data to allow business to continue

* Synchronisation frequency will depend on configuration and the volume of data – it’s best to expect a latency of at least 30s – it is not realtime

Page 25: Heroku for Salesforce Data

Business Continuity

*Apps aren’t provided ‘out of the box’ – they would require simple implementation of an interface to work with the data

Salesforce Org Heroku Postgres

Heroku Connect

Data Access App Data Access App

Page 26: Heroku for Salesforce Data

Business Continuity – Summary

•  Good for.. •  Providing access to work with data when Salesforce is not available

•  Subset of Salesforce data is are high value to ensure continued access

•  Not great for.. •  Full organisation synchronisation for business continuity purposes – would likely be a lot of effort

to implement

•  Versus Org-Sync •  Can be ‘always-on’ – no technical switchover period

•  Likely for a smaller subset of organisation data

•  Consider cost and user experience

Page 27: Heroku for Salesforce Data

Data Processing

•  Use Heroku Connect to synchronise data from Salesforce to Heroku Postgres

•  Configuration of synchronisation is performed with clicks, not code

•  Synchronisation frequency can be configured – from 1 hour down to near-realtime

•  Data in Heroku Postgres is stored encrypted at rest

•  Heroku Postgres provides an asynchronous copy of the selected org data

•  This data can be accessed and manipulated within the Heroku layer – and synchronised back to Salesforce automatically with Heroku Connect

•  Build data processing apps to allow users and processes to access and work with the data •  Process Salesforce data with the Heroku elastic runtime – large volume data processing

•  Build apps that allow suppliers, partners, customers or any audience work on a common set of data

* Synchronisation frequency will depend on configuration and the volume of data – it’s best to expect a latency of at least 30s – it is not realtime

Page 28: Heroku for Salesforce Data

Heroku

Data Processing  Process data within Heroku – seamlessly synchronise back to Salesforce

Canvas (optional)

Heroku Data

Heroku Application Layer

UI in Salesforce

Ap

ps

Processing

Persistence

Heroku Connect (Long-term Data/Cases/Events/Notifications)

Real-time Processing

Intelligence

Sync External Objects

Page 29: Heroku for Salesforce Data

Data Processing - Summary

•  Good for.. •  Processing large volumes of data free of governor and API limits

•  Integrating with external services to enrich data

•  Synchronise result set or expose processed data as external objects

•  Consolidate data – keep only valuable data in Salesforce

•  Expose data to external services like BI/Analytics

•  Not great for.. •  Multi-org sync – we have people doing it, but it requires a lot of effort to implement

•  Be aware.. •  Implementation required – will need the services of a Partner or in-house development team

Page 30: Heroku for Salesforce Data

Q&A

Page 31: Heroku for Salesforce Data