5. Acrotec Use-Case: 1 Group | 3 Divisions | 25+ Companies
Watchmaking &
Jewellery
51% of turnover
Movement Components
Machines & Tooling
Surface Treatment & Decoration
Jewellery
Medtech
21% of turnover
Implants, Instruments, Pumps
Precision
High-Tech
28% of turnover
Connectivity, Automotive,
Aerospace & Defence
6. Acrotec Group History
2009
2001 2006 2015 2016 2017 2018
Creation of
2014
ACQUISITIONS OF THE ACROTEC GROUP
ORGANIC DEVELOPMENT
Extension
Merger
Additional plant
2019
New plant
New plant
2021
New plant
2020
Creation of
New Swiss plant
7. Technical Side – Context
Single Salesforce org for all subsidiaries
(~ 120 Salesforce Users)
Need to cooperate but also to keep data segregated by company
on most objects
(=Private Org-Wide Defaults + Sharing Settings)
Very limited number of IT employees
<10 IT FTEs for 1300+ employees
(sometimes external providers only)
No on-premise infrastructure
Low IT budget
15+ Legacy & non-mainstream ERP systems
9. “We need to transfer data from
Salesforce to our ERPs in real-time…
we can’t wait 5 minutes!
- Any End-User
10. • Why do you need it?
• How many ERPs?
• Data Volumes?
• Data change frequency?
Heroku Connect with
ERPs reading
PostgreSQL DB?
Which skills and system
capabilities do we have
on both ends?
Architect
Point-to-Point,
Hub & Spoke,
Service Bus
Scheduled ETL?
Full-fledged ESB?
Wait a minute! What’s the
available budget?
Architecting the solution in 2018…
13. Integration from Salesforce to ERPs via shared DB
High-level Architecture
Could also be
done with
Flows now!
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
14. Integration from Salesforce to ERPs via shared DB
Detailed Architecture
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
15. Salesforce: Outbound Messaging
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Ø Declarative: Admins can configure it
Ø Contract-First: Uses WSDL, SOAP & XML
Ø Sends asynchronous notifications from
workflow rules or approval processes
Ø Bulkified: up to 100 notifications /msg
Ø Automatic retries for 24 hours
Ø Monitoring tool
Ø Independent retries:
Message order not guaranteed
Ø Because a message may be delivered
more than once, your listener client
should check the notification IDs
delivered in the notification before
processing.
Ø Since it’s Workflow-based, it’s limited
to Inserts and Updates
Benefits Concerns / Tradeoffs
Unfortunately, for the time being, «Before Delete» Flows
cannot use Outbound Messages…
16. AWS: API Gateway
Ø Declarative or Programmatic
Ø Integrates with other services, e.g.:
■ run AWS Lambda
■ pass payload to SQS, SNS, etc.
■ start AWS Step Functions
Ø Autoscale & Configurable Resiliency
Ø Authentication
Ø Optimized for REST services with
JSON payloads
Ø Workaround: wrap SOAP XML
message as a String into a JSON
object
Benefits Concerns / Tradeoffs
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
17. AWS: SQS – «Standard» or «FIFO»
Ø At-Least-Once Delivery (Standard):
A message is delivered at least once,
but occasionally more than one copy
of a message is delivered.
Ø Best-effort ordering (Standard):
Queue triggers are not supported by
FIFO queues
Ø Message size: max 256 KB/message
(invoiced in 64 KB-chunks)
→ Save by message bulkification
Standard Queue with Triggers à now you can use FIFO!
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Ø Declarative or Programmatic
Ø Configurable retention period:
default 4 days [1 min to 14 days]
Ø Unlimited Throughput (Standard)
Ø No upfront costs → Pay per use
Ø Server Side Encryption
Ø Dead Letter Queues (DLQ)
Benefits Concerns / Tradeoffs
AWS SQS FIFO queues are now
supporting triggers, so order of
messages is guaranteed!
18. AWS: Lambda
Ø Requires some coding skills
💡 Save implementation and
maintenance time by using some
graphical tool that generates robust
code!
Serverless compute
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Ø Auto-scaled serverless functions
Ø Built-in multi AZ fault tolerance:
no maintenance windows or downtimes
Ø No upfront costs → charged by 100ms
Ø Reusable: pass Context in Env variables
Ø Flexible resources: config memory &
timeout period→ proportional CPU,
network, disk I/O
Benefits Concerns / Tradeoffs
19. «Write» your code faster
Ø Free, open source, Apache license
Ø Graphical design environment
(Eclipse-based)
Ø Hundreds of connectors: Salesforce,
SAP, Marketo, Oracle, MS SQL server,
PostgreSQL, MySQL, AWS, Azure,
Dropbox, Box, SMTP, FTP/SFTP, etc.
Ø File management: open, move, zip
Ø Control and orchestrate data flows
Ø Map, aggregate, sort, enrich, and merge
data
Ø The executable JAR produced by
Talend cannot run as-is in AWS
Lambda
Ø Use Amazon SDK in a small wrapper
Java application; add the JAR to the
build path and execute the Talend
job’s runJob method
Talend Open Studio for Data Integration
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Benefits Concerns / Tradeoffs
20. What does it look like? (1/3)
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Talend Open Studio for Data Integration
21. What does it look like? (2/3)
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Talend Open Studio for Data Integration
22. What does it look like? (3/3)
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Talend Open Studio for Data Integration
23. AWS: RDS PostgreSQL
Ø Requires some PostgreSQL-
specific knowledge to create users,
tables, views, triggers, and
especially to
configure row-level security
policies
Serverless Database
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Ø Fault-tolerant: Multi-AZ deployments
with automatic switch in case of issues
Ø Automatic software patching
Ø Scalable:
• Push-button compute scaling:
up to 32 vCPUs and 244 GiB RAM
• Easy storage scaling: no downtimes
Benefits Concerns / Tradeoffs
24. AWS: CloudWatch (Logs & Monitoring)
Unified Log Collection and Analysis
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Ø Custom Log Retention Periods
by service and lambda function
Ø Built-In Metrics for the main services
Ø Set Alert thresholds on key metrics
Ø Create your own dashboards!
Benefits
25. What about costs?
Service Avg Monthly
Cost
Amazon API Gateway ~ 0.5 USD
AWS SQS
(1M requests/month are free)
~ 5 USD
AWS Lambda
(1M requests/month are free)
~ 1 USD
AWS RDS PostgreSQL
(64 GB SSD)
~ 75 USD
AWS CloudWatch Logs
*(incl. several metrics, alerts & logs from
other solutions we have on AWS)
~ 25 USD*
Total < 120 USD
Ø Low volume of transactions →
shift from very high fixed recurring costs
to a “pay per transaction” model
Ø Pay only for what you use
(RDS runs 24/7)
Ø Keep budget under control with
configurable alerts
Ø Free tiers available
Ø Cost Simulation Tool:
https://calculator.s3.amazonaws.com/index.html
Scalable Salesforce Integrations on a Shoestring Budget – Giuseppe Cardace
Benefits
28. Sharing is caring!
Adapt the presented architecture to
your own needs, follow the step-by-
step instructions on my blog to
reproduce the demo and share your
experience!
Now it’s your turn!
https://bit.ly/sfdcarchitect