开发者社区 > 云原生 > 微服务 > 正文

通过结合微服务,从而提高DevOps的效率, 原理是什么?

如果再加上容器呢?

展开
收起
ghostcloud 2017-06-16 17:48:15 2877 0
1 条回答
写回答
取消 提交回答
  • 题主你好,我是Ghostcloud的高级架构师,这个问题我来守护!

    有了自动化测试、持续集成和持续交付三块,已经基本实现了DevOps的粗略流程,而为了提高DevOps的效率, 往往需要结合微服务。一个微服务理论上只做一件事,并能用任何语言编写。微服务是松耦合的,意味着一个应用的微服务可以被部署到不同机器上并通过resAPI/RPI来通信,当定义好微服务的API之后,每个team便能独立开发。因此,微服务更容易被测试和实现CI/CD。
    在微服务的最佳实践中,首先不得不提容器。容器的轻量化让微服务启动很快,同时容器的跨平台性保证了微服务可以在不同的平台启动起来。第二种是使用代理服务器来访问微服务,现在最常见的方式是前端连接一个代理服务器,后端再连接运行同一个微服务的几个相同容器。一个大的应用会使用几十上百个微服务,和微服务不相关的库文件不建议放在容器中。实践微服务中,建议使用配置管理工具(ansible, puppet等)和容器服务编排工具(K8s,Swarm,EcOS等)。
    在开发微服务中康威定律起到了很大的作用。康威定律指出任何软件代码都是用来反映组织机构而产生的,如果要采用微服务的开发方法,就需要是把团队划分成多个小团队,由每个小团队负责一个或多个微服务。所以如果要转成DevOps和CI/CD的开发模式,就需要采用这种敏捷开发模式,一个团队7-8个人比较合适。

    2019-07-17 21:18:12
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
从黑盒运维到DEVOPS 立即下载
云上DevOps开发布局 立即下载
DevOps与传统的融合落地实践及案例分享 立即下载