Python

Python

应用程序和数据/ 语言和框架/ 语言文字

决定 在流 关于 去吧,流,蟒蛇,纱线,BabelNode.js,ES6,JavaScript语言,框架完整堆栈

NParsons08的化身
发展先驱 Stream ·
GoGo StreamStream PythonPython 纱线纱线 BabelBabel J.N.J.N. ES6ES6 JavaScriptJavaScript
第二语言
#框架完整堆栈

winds 2.0是由Stream核心目标是让广大的开发人员做出贡献。

我们选择JavaScript因为几乎每个开发人员都知道或能够,至少,阅读javascript。WithES6J.N.V1.x.x,它已经成为一种非常有能力的语言。Async/Await功能强大且易于使用(Async/Await vs Promises)。Babel允许我们试验下一代的javascript(还没有在官方的javascript规范中的特性)。纱线使我们能够快速一致地安装软件包(并充满了大量新技巧)

我们对所有东西都使用JavaScript,包括前端和后端。Most of our team is experienced withGoPython,so Node was not an obvious choice for this app.

当然。。。会有一些讨厌的人拒绝承认javascript有任何远程积极的地方(甚至有关于node.js的黑客新闻的咆哮);然而,without writing completely in JavaScript,我们不会看到我们所做的结果。

#框架完整堆栈 第二语言

29 优胜亚博平台怎么样票 · 8.9K 意见

决定 在FundsCorner 关于 Zappa,AWS兰姆达,SQLAlchemy蟒蛇,亚马逊Node.js,蒙哥德针迹波斯特雷斯克蒙哥大

Avatar of jeyabalajis

最近,我们正在研究一些可靠且经济高效的复制我们生产中的数据的方法。蒙哥大到A波斯特雷斯尔database for data warehousing and business intelligence.

我们为完成这项工作的最佳工具设置了以下标准:-数据复制必须接近实时,yet it should NOT impact the production database- The data replication must be horizontally scalable (based on the load),异步和抗崩溃

根据上述标准,we selected the following tools to perform the end to end data replication:

我们选择蒙哥德针迹for picking up the changes in the source database.它是MongoDB的无服务器平台。MongoDB Stitch提供的服务之一是Stitch触发器。使用缝合触发器,you can execute a serverless function (inJ.N.)实时响应数据库中的更改。当数据库发生大量更改时,Stitch通过异步队列自动“前馈”这些更改。

我们选择AmazonSQS作为管道/消息主干,用于将MongoDB的更改传输到我们自己的复制服务。Interestingly enough,MongoDB Stitch提供与AWS服务的集成。

J.N.函数,we wrote minimal functionality to communicate the database changes (insert / update / delete / replace) to亚马逊简单队列服务.

Next we wrote a minimal micro-service inPython要收听SQS上的消息事件,pickup the data payload & mirror the DB changes on to the target Data warehouse.We implemented source data to target data translation by modelling target table structures through圣卢西亚.我们将此微服务部署为AWS兰姆达具有扎帕.和扎帕一起,deploying your services as event-driven & horizontally scalable Lambda service is dumb-easy.

In the end,我们必须实现一个高度可扩展的近实时更改数据复制服务,该服务在几天内就可以“工作”并部署到生产环境中!

二十三 优胜亚博平台怎么样票 · 22.1K 意见

决定 在Uploadcare 关于 PostCSS预先行动,Ember.js反应,蟒蛇,丹戈

德米特里·穆金的化身

对复杂技术的简单控制,正如我们所说的,如果我们的用户区域包括起始页没有整洁的uis,仪表板,设置,and docs.

最初,there was丹戈.回到2011,考虑到我们Python-中心方法,那是最好的选择。后来,我们意识到我们需要更快地在我们的网站上迭代。And this led us to detaching Django from our front end.那时我们决定建一个水疗中心。

对于构建用户界面,我们目前正在使用反应因为它提供了我们构建工具箱时最快的渲染。值得一提的是,UploadCare并不是一个以前端为中心的SPA:我们的运营并不复杂。如果是,我们会一起去伊姆斯.

然而,我们有可能转向更快的方向预演,with its motto of using as little code as possible,因为它更多地使用浏览器API。我们的前端未来的任务之一是配置WebpackBundler,将代码拆分为不同的站点部分。对于风格,我们使用后CSS以及它的插件,比如CSSNANO,它可以缩小所有代码。

所有这些都使我们能够提供出色的用户体验,并在需要的地方以尽可能少的代码快速实现更改。

二十一 优胜亚博平台怎么样票 · 14.6K 意见

决定 在Uploadcare 关于 AWS Elastic Load Balancing (ELB),亚马逊EC2蟒蛇,龙卷风

德米特里·穆金的化身

The 350M API requests we handle daily include many processing tasks such as image enhancements,resizing,过滤,face recognition,和GIF到视频转换。

