我还是拿自家公司举例子吧
分类:
编程语言:Python,Scala,Swift for iOS
前端:Play,Video.js, Jade, HTML5
框架容器:Docker,Mesos,Vagrant
日志监控:Datadog,Sumologic,Akka,Kafka
后台数据处理:Hive, Scalding, EMR, Big Query
虚拟机:EC2
服务器:Nginx
配置工具:NPM,Zookeeper, Puppet, Gradle
信号通知:SQS
代码托管: Github
数据存储:Cassandra,MySQL,S3, Redshift
内部工具:Phabricator, Slack, Google Docs, RelateIQ, Jira
Coursera作为创业公司,非常想保持敏捷和高效。从技术上来说,所有的都是在基于AWS开发,可以想像随意启动云端服务,做一些实验。我们大致分成产品组,架构组,和数据分析组。我把所有用到的开发技术都列在上面。因为公司比较新,所以没有什么历史遗留迁移的问题。大家大胆的使用Scala作为主要编程语言,采用Python作为脚本控制,比如产品组就是提供的课程产品,里面大量使用Play Framework,Javascript的Backbone作为控制中枢。而架构组主要是维护底层存储,通用服务,性能和稳定性。我在的数据组一部分是对商业产品,核心增长指标做监控,挖掘和改进。另一部分是搭建数据仓库完善跟各个部门的无缝数据流动,也用到很多技术例如使用Scalding编写MapReduce程序,也有人做AB testing框架, 推荐系统,尽可能用最少人力做影响力的事情。其实除了开源世界,我们也积极使用第三方的产品,比如Sumologic做日志错误分析,Redshift作为大数据分析平台,Slack做内部通讯。而所有的这些就是想解放生产力,把重心放到用户体验,产品开发和迭代上去。
Coursera是一个使命驱动的公司,大家不是为了追求技术的极致,而是为了服务好老师,同学,解决他们的痛点,分享他们的成功。这点是跟其他技术公司最大的区别。从一方面来说,现在还是早期积累阶段,大规模计算还没有来临,我们只有积极学习,适应变化才能保持创业公司的高速成长。
【快来看我回答的其他问题】关注我吧~~~