Uploadcare是一种文件基础设施即服务解决方案。我们为处理文件提供预制构建,为管理复杂技术提供简单的控件。这些控件包括widget,Upload API,REST API和CDN API。这些API每天一共要处理350M的请求。
只需几行代码即可上传,存储,处理,缓存和交付文件。我们支持Dropbox,Facebook和许多其他外部来源上传。我们还允许用户将文件直接上传到他们的存储空间中。
是的,你可以自己处理文件,你可以搭建基本的系统并运行地很快。但是存储怎么样?正常运作吗? 是否有清晰友好的用户界面? 能否快速交付到偏远地区? 我们分析了大多数用例,发现投资开发自己的文件基础设施是没有意义的。
设置Uploadcare很快,解决了用户通常在处理大文件和批量文件时遇到的许多问题。此外,用户不再需要在每个浏览器中测试系统并维护基础设施。
ploadcare利用AWS构建了无限可扩展的基础设施。建立在AWS之上,每天可以处理350M的文件上传,操作和交付请求。在2011年开始时,AWS唯一的云替代方案是Google App Engine,我们不想构建相当复杂的解决方案。我们也不想购买任何硬件或使用合作点。
我们的堆栈处理接收文件,与外部文件源通信,管理文件存储,管理用户和文件数据,处理文件,文件缓存和分发以及管理用户界面仪表板。
从一开始,我们基于微服务架构构建了Uploadcare。
这些是我们在堆栈的每一层面临的挑战。
后端
Uploadcare的核心是运行在Python上。在佛罗伦萨的Europython 2011会议真正启发了我们,再加上事实是Python足以解决我们所有的挑战。另外之前我们还有在Python中工作的经验。
我们选择使用Django构建主要应用程序,因为它在Python生态系统中的具有举足轻重的地位并且功能十分完整。我们的生态系统内的所有通信都通过几个HTTP API,Redis,Amazon S3和Amazon DynamoDB进行。我们决定使用这种架构