分布式系统实践
1. 从Storm和Spark 学习流式实时分布式计算的设计
http://www.csdn.net/article/2014-08-04/2821018/1
要点: 流式计算并不是什么新鲜的东西, 相信很多同学也都用过. 不过之前流式计算往往都用在业务相关的地方, 随着大规模分布式系统对trace和metric数据收集的迫切需求, 基于时间序列数据库和流式计算就可以实现复杂的数据分析和汇聚功能, 这篇文章帮助大家理解流式计算的原理, 大家可以想象一下, 如果希望实时统计性能消耗前100的BS, 该如何使用流式计算建模.
2. Google File System
http://thu-cmu.cs.tsinghua.edu.cn/curriculum/dscourse/slides/01Overview.pptx
要点: 本周和大家一起重温google的经典论文GFS. 虽然GFS还是2003年发表的, 但是很多技术至今看来仍然很有参考价值, 比如租约机制, checksum机制, 一致性模型, 高可用性等等. 链接不是论文本身, 而是清华大学的分布式系统教程, 以GFS作为课程的第一讲.
服务化和资源管理技术
1. Google使用Borg进行大规模集群的管理(论文翻译)
https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=208440555&idx=1&sn=113e883b818f430ce5ee68423cecc0d5&scene=0&key=2877d24f51fa5384c503efd3df4dba0864707a9514e7f7e8d92b366f986c1e5a03a86624dad996e66fd621f8d590da84&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11+build(15A284)&version=11020201&pass_ticket=ZeDzFiQex7uVCublCYI%2FEEfVs8l8xyIhDqEApzHVC5NS3jECcIG6NGnnGQVWWMT9
要点: 论文比较长, 文章还在持续翻译中. 最近beehive团队在对borg论文进行深入讨论, 有兴趣的同学也可以和我们一起讨论.
2. 【实战】五个Docker监控工具的对比
http://dockone.io/article/397
要点: 监控一直是PAAS的基础设施之一, 这篇文章介绍了基于docker的5个容器性能收集和监控系统. 除此之外, http://dockone.io/article/171 这里介绍的Prometheus(普罗米修斯)也是一个不错的选择.
3. docker与虚拟机性能比较
http://chenbiaolong.com/2015/02/26/dockervm/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 我们一直说docker是轻量级的虚拟化解决方案, 这篇文章从cpu计算能力和内存访问两个维度来对比, docker和虚拟机到底轻量级到什么程度
4. CPI2 : CPU performance isolation for shared compute clusters
http://eurosys2013.tudos.org/wp-content/uploads/2013/paper/Zhang_2.pdf
要点: 虽然目前cgroup机制能够很大程度上解决资源隔离的问题, 但是更底层的资源竞争仍然存在. 很多研究工作都在内核层面就增强资源隔离机制来做, 不过google的这篇文章从解决问题的角度出发, 利用周期性采集的CPI数据, 检测到cpu竞争的情况, 并且想办法消除(调整受影响的作业的cpu quota或者迁移作业). 从论文中看出, CPI与检索服务的叶子服务和中间服务(bc/bs)的响应时间成比较好的线性关系, 但是对于根节点(ac/us)不能线性对应, 因为CPI更多的是反应CPU的资源占用情况而不是网络和IO. 这篇文章的思路和结论对于我们探测异常的bc/bs有很大的启发, 期待检索系统能够打开资源隔离从而实现混布的那一天.
5. 企业级云平台的实践和思考
http://dockone.io/article/740?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 【编者的话】嘉宾从事很多云平台的研发。在本文中他将结合自己的经验向大家分享企业级云应用平台实践和思考相关内容。
6. 容器内应该运行什么?
https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=208468120&idx=1&sn=1dd37080ada7ea9eb4963428abda108d&scene=0&key=b410d3164f5f798e467ba918f24dc886aadb91d232b8a334dd7de697e10499f78ae5335061083e085ab2d83ca42d76d7&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11+build(15A284)&version=11020201&pass_ticket=JYimr5N3imB%2FjBOi9VosVNVNWS91eO5DRYET%2BtcKrYESdP7bhIHkyUtPoB1QjOjx
要点: 容器的概念已经越来越多的被更多人所接受, 但是有了容器之后, 我们应该把什么放在容器内, 什么放在容器外呢? 这篇文章提供了一些观点.
7.实践 | Otto奥托集团的架构选型之路
http://dockone.io/article/737
要点: 容器技术的发展促进了微服务架构的发展, 微服务架构灵活, 变更高效的特点吸引了很多公司的架构团队. otto.de是德国的一家网上购物网站,本篇前半部分主要介绍了几个系统架构以及它们的优缺点,后半部分主要讲解otto.de的微服务架构。
服务调度和 Trace 技术
1. 时间序列数据库的秘密
http://www.infoq.com/cn/articles/database-timestamp-01?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text
要点: 时间序列数据库是支持海量metric数据收集和分析的基础, 这篇文章不仅仅解释了为什么传统的nosql数据无法支持metric数据的存储和查询, 也解释了elasticsearch能够支持的原因. 这里我们需要的是一个搜索引擎而不仅仅是kv类的nosql数据库.
2. Google推出移动网页加速项目AMP
http://www.infoq.com/cn/news/2015/10/Google-AMP
要点: 如何提升网页性能吸引了很多工程人员和研究人员的关注。为了解决该问题,Google近期联合数十家技术机构和企业等推出了移动网页加速项目(Accelerated Mobile Pages, AMP)。遗憾的是, 项目官方网站打不开, 需要FQ.
3. linux cfs调度器_理论模型
http://www.cnblogs.com/openix/archive/2013/08/13/3254394.html
要点: CFS是linux自2.6.23内核开始支持的公平调度算法, 引入了进程虚拟运行时间概念, 让整个调度算法的设计非常简单. 有很多介绍CFS的文章, 不过我认为这篇写的最好, 因为有简单的例子帮助大家理解, 一看便知. 其实CFS算法思想还可以用于我们日常开发中, 很多时候, 我们都会遇到"按照优先级选择任务"的场景, 比如beehive的Data Tranfer Task的选择策略, 这时候不妨想想CFS算法的思想. cfs的论文: http://landley.net/kdocs/ols/2010/ols2010-pages-245-254.pdf
DevOps 技术
1. 构建面向IT性能的精益运维组织
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=208069436&idx=1&sn=868db41c1ad3487f1abf594f7bf26148&scene=0&key=2877d24f51fa53847726f76f9085ccd96166fbe7821c1fe030c40855b47fdf8736e1ed981d198cedca60f1e92d22818e&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11+build(15A284)&version=11020201&pass_ticket=f0ryV30XtHR4cvjlyAey8JzPOeGw2qbjqc15s6Xl8ruRTKjniBheUfas29KRfdwe
要点: 如何提升IT运维的效率, 本文从服务交付, 故障恢复等层面阐述了这个问题.
2. 荣誉,还是苦逼?| 也议全栈工程师和DevOps
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=208086642&idx=1&sn=2cd6fc667af1bd69b3c6014eefd25ba7&scene=0&key=b410d3164f5f798e6cba7f15c09f6d1479ae3e56972bfb5469c7964f12737a8bed962e8dfbd5bd6dc6035d2e596b9c09&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11+build(15A284)&version=11020201&pass_ticket=JYimr5N3imB%2FjBOi9VosVNVNWS91eO5DRYET%2BtcKrYESdP7bhIHkyUtPoB1QjOjx
要点: 一家之言, 仅供参考.
工具集合
1. Linux Mount 挂载设备使用说明
http://blog.jobbole.com/92695/
要点: mount命令可能很多op同学比较熟悉, 这篇文章介绍了linux mount命令的详细使用方法, 可以帮助大家理解linux对设备的管理.
2. 强迫症的 Mac 设置指南
https://github.com/macdao/ocds-guide-to-setting-up-mac?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 非常全面的mac工作和开发环境设置
3. linux awk 内置变量使用介绍
http://www.cnblogs.com/chengmo/archive/2010/10/06/1844818.html
要点: awk内置变量用法
4. Python 初学者的最佳学习资源
http://python.jobbole.com/82399/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 各取所需