您的位置:首页 > 运维架构

实施DevOps/微服务

2017-08-16 19:20 218 查看
DevOps的核心在于Delivery。尽早发布,频繁交付。

而不是说Dev+Ops,开发人员兼作运维,——后者不是正确的见解。

而为了做到“频繁交付”,意味着价值观的改变。

DevOps意味着项目参与人员相互之间的信任、客户价值的尽早交付、频繁交付带来的快速迭代,由此需要自动化的测试。

DevOps不是一种技巧、技术,而是文化、价值。

DevOps属于敏捷(Agile)的其中一支。

依我看来,DevOps适用于外包行业基于SaaS环境的Web项目。前后端分离。后端分层负载均衡,前端做到模块化、结构化。并同时解决前后端通过REST对接时的安全、可用性、性能等非功能性需求。

对于后端而言,传统的做法是分为3层架构:前端使用NginX反向代理负载均衡,中间使用高性能异步IO的Web服务器框架,再后端是数据库集群系统,从主从复制读写分离的架构,到主-主分离水平切分的大规模集群。

通常,后端的研发,微服务部分,建造在Web服务器框架上。我们有Java系的Spring Boot/Data/Cloud,PHP系,NodeJS系,Go系,以及更小众的Python、Ruby on Rails。通常的处理流程是一个HTTP请求响应为一个事务,但也有额外但基于消息队列的后台服务。

我们再仔细研究这个Web后端开发的话,就会发现,整个系统不过是为了:从用户那里收集数据,以供企业内部的BI(商业价值大数据分析)。因此核心的核心在于数据。数据存储的架构设计。为了适应大规模并发和可伸缩性需要做哪些特殊的设计,比如采用NoSQL(Key-Value、列族、文档),NoSQL相对于SQL系的优点在于以CAP/BASE代替ACID,由此提高了性能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息