
This add-on is operated by GRAX
GRAX allows you to build a DATA LAKE on Heroku with your SFDC org data.
GRAX
Last updated February 17, 2020
Table of Contents
GRAX Solution High Level Overview
The GRAX solution is a Data Value platform that provides replicate & preserve (backup & archive) functionality as well as advanced audit trail features to your data scenarios. GRAX is built with a core focus on Salesforce.com based data and data structures, allowing the offsite storage, management, and use of your valuable Salesforce.com data, as well as use with other non SalesForce.com platforms and services. Due to the nature of today’s cloud platforms, GRAX was designed to take advantage of 4 major technologies to achieve its value to any enterprise: Salesforce.com, Heroku, Elastic, and AWS (with an option for Azure in place of AWS).
Below is an overview of the GRAX ‘stack’, essentially, the 4 technologies that GRAX is built upon to achieve one, cohesive data value solution. It is essential to understand how GRAX utilizes these 4 core technologies, as the major areas of planning, installation, and enablement involve the configuration and management of each of these essential tiers of the GRAX solution (the ‘stack’).
Let’s get into the core platforms and related components configured as part of the GRAX installation…
Salesforce.com
This serves as the user interface tier of GRAX, and is the tier where the GRAX managed application is installed and is your main point of interaction with GRAX (user interface, job scheduling, archive, restore, etc.). Items for consideration and configuration consist of:
- GRAX managed package installation
- Permission sets, roles, and security
- Remote site settings
- Connectivity to the GRAX Heroku layer of the GRAX ‘stack’
- Validate availability of SF Connect (external data sources and connections) if using GRAX for advanced reporting and visualization (Einstein, standard reporting, etc.)
Heroku
This tier serves as the core GRAX application or middle tier, and supports and manages the proxying of data bi-directionally between the GRAX data lake and Salesforce.com, ability to scale elastically, manage dynos and resources, privacy, etc. Most of the configuration is managed at the Heroku layer of the GRAX app, as this essential middle -tier bridges the gap between Salesforce.com (the GRAX managed application\UI) and the GRAX data lake. Items for consideration and configuration consist of:
- SFDC user name, password, login URL and token for Heroku to Salesforce.com connectivity
- AWS S3 or Azure Blob Storage credentials: key, secret key, region, bucket name
- Geographic regions for ‘where’ data can run and legally needs to reside
- Private space setup: setup, custom domain, VPC peering
- Does client need Private Space ‘Shield’?
- Heroku resources to power GRAX: Dynos’ etc. Ensuring enough add-on credits to be able to performance tune GRAX effectively for the specific scenarios
Elasticsearch
This tier serves as the 1st part of the core data lake underlying technology for GRAX data lake storage. Elasticsearch indexes the most recent version of the SFDC data record for fast recall, search, and restore functions. GRAX uses this technology in cooperation with S3 or Blob Storage. You may choose to use the GRAX indexing or host your own Elastic Search. If hosting your own Elastic Search, additional consideration and configuration will need to be addressed, such as firewalls, proxies, etc. Items for consideration and configuration consist of:
- Bonsai plan sizing required for your data sizing
- Regions for plans are based on the geo-regions of your GRAX app (see above)
- If self-hosting, additional considerations may need to be taken, such as:
- IP restrictions
- Proxies, networking restrictions, etc.
- Any firewall rules (if hosting Elastic Search on premise)
- Other security and access challenges or roadblocks
Installation Roles Overview
Due to the nature of the GRAX solution being a 4-tier architecture across 4 technologies, GRAX installation and enablement requires solid coordination between the GRAX team, the client’s team, the client’s SI, and the client’s Salesforce.com\Heroku AE’s and reps. Below is an outline of pre-requisites for a GRAX installation, as well as roles, responsibilities, and deliverables for a successful, complete GRAX install and enablement.
Salesforce.com and Heroku AE’s (account reps)
- Ensure that all environments have availability of purchased items, add-on credits, etc.
- Heroku add-on credits to support purchase of GRAX components
- GRAX core Heroku application
- Bonsai Elastic Search add -on (if purchased)
- Quantity of add-on credits to support purchased throughput and sizing of Heroku dyno’s and dyno units
- Private Space available
- Private Space ‘Shield’ available (if applicable)
- Salesforce.com add-ons
- Salesforce.com Connect (if using standard reports and Einstein to visualize GRAX data lake data)
- A dedicated Salesforce license for GRAX usage within Salesforce. Although this is not required, it is recommended best practice. Any enterprise user license can be used for GRAX.
Client
- Provide access to your provisioned Heroku account.
support@grax.io
is the GRAX install team that requires Heroku access to be able to perform the install. This user can always be removed in the future. - Provide access to your desired Salesforce.com environment in order to perform the GRAX managed package installation
- Creation of an AWS S3 or Azure Blob Storage ‘bucket’ – parameters associated with this storage bucket are used in the GRAX Heroku layer as ‘configuration variables’ for connecting the GRAX Heroku layer to your S3 or Azure storage bucket. For AWS S3, client to provide GRAX Team with
Region
,S3 Bucket Name
,S3 Secret ID
andS3 AccessKeyID
. For Azure Blob, client to provide GRAX Team withAzure Storage Account Name
,Azure Container Name
,Azure Storage Account Access Key
. - Provide access to S3 or access to Azure as needed
- Set up your own instance of Elastic
- Clearly defined use cases for GRAX use and setup – this enables the GRAX team to ensure the appropriate knowledge transfer for using GRAX, as well as identify special ‘edge’ cases for other areas of GRAX use and management
- Read through data best practices to ensure and confirm that all data-related recommendations are clearly understood.
GRAX Team
- Conduct planning and install meetings and sessions
- Gather necessary intake:
- System credentials & access
- Solution parameters
- Scope of GRAX use (Single org, Multi Org, Custom etc)
- AWS S3 credentials: region, key, secret key, bucket name
- Azure Blob Storage credentials: account name, container name, keys
- SFDC environment access: user, password, token
- Regions for data storage (for example – US West)
- Regions for data processing
- Perform GRAX installation within client’s Heroku and Salesforce.com environments
- Guide client through install if performing self-install
- Validate completeness and execution of full GRAX installation for scoped environments (sandbox, production, multiple SFDC org scenarios)
- Enable via knowledge transfer and guidance: using GRAX in Salesforce, creating jobs, managing environments, using GRAX API and various components as needed
Client or Client’s SI / Vendor
- Create all the relevant scheduled processes (backup and/or archive jobs) within the GRAX Salesforce application after GRAX high level enablement session
- Create all Salesforce reports that may be referenced by your scheduled backup/archive jobs
- Create all relevant Salesforce triggers for each object you will want to use in object time machine (GRAX help site has full instructions)
- Create any relevant Salesforce dashboards, Einstein Analytics dashboards to analyze GRAX Data
- Create or edit process(es) to sync data to Einstein Analytics or Marketing Cloud
- Create or change anything within your Salesforce instance to facilitate backup queries etc. For instance, many clients will want to create new formula fields or roll-up summaries across lookup relationships that aid in filtering records for backup
Connecting Salesforce to Heroku
If you are unable to see anything in the GRAX tab, be sure you have first reviewed and assigned a permission set to yourself. See the instructions here
Establishing Connection
- Go to your Salesforce instance and click on the App
GRAX
- Click on the tab
GRAX
- Click on the link
Authorize
- You will need to sign in to your Heroku instance to “bind” your Heroku and Salesforce environments.
- Click on the link
New App
to create a new Heroku app or select an existing App if you have already created one- Enter in your App Name (example:
grax –hardingpointtest-datalake
) - Under app owner select the correct team environment or owner
- Enter in your App Name (example:
Click Deploy to deploy your app!
Now let’s go back to Salesforce and finish the setup there. In Salesforce, click on the
Grax Settings
tab- Make sure you have selected your newly created heroku app and click
save
. - Refresh the tab to confirm connection has been established, and proceed to the Remote Site Settings section below.
- Make sure you have selected your newly created heroku app and click
Remote Site Settings & Final Confirmation Steps
- After following the above step, you should see an ‘Error’ message at the top of the page asking you to add a remote site. Copy the link for the
Remote Site Setting
which is shown at the top of the page- Go to
Setup
, and search forRemote Site Settings
- Click on
Remote Site Settings
- Click
New Remote Site
- Remote Site Name:
graxproxy
- Remote Site URL: the link you copied from above
- Click
Save
- Go to
- Now Go back to the
GRAX: Configuration
tab, refresh the page, and the error message should no longer appear - You will still see an ‘Error’ message at the top of the page telling you that there are currently unscheduled jobs.
- Click the ‘Unlock’ button
- Expand the ‘Scheduled Jobs’ section
- Click the ‘Activate Scheduled Jobs’
Support
GRAX provides customer support for our software solution. Standard support is included in the software licensing fees associated.
Support requests that fall outside the standard implementation provided by GRAX incur fees based on the time and materials involved. These fees may also be incurred during troubleshooting in situations where the issue/problem and resolution are not within the scope of a solution or service provided by GRAX. Typically, these fees are hourly labor charges related to the time a technician or engineer spends working on the request.
GRAX Standard Support Guidelines
- US based support: Mon-Friday: Business Hours: 8am – 8pm Eastern
- India based support: Mon-Friday: Business Hours : 11pm – 8am Eastern
- Explore detailed documentation through the GRAX direct link or by conducting a google search for what you are looking for
- Help Ticket: Create a help ticket through the
Help
tab within your GRAX application - Email – help@grax.com
Contact Us
Please contact us for your own demo environment.