龙卷风是我们目前使用的,而aiohttp是我们打算在不久的将来在生产中实施的。这两种工具都支持处理大量请求,但是aiohtp更可取,因为它使用的是Python本机的Asyncio。自从Python是我们服务的核心,we initially used PIL followed by Pillow.我们还是会的。When we figured resizing was the most taxing processing operation,亚历克斯,我们的工程师,创建了名为“枕头模拟人生”的分叉,并对其进行了大量优化,使其速度比ImageMagick快15倍。

由于优化,UploadCare现在需要的服务器比处理图像少六倍。Here,by servers I also mean separate亚马逊EC2实例处理处理和第一层缓存。The processing instances are also paired withAWS Elastic Load Balancing (ELB)which helps ingest files to the CDN.

20 优胜亚博平台怎么样票 · 2.5K 意见

决定 哨兵 关于 锈病,Python

jtcunning化身
Operations Engineer 哨兵 ·

哨兵的事件处理管道,负责处理所有接收到的事件数据,使其进入我们的离线任务处理,is written primarily inPython.

对于特别密集的代码路径,就像我们的源地图处理管道一样,我们已经开始重新写这些内容Rust.Rust缺少垃圾收集,这使得它成为嵌入到Python中特别方便的语言。它允许我们轻松地构建一个python扩展,其中所有内存都是从python端管理的(如果python包装器被python gc收集,我们也会清理rust对象)。

十八 优胜亚博平台怎么样票 · comment · 7.1K 意见

决定 在图钉上 关于 C去吧,锈病,Python

马尔科梅达化身

对于提供一个具有低内存占用和最小依赖性的独立于平台的解决方案,一个重要的决定是选择编程语言。我们考虑了一些Python(thumbtack已经有了相当大的python代码库),toGo(我们正在迈出第一步)and evenRust(当时太不成熟)。

我们最后把它写在C.很容易满足所有的需求,只需要一个外部依赖来实现Web服务器,clearly no challenges running it on any of the Linux distributions we were maintaining,可以说,在上述选择下,内存占用最小的实现。

15 优胜亚博平台怎么样票 · 134K 意见

决定 在Uploadcare 关于 波斯特雷斯克Amazon DynamoDB,亚马逊S3,雷迪斯蟒蛇,谷歌应用引擎

德米特里·穆金的化身

UploadCare通过利用AWS构建了一个无限可扩展的基础设施。Building on top of AWS allows us to process 350M daily requests for file uploads,操作,和交付。When we started in 2011 the only cloud alternative to AWS was谷歌应用引擎对于我们想要构建的一个相当复杂的解决方案来说,这是不可行的。我们也不想买任何硬件或使用共同的地点。

我们的堆栈处理接收文件,与外部文件源通信,管理文件存储,管理用户和文件数据,processing files,文件缓存和传递,以及管理用户界面仪表盘。

在其核心,UploadCare运行于Python.2011年在佛罗伦萨举行的欧罗巴斯会议给我们带来了很大的启发,coupled with the fact that it was general enough to solve all of our challenges informed this decision.另外,我们以前在Python工作过。

We chose to build the main application with Django because of its feature completeness and large footprint within the Python ecosystem.

我们生态系统中的所有通信都是通过几个HTTP API进行的,Redis亚马逊S3,和亚马逊发电机.我们决定采用这种体系结构,这样我们的系统就可以在存储和数据库吞吐量方面进行扩展。这样我们只需要Django在我们的数据库集群上运行。我们使用波斯特雷斯尔as our database because it is considered an industry standard when it comes to clustering and scaling.

15 优胜亚博平台怎么样票 · 3.7K 意见

决定 在Dubsmash 关于 Kubernetes亚马逊EC2赫鲁库蟒蛇,集装箱工具,平台服务

茨佩赫特化身
联合创始人兼首席技术官 杜姆斯马什 ·
库伯内斯库伯内斯 亚马逊EC2亚马逊EC2 赫鲁库赫鲁库 PythonPython
集装箱工具
#平台服务

Since we deployed our very first lines ofPythoncode more than 2 years ago we are happy users of赫鲁库.It lets us focus on building features rather than maintaining infrastructure,has super-easy scaling capabilities,支持团队总是乐于提供帮助(在极少数情况下,您需要他们)。

我们玩弄着把我们的计算需求转移到赤骨上的想法。亚马逊EC2instances or a container-management solution like库伯内斯几次,but the added costs of maintaining this architecture and the ease-of-use of Heroku have kept us from moving forward so far.

针对不同的功能需求运行独立的服务,使我们能够灵活地选择适合给定任务的数据存储。

#平台服务 集装箱工具

14 优胜亚博平台怎么样票 · 4.3K 意见

