resources:diagrams:projects:moe:xtierlink:Home
Summary
VPN
- Advantages:
- More or less existing skillsets
- Considerations:
- Adds a dependency on a vendor service (Data Factory)
- Ongoing maintenance can be the consumer's development team.
- Disadvantages: either breaking changes, or paralysis.
- Extends the current poor value practice of reaching directly into other systems databases, bypassing system logic, albeit via HTTPS.
- Introducing unanticipated bugs when data is written directly to databases.
HAPI + DATA FACTORY
- Advantages:
- ETL is a well known development pattern.
- Service is already built.
- Considerations:
- Requires ongoing Maintenance by a different team than the consumer's development team.
- Disadvantages:
- May lead to poor optimisation of cross platform traffic, adding data costs
- Security is minimal, provided by:
- firewall rules restricting traffic whitelisted Data Factory clients.
- database service accounts (synced using Azure Connect).
- Monitoring is general in nature, rather than system/use specific.
- RAD development patterns lead to tight coupling by bypassing the creating of DTOs and version API contracts – leading to either breaking changes, or paralysis.
- Extends the current poor value practice of reaching directly into other systems databases, bypassing system logic, albeit via HTTPS.
- Introducing unanticipated bugs when data is written directly to databases.
- Leads to duplication of logic within DataFactory to attempt to mitigate the above risks.
HAPI + CUSTOM SERVER
- Advantages:
- Optimises data usage compared to direct access over VPN.
- Ensures development quality required to better maintain security is not spread over multiple teams dabling with Data Factory, with varying results.
- Considerations:
- API Service can be a shared service, or per solution as required.
- Note: if installed as a modular shared service, Accreditation costs can be optimized.
- Can integrate with Data Factory if that becomes necessary.
- Does not require Data Factory to continue functioning.
- Requires ongoing Maintenance by a different team than the consumer's development team.
- Disadvantages:
- Requires more development effort than Data Factory development.
- Requires installation of a Proxy and Service on Prem.