לא הבנתי מה רע ב-ftp?
ב-ftp אתה יכול לקבוע לכל user לאן מותר לו להעלות קבצים, לקבוע לו quota כך שלא יפוצץ לך את הדיסק, יש authentication של ה-user.
 
זה אולי יכול להיות מורכב לעשות לזה אינטגרציה עם ה-flowים של המוצר שלך, אבל דווקא מבחינת security ופיצ'רים נראה שהוא אידיאלי.
 
 
היה מוצר קטן פנימי לחברה שעשיתי שעבד http API ומתי שהיה צריך לקבל קבצים, קיבל קובץ zip אחד גדול ב-tcp הכי פשוט שאפשר. התחיל להקשיב על port חדש, שלח את המספר port כתשובה ב-api, קרא מה-socket וכתב לדיסק עד שסגרו את ה-socket. אני מניח שעם קצת ירושה של ה-stream של ה-socket ו/או ה-stream של הקובץ אפשר גם להגביל גדלים.
זה דווקא יכול להיות יותר בעייתי מבחינת security כי אין authentication למי שמתחבר (מעבר לזה שהמספר port משתנה ורק הלקוח של API אמור לדעת אותו) וצריך שיהיה הרבה portים פתוחים לשרת (גם אם הם מעל 1000).