决定 针脚 关于 去吧,Clojure,JavaScript蟒蛇,KubernetesAWS OpsWorks,亚马逊EC2Amazon Redshift,亚马逊S3,关系数据库服务

杰克斯坦的化身

缝合完全在AWS上进行。All of our transactional databases are run with关系数据库服务,我们依靠亚马逊S3for data persistence in various stages of our pipeline.我们的产品与亚马逊红移作为数据目的地,我们还使用Redshift作为内部数据仓库(由Stitch提供支持,of course).

我们的大部分服务都是无状态的亚马逊EC2由管理的实例AWS OpsWorks.我们最近介绍库伯内斯在我们的基础设施中运行计划的作业,执行singer代码以从各种源中提取数据。虽然我们对闪亮的新玩具持谨慎态度,事实证明,Kubernetes非常适合这个问题,and its stability,强大的社区和有用的工具使我们很容易融入到我们的业务中。

While we continue to be happy with Clojure for our internal services,我们认为,它的采用范围相对狭窄,可能会阻碍歌手的成长。我们选择Python这都是因为它非常适合这项任务,而且它似乎已经达到了数据工程师的临界质量。所有的,歌手是语言不可知论者,and integrations and libraries have been developed inJavaScriptGo,和克洛杰尔.

十三 优胜亚博平台怎么样票 · 8.5K 意见

决定 在FundsCorner 关于 亚马逊哨兵,GITLAB CI,Slack,谷歌计算引擎,NetlifyAWS兰姆达,Zappa,维乌斯VuetifyVue.js昂首阔步的用户界面蒙哥大,Flask,Python

Avatar of jeyabalajis

在基金会上,我们的任务是为印度的基拉那商店提供快速贷款。我们是一家初创公司,拥有一支超小型工程团队。All the tech decisions we have made until now are based on our core philosophy: "Build usable products fast".

基于上述基本原则,我们选择Python作为我们所有API和微服务的基础语言。一开始就非常容易,然而,即使对于最复杂的用例,也能提供很棒的库。我们的整个后端堆栈运行在Pythonand we cannot be more happy with it!如果您希望将API部署为无服务器的,python提供的冷启动时间最少。

我们使用.对于后端数据库,我们的自然选择是蒙哥大.它将我们的时间从复杂的数据库规范中解放出来——我们用我们的时间来做明智的数据建模,一旦我们最终确定了数据模型,我们使用昂首阔步的用户界面.Mongo supports complex queries to cull out difficult data through aggregation framework & we have even built an internal framework called "Poetry",for aggregation queries.

Our web apps are built onVUE JS使肥沃vuex.最初我们围绕选择争论了很多VUE JSor React,但最终还是解决了VUE JS,mainly because of the ease of use,支持Vue的快速开发周期和强大的库和实用程序集。

You simply cannot go wrong withVUE JS.Great documentation,图书馆是超小型的,而且燃烧得很快。ChoosingVUE JSwas one of the critical decisions made,这使我们能够在不到一个月的时间内启动我们的Web应用程序(否则很容易花费3个月)。对于那些想要大牌的人,土砖,and Alibaba and Gitlab are using Vue.

By choosing使肥沃,我们在设计CSS文件时节省了数千人的时间。使肥沃包含所有关键的材料组件,设计一个流畅的用户体验,它只是工作!It's an awesome framework.我们在Fundscorner的所有人现在都是VUE JS使肥沃.

在基础设施方面,我们所有的API服务和后端服务都是通过扎帕.扎帕通过将部署代码所需的一切打包为AWS兰姆达.我们现在沉迷于通过扎帕.Try it out & you will convert!

Also,如果您正在使用扎帕,you can greatly simplify your CI / CD pipelines.一定要试试!太棒了!还有…你会惊讶于你在本月底的自动焊接系统账单上节省下来的钱。

Our CI / CD pipelines are built usingGitLab CI.文档非常好,它使您能够在最短的时间内从概念到生产。

我们使用哨兵for all crash reporting and resolution.Pro tip,它们确实有处理程序AWS兰姆达,这使得我们的集成非常容易。

包括API在内的所有微服务都是事件驱动的。我们的后台微服务是面向消息的,我们使用亚马逊简单队列服务作为我们的信息管道。We have our own in-house workflow manager to orchestrate across micro - services.

我们的静态网站位于网络化.最酷的事情之一网络化是Git Push上的自动CI/CD。你只要按一下就可以了!再一次,它的使用非常简单,而且非常有效。我们一直坚持即使在静态网站上也要减少服务器数量,而你可以减少服务器数量网络化in a few minutes.只需点击几下。

我们使用谷歌计算引擎,especially Google Vision for our AI experiments.

对于操作自动化,我们使用松弛.Slack提供了一个超级丰富的API(通过Slack应用程序),通过它您可以为无聊的操作任务编织神奇的自动化。

十二 优胜亚博平台怎么样票 · 8.7K 意见