Prefer Cloud to On Premise Integrations
urn:js:virtue:aspire:proposal:19.1
TL;DR
Prefer cloud solutions to on premise integrations.
Rational
When a cloud service needs to serve end users or other systems with low latency, it is generally preferred for the service to avoid integrating directly with on premise systems, and instead it should obtain what it needs from on premise systems via batch or streaming processes either itself or by using other cloud services which already do that.
Improve total solution reliability, reduce total long term development costs, accelerate both tactical and strategic development.
Implications
- Reduces the live service provided by the solution being impacted by:
- network bottlenecks between on premise and the cloud
- the performance of on premise systems which may not scale suitably for such use
- Reduces the operational impact on the on premise systems as batch processes can be easier for the on premise system to control to protect existing on premise services - this is especially clear where there can grow to be more users in the cloud, in which case replicating data to a cloud mirror is preferential
- Avoids the friction on delivery caused by additional integrations (e.g. more firewall requests)
- Avoids defaulting to legacy processes which may not be consistent with long term strategy
- Avoids creating future work to work around dependencies created on the on premise systems which may ultimately be decommissioned
- Improves overall security as it does not create additional cloud to on-premise integrations, provided that the native cloud service to cloud service integrations used instead follow approved principles and patterns
- The latency of updates to data in the cloud service depends on the nature of the batch or streaming processes used to update the cloud data. For example if it is only updated in the cloud daily but on premise it is updated every 5 minutes then that may be inadequate. The standard pattern should normally be to stream updates to the cloud to avoid a mismatch.
- May involve more work or cost in the short term, because there is usually a temptation to just make a VPN connections to an on premise system for a live connection versus making a sustainable replica