What's your deployment workflow like? Do you use plain FTP or SFTP?
Thanks
FTP is plain text file transfer protocol, there's not really any good reason to use it anymore IMHO
FTPS is an extension to FTP to support SSL/TLS
SFTP is "Secure Shell File Transfer Protocol" (e.g. over SSH)
We had a project once where the customer asked us to use "SFTP" to manage some critical files. This was handled in-app, we added the functionality, did our testing and moved on.
Later when we did integration testing with their system we discovered that what the customer actually meant was to ask us for "FTPS" and we had to rip out the SFTP library with FTPS stuff.
Something similar _almost_ happened a couple of years later in another project (due to miscommunication by someone doing requirements gathering) and this time we caught it early.
Otherwise, I've been using SFTP for a personal project where I'm using it as a part of a document storage API. The documents are managed by a SQLite application that stores their metadata.
FTP servers are easy to set up and aren't bound by someone's ecosystem. Plus, I can use any client I want to access the documents if I need to.
I would NEVER use plain FTP for deployment. You really need some strong encryption for authentication and transfer. If at all possible use SFTP in place of FTP.
I think the only valid use case for FTP is accessing legacy and embedded systems. But only if you control the network. I think it had been at least four years since I had to log into an old FTP system.
Going further, we have a couple of dev offices geographically apart. Large tarballs and/or assets are shared by private P2P.
I used ftp last week to download a dataset from a vendor. (MolPort distributes chemical datasets over password-protected ftp.)
I haven't upgraded Firefox because they dropped ftp support, and it's really nice to use my browser to view a site, read update notices, etc. before switching to ncftp for the actual data downloads.
FTP is obsolete.
Now I use rsync over SSH, or SFTP.