Introduction to DevOps
内容以及图片摘录于:https://www.coursera.org/learn/intro-to-devops/
很喜欢课程中老师知识的讲述方式
DevOps是什么
其中culture是最重要的,但很多企业把精力倾向于对tools和methods选择和使用,而有些DevOps的工具供应商也对宣传工具的重要性以至于他们能很好的售卖他们的产品(我当初踩坑就是被工具选择和使用困住了)
DevOps能带来什么
- fail fast and roll back quickly(失败时能快速回滚)
- test in-market instead of analyzing(在真正的生产环境中A/B测试)
- application design allowed individual components to be replaced(某个服务挂了不影响其他服务的使用)
对DevOps的偏见
- DevOps不是简单的Dev+Ops
- 不是单独的一个团队
- 不是简单工具的使用
- 并不是处处适用的
- 不只是自动化(测试打包部署等)
DevOps的目标是什么
Agility is goal.
- Smart experimentation
- Moving in market
- With maximum velocity and minimum risk
- Gaining quick, valuable insights
敏捷性的三大要素
交付层面:DevOps
- cultural change
- automated pipelines
- infrastructure as code
- immutable infrastructure
- cloud native application design
- the ecosystem of containers
- how to deploy with immutable infrastructure.
架构层面:微服务
基础设施:容器
如何改变团队文化为DevOps culture
Think differently
- Socail coding(git and public repository)
- Working in small batches(microservice)
- Minimum Viable Product(microservice)
Work differently
- TDD(Test Driven Developmemt)or BDD(Behavior Driven Developmemt)
- CI / CD
Organize differently
- Organization impacts design:组织方式的变化导致产品的架构和设计的变化
Measure differently
How changing your measurement system to encourage the correct behavior is critical for your success because you get what you measure.
度量工作的方式需要发生改变
需要什么
文化的改变是极度困难的,它要求他们成员的遗忘掉之前的思想来完成
- trust
- transparency
- discipline
往前的模型
瀑布模型(Waterfall)
有着明显的缺点
- 各个阶段之间阻塞
- 阶段性的回退带来巨大消耗
- 没有中间的产品和评估,引出了极大的风险
极限编程(XP)
敏捷开发(Agile)
敏捷的理论
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
敏捷开发的体现是它会出现大量的中间产品予以测试发布等,通过这个中间产品得以获取尽可能早的反馈,再进行重新编码等
敏捷的不足
敏捷开发中在严格管制的企业中即使Dev产生了中间的产品,也要等待确认Ops的部署实施
引出了Shadow IT
正是因为上述的问题,引出了影子IT,其内容组织中的系统是由组织内部建立并且使用,但没有正式的组织核可,而系统是由IT部门以外的部门订定规格并且布署。^ 1
https://cloud.tencent.com/developer/article/1170722
DevOps一些好的内容
- DevOpsday
- Continous Delivery《持续交付》
- The Phoenix Project 《凤凰项目》
- State of DevOps Reports
- The DevOps Handbook《DevOps实践指南》
Introduction to DevOps
https://dada404.github.io/2022/04/06/6_DevOps/1-Introduction-to-DevOps/