微服务 学习笔记 - DevOps

1、DevOps

/带无阿泼斯/

DevOps维基百科定义 DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

devops平台搭建工具

项目管理(PM):jira。运营可以上去提问题,可以看到各个问题的完整的工作流,待解决未解决等;

代码管理:gitlab。jenkins或者K8S都可以集成gitlab,进行代码管理,上线,回滚等;

持续集成CI(Continuous Integration):gitlab ci。开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续交付CD(Continuous Delivery):gitlab cd。完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

镜像仓库:VMware Harbor,私服nexus。

容器:Docker。

编排:K8S。

服务治理:Consul。

脚本语言:Python。

日志管理:Cat+Sentry,还有种常用的是ELK。

系统监控:Prometheus。

负载均衡:Nginx。

网关:Kong,zuul。

链路追踪:Zipkin。

产品和UI图:蓝湖。

公司内部文档:Confluence。

报警:推送到工作群。

类型 名称
持续集成/持续交付 Jenkins
源代码管理 Gitlab
云平台 阿里云
软件包管理器 私有Nuget
代码检查 Reshaper
容器化 Docker
分布式链路跟踪 SkyWalking
日志系统 ES+Filebeat+kibana
系统监控 Prometheus

对于一般的团队,建议优先从Gitlab+Jenkins搭建好完成CI/CD,其次把日志系统给完善起来,这两者完成得越早,给团队带来的收益就越高,后续才会有更多的时间来完善整套技术体系,这是一个良性的循环

2、康威定律

用通俗的说法就是:组织形式等同系统设计,核心观点如下:

  • 第一定律:Communication dictates design(组织沟通方式会通过系统设计表达出来)
  • 第二定律:There is never enough time to do something right, but there is always enough time to do it over(时间再多一件事情也不可能做的完美,但总有时间做完一件事情)
  • 第三定律:There is a homomorphism from the linear graph of a system to the linear graph of its design organization(线型系统和线型组织架构间有潜在的异质同态特性)        
  • 第四定律: The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems(大的系统组织总是比小系统更倾向于分解)

 

 

 

 

Reference:

https://www.zhihu.com/question/58702398/answer/1755254160

https://blog.csdn.net/en_joker/article/details/88306553

 

posted @ 2022-01-28 16:14  PrintY  阅读(84)  评论(0编辑  收藏  举报