
Ask HN: Best practices for keeping various business systems in sync? - dhruvkar
https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;NZvdkL4<p>We use these systems for our small business (20 employees, 3 physical locations).<p>(A) ERP: Handling Inventory and Accounting.<p>(B) Less Annoying CRM: Tracking Customer Interactions. It&#x27;s a CRM.<p>(C) Mailchimp: Sending customer marketing communications<p>(D) Google Suite: Email, Contacts, Calendar and Drive<p>(E) Sparkpost: Automated internal emails with report attachments. Notification emails to customers.<p>(F) Server: Runs scripts for (E) and (G)<p>(G) Hugo&#x2F;Netlify Main Site: Mostly static site. Interacts with (C) and (D)<p>My question is how do you keep track of everything and keep it all in sync? 
Do you create a separate database and use scripts to update it from all these different sources?<p>How do you handle this at your companies?<p>I foresee increased interaction between all of these systems and it&#x27;s getting overwhelming keeping them synced and working together.
======
aprdm
At a startup I worked We had our own database and synced those systems from
our datastore

~~~
dhruvkar
I see. That's what I'm leaning towards.

------
mgliwka
I've seen this being handles using an ESB in the middle (solutions like WSO2,
MuleESB). The ESB receives all relevant events and triggers actions based on
that.

~~~
dhruvkar
Interesting, had never heard of ESBs before. Found this which explained this
briefly (for people reading)[0].

Does it sort of act like an API?

0: [https://www.mulesoft.com/resources/esb/what-
esb](https://www.mulesoft.com/resources/esb/what-esb)

~~~
Mandatum
It usually consumes and publishes API's to facilitate the "ESB" function
(which is incredibly vague, but pretty much acts as the "glue" to do all-the-
things).

The ESB term is so overused, and products like the one you linked have so much
functionality baked into them, they can act as pretty much any business or
system function in an organisation. And they do.

------
itamarst
Zapier is one tool people use.

~~~
dhruvkar
I'm using that in limited cases, but it seems like a stop-gap solution at
best, because:

* Not enough granularity

* Uses polling for most integrations rather than web hooks

* Has task limits on all plans which may not be suitable for a high number of integrations/interactions.

~~~
evanlivingston
Integromat solves these issues.

~~~
dhruvkar
Thanks, I'll check it out.

