Anyone working on systems that integrate with other systems knows the challenge of limitations of certain technologies. As well as the fact that not all your partners are at the same stage of application development.
An API for file uploads is a good example. While there are many benefits to using an API to accept uploads to your platform, file size can be a serious issue. Also, we’ve seen many cases where certain enterprise applications just don’t support data transfer via an API, and the customer might not be in control of the development of said application.
In cases like these, there are good reasons to offer a more traditional system to accept those uploads. However, adopting a traditional solution like FTP in your state-of-the-art serverless API-ecosystem might create some resistance in your team. Who will maintain that FTP platform? How will people and systems authenticate? Will this implementation affect our choices in future development? All valid concerns, but AWS Transfer Family is here to help!
Who will maintain that FTP platform?
Like most AWS services, AWS Transfer Family does not require any operational maintenance. It’s highly available, scales automatically and does not require any maintenance windows for version upgrades or patches. It uses either AWS S3 or EFS for storage, so you’ll never have a full disk.
How will people and systems authenticate?
Authentication can be performed against the service itself, natively to Active Directory (LDAP) or using a custom identity provider. The custom identity provider feature uses API Gateway or AWS Lambda to authenticate to the platform of your choice. Implementations with AWS Secrets Manager, AWS DynamoDB, AWS Cognito, but also external IdP’s like Auth0, Azure AD or even your own IdP that was built in the 90’s can be used. The possibilities are endless.
Will this implementation affect our choices in future development?
No! Using AWS Transfer Family with Workflows, any custom logic can be added to the event of a file upload. For example, after a user or system has uploaded a file, Workflows can be used to move the file to another location, scan for anomalies like viruses or malware, create meta-data using AWS Rekognition, or, and you’ve guessed it: upload the file via your API. Did we already say that the possibilities are endless?
There are many use cases that make AWS Transfer Family much more than just a managed FTP solution. It does come with a price tag, but the added value that we get from being able to use existing authentication methods, having no operational tasks and being able to automate workflows, is a very strong business case.