四月 2016

Drupal 开发和服务环境的最佳实践

Tags: 

一个新项目在启动初期,往往需要向客户描述一下我们的开发流程。这一过程帮助我们的客户相信,我们的流程能够为项目的短期和长期目标提供有力的保障。这其中自然需要描述我们的环境。幸运的是,有很多 Drupal 为中心的项目主机环境可以参考,我们的团队根据项目需要进行主机选择。这意味着我们几乎同所有的 Drupal 主机平台打过交道,因此我们对各个选项的优劣是比较清楚的。

Git 是基础的基础

第一,最重要的,所有的 Drupal 开发(其他开发也应该是)都应该使用 Git。Git 是一个用于分布式开发、非线性流程的版本控制系统。简单说来,Git 能有效的保护你的代码,防止误操作等人为损失。他还提供了详细的工作历史。Git 具有最佳的性价比

git

利用 Git 进行版本控制,解决开发问题,保障工作成果。

参与 2016 年度 Drupal 状况调查

Tags: 

我已经写了很多我认为对 Drupal 未来很重要的事情,现在轮到你了。在每个 Drupal 主版本发布之后,我会做一个“产品管理调查”,来搜集你的意见和数据,用于确认未来版本的 Drupal(8.x/9 )的焦点。

上次做这个调查的时候是 Drupal 7 的发布。当时 Drupal 8 的开发进行了六个月。我在 2011 年度 DrupalCon London 上公布了结果。调查结果不仅是 Drupal 社区的参考,更是 Drupal 8 定义提案的基础。现在我希望获得同样甚至更好的结果,帮助 Drupal 更好的响应复杂的市场趋势。

参与 2016 年度 Drupal 状况调查

Kubernetes 1.2 五日谈

过去几个星期里,Kubernetes 跨越了不少重要的里程碑。Kubernetes 1.2 发布了,在欧洲举行了第一次大会,被 Cloud Native Computing Foundation 接纳。歇歇脚之后,我们想要花一点时间来这四个月来,整个社区做出的重大贡献。

Kubernetes 的使命是让分布式系统更简单易用。Kubernetes 1.2 具有众多新特性,这些新功能让我们离目标更近一部。接下来的一周内,我们会发布一系列的深度介绍,所以请每天回来阅读最新内容,了解让 Kuberntes 成为最易用的容器运行平台的新功能。不要换台!

在 Kubernetes 中使用部署(Deployment)对象

Kubernetes 简化了应用的部署管理,大多数操作都可以用一个 API 或者命令行搞定,例如应用生成、金丝雀测试以及升级。我们为什么还需要部署对象?

部署对象把部署和滚动更新进行了自动化。跟 kubectlrolling-update 相比,部署 API 更加清晰快速,在服务端实现,有更多的功能(例如即使滚动更新已经完成,你还是可以回滚到之前的版本)。

Kubernetes 1.2 中利用 Ingress 简化复杂网络

在 Kubernetes 中,服务和 Pod 的 IP 地址缺省只能被集群网络路由。所有边缘路由器传来的流量要么被丢弃,要么被转向。在 Kubernetes 中,我们队 Ingress 对象做了改进,用于简化传入连接进入集群服务的过程。对其进行配置,能够给服务外部可达的 URL,负载均衡,Terminate SSL,提供具名虚拟主机等大量功能。

多分区集群(又称 "Ubernetes Lite"),构建高可靠应用

Tags: 

Kubernetes 最被期待的一个新功能就是在多个区域中运行应用的能力。理由也很简单,我们需要把应用部署在不同域中,用于防止单点失败。

Kubernetes 1.2 在两周前发布,加入了在多个区域中运行同一集群的能力( GCP 称之为 "Zones",Amazon 则命名为 “Availability Zones”,这里我们还是称之为 “Zones” )。这是协同多个 Kubernetes 集群的第一步(这部分工作有个名字叫 "Ubernetes"),他的第一个版本(称为 “Ubernetes Lite”)通过在同一云提供者的多个区域之间分散应用来提高应用的可靠性。