What is our primary use case?
We have integrations with third-party systems that unfortunately make use of a very old-school, file-based protocol. Instead of an API or HTTP-based protocol where you make a request to an endpoint and you get a response, the way this thing works is that you send a file, and they send you a file back. To make all of that easier and manage the SFTP part of it, we are using the SFTP Gateway for AWS. When a file comes in as a response or as a request, we need to respond to that, or when we send a request, we need to be able to pass the response as soon as it comes back, so we made use of a managed SFTP Gateway from AWS. They handle all the setup. They handle setting up the SFTP directory and the SSH keys. We specify the config, but we don't manage it. We get access to the files through AWS's storage system, which is S3, so all of the directories and files are backed by S3.
In terms of our code and our processing, we only deal with S3 files. We don't have to deal with the files that are sitting on a desk somewhere on some SFTP server, which makes it a lot easier for us and for our code. Also, when new files appear in the SFTP server, we are able to automatically respond to them or handle them. AWS has triggers on these buckets. We can set a trigger on a bucket saying that, "If there's a new file, run this Lambda or this function to pass it automatically." We don't have to manage watching the directories or files when they appear.
How has it helped my organization?
It handles all of our use cases. Whenever the load goes up and goes down, it handles everything. We never had to worry about it. Once it was up, it was up. Doing anything later was also easy. When we had to add new clients or when we had to give certain clients permissions to certain folders, it worked like a charm.
What is most valuable?
Being able to have the S3 files as storage is most valuable. We can use S3 as storage instead of an SFTP server or a machine.
The automatic response or automatic handling of new files is also valuable. If we didn't have this, we'd have to build a watchdog that watches this folder for new files or multiple folders for new files, whereas now, we automatically have the response of technology, and S3 files as storage also help a lot.
What needs improvement?
Its cost needs improvement. In addition, there could be a universal client that works on all desktops. There could be client software that you use to connect to the server. Generally, AWS doesn't provide one for you, so you have to use either your CLI, maybe your SSH CLI, or use some kind of desktop solution. I had to find a desktop app from a third party to run this. Our clients also do the same everywhere else, so it would be nice if the SFTP Gateway solution came with a client that anyone could download on their Mac, Windows, or any other machine.
For how long have I used the solution?
We have been using it since October 2021. That's when we started the development of the project that we are working on.
What do I think about the stability of the solution?
We never had issues with it.
What do I think about the scalability of the solution?
For our use case, we did have a look at how we could scale with the product. We haven't seen any issues. It could scale with us for our use case at least. You might hit some bottlenecks when you're dealing with larger files, but our files are more like request-response. They are not huge files with many gigabytes in size. They are smaller files but on a more frequent basis.
We've about 10 to 15 people in total in our organization, but not everyone uses it. No one really uses the SFTP; it's more machine-to-machine talking. We have some clients to whom we give access to the SFTP for certain things, and at the moment, including them, us, and the third party, there are four in total.
How are customer service and support?
I've not contacted them for SFTP, but I have contacted them for other things.
How was the initial setup?
It's easy, for sure. It would've taken us a lot longer to get going if we had to do this ourselves. That was the biggest decision-maker for me when I started using it. We were a startup, and we needed to get things going quickly. We needed to get a product out and validate our market. I had to get something that works very quickly, and it did work very quickly.
What about the implementation team?
It was I who took care of its setup.
What's my experience with pricing, setup cost, and licensing?
It's $249 per month per instance. It's not great; it's pretty pricey. We've got multiple users on that one instance. If we had to build it by hand, we would win on cost there, but obviously, there is effort and time.
In terms of the additional costs, they do have some specific pricing, but for our use case, we don't end up going over $249. They do specify in their pricing what they're charging for.
What other advice do I have?
If you want to get going quickly, you should use it. It's very easy to set up the console. If you do it from the AWS console, they guide you through the whole process. It's pretty easy. We did it through Terraform because we do all of our infrastructure through Terraform. That took a bit longer, but it was still easy. You are not tied into it forever. It's month to month or at least day to day. So, if you want to replace it with your own cheaper solution at any point, you can always do that.
I'd rate it a nine out of ten. The positives would be that we never had to worry about it, and it always just works. The only downside is the cost.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)