2017

故障平均恢复时间 - MTTR

DevOps 组织不是试图避免故障,而是承认故障是生活的一部分 Read More

编写一个 Unix Shell - 第一部分

按部件来构建自己的 UNIX shell。这篇文章的重点是系统调用 fork 的语义 Read More

选择适合 Rails 开发的操作系统

有人说 Ubuntu, 有人说 Linux Mint, 也有人偏好 MacOS, 甚至用 Windows。 到底应该怎么选择适合 Rails 开发的操作系统呢? Read More

用科技解决洁净水资源供应难题

生命离不开水,人的健康更需要洁净水。 我们正面临着日益严重的水资源短缺的威胁。 洁净水资源的短缺已经成为一个全球性问题。 人口增长、空气污染和气候变化都将加剧了洁净水的短缺,尤其是大城市增多,更面临如何管理水资源的挑战。 科技是解决发展问题的根本。 环境问题日趋严重的事实,不应完全归罪于生产的发展,解决的根本之道是提高人类认识、适应和改造世界的能力。 Read More

2016

Nginx访问计数和频率控制

在使用了负载均衡设施的网站中,对 HTTP 请求做访问控制(频率控制)是个经常遇到的需求。 频率控制的主要目的,传统应用场景中要保护后端系统。 在多租户的云服务上,通过频率控制对不同租户的资源使用量进行有效分配,从而避免相互影响访问质量。 频率控制的精细度,也需要控制在集群级别,而非传统意义的单进程级别。 Read More

创业公司的科学方法

(译自 Y Combinator) 当讨论创业公司时,人们倾向于谈论灵感和创造力。 这使得创始人相信可以想象出一个方案来解决所有他们试图解决的问题。 现实中,运行一个创业公司是 创造力/直觉/本能 与 科学方法 ( 假设 > a/b 测试 > 总结 > 重复 )之间的平衡。 灵感 帮你找到一个问题来解决。 创造力 使你能够集思广益出解决问题的各种潜在方案。 科学方法 指导你从这些方案中选出哪一个能真正解决你客户的问题。 Read More

Mesos 实战-3:Marathon 作为运维管理平台

Marathon 是运行在 Mesos 之上的应用管理平台、运维平台。 本文将学习 Marathon 的基本概念、部署管理和使用方法。 前文中我们已通过Mesos 实战-1:Mesos 起步部署一套 Mesos 集群,通过Mesos 实战-2:Mesos 框架初探了解 Mesos 框架的基本结构。 在框架的基础上,Marathon 平台的出现使得往 Mesos 上部署应用更加便捷。 Read More

Mesos 实战-2:Mesos 框架初探

Mesos 提供了集群化的资源管理功能。 为了将实际业务与 Mesos 结合起来,就需要用到 Mesos Framework(Mesos 框架),即基于 Mesos 的应用。 基于官方的 Mesos 框架示例代码,我们来分析看框架的基本结构,并了解社区已有框架的现状。 Read More

Mesos 实战-1:Mesos 起步

Mesos 是一套成熟的分布式资源管理系统,应用场景非常广泛。 今天我们来学习 Mesos 的基本架构原理,并亲自动手部署一套 Mesos 集群环境。 Read More

2015

Kubernetes 201 学习笔记

Kubernetes 201 涵盖了 Kubernetes 101 未涉及的领域和更高级的话题,如应用生产化,部署和扩展。 Read More

Apache TCP Backlog 分析

本文来自 Ryan Frantz 的一篇博文。 文章介绍了针对 Apache 的 TCP Backlog 做调优的过程中遇到的问题,和最终的惊喜发现。 Read More

Docker 生态圈指南

【编者的话】如火如荼的容器化运动中,引擎、服务商和工具等方面都涌现了一大批优秀的成果,本文对这些方面做出简要总结。 Docker 是近一两年来发展最快的技术。 几乎所有的公司都在使用 Docker(或容器)技术。 有的只用 Docker 来构建开发环境,越来越多的公司在利用容器技术彻底改造已有的架构和部署流程。 本文对当今的容器生态环境做一个简单介绍。 Read More

Kubernetes 101 学习笔记

Kubernetes 101 内容涵盖 kubectl, pods, volumes 和多容器的知识。 学习时注意区分各个概念与 Docker 概念的对应关系和差异。 Read More

分布式文件系统 MooseFS:告别 NFS

本文介绍 MooseFS 架构原理,安装配置和使用方法。 MooseFS 是一种容错的分布式文件系统。它将数据分散到多个物理位置(服务器),在用户看来是一个统一的资源。 MooseFS 支持 FUSE 标准接口,能够无缝实现从本地文件的迁移。 同时,MooseFS 提供比 NFS 更好的可运维性。 Read More

命令行工具实践——测试驱动的开发方法

TL;DR; 本文介绍了 to_yaml 的开发过程中如何采用 TDD 方法开发功能,以及用到的免费服务 GitHub / TravisCI / RubyGems。 TDD (测试驱动开发)是敏捷开发中的一项核心实践和技术,也是一种设计方法论。 TDD 的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。 to_yaml 是一款命令行工具,将 JSON 输入转为 YAML 文本输出。 Read More

2014

通过堡垒机代理SSH运行Ansible(译)

有一种常见的网络安全模式是阻止私有网络外部对应用服务器的所有连接(指除了业务数据外其它的连接,如后台管理系统和内部业务系统。译者注),然后使用 DMZ 区域中的 堡垒机 来选择性的将到服务器的流量加入白名单。 Read More

【八卦】关于Boot LOGO中企鹅数量与CPU核心数的关系

Tomcat中配置SSL证书

使用Jekyll - Data Files简介

Read More

生产环境 Puppet 升级笔记(3.4.3→3.6.2)