课程简介
Devops包含了很多优秀想法和原则,它鼓励'开发部门和运维部门通力合作,Devops既不是软件、也不是网站、更不是代码,而是“一组方法、过程与系统”的统称;开源也不是一场认真的消遣,也不是一个人的狂欢,它既可以是一个开放投放、协作共享的崇高理念,也可以是一个八方来贺、资源重组的商业契机。
在过去的十年中,越来越多的企业发现开源解决方案相对于专有解决方案所具有的显着优势,并且随着围绕开源的企业意识不断转变,在企业级采用开源软件的情况也得到了蓬勃发展。在开源项目中,首先社区会对开源代码进行更彻底的审查和审查并且确实出现的问题往往会更加认真地修补,这就保证了开源代码的安全性与可靠性;其次开源是企业和社区共同努力开发、维护的结果,大家不仅可以从中受益,而且对于出现的问题可以及时解决;最后开源是一个免费的项目,所以会以低成本高效率的方式来加快上市。
本课程从软件工程发展的趋势入手,详细介绍了软件发展的过程;从而引出开源的必要性及软件被开源吞噬的可能性及解决;而后介绍基于DevOps的开源该如何治理与应用,最后以如今比较热门的话题—数字化转型,来揭秘软件工程如何实现数字化转型。
课程收益
1、了解软件工程的发展趋势;
2、掌握开源“吞噬”软件后,该如何思考与解决;
3、了解开放性架构与开放性软件工程及其联系与矛盾;
4、熟练掌握基于DevOps的开源治理思路;
5、掌握并应用软件工程的数字化转型。
受众人群
1.架构师、软件工程师、运维工程师、技术部门负责人;
2.中高管理人员等;
3.以及对开源软件感兴趣的人员企业数据管理专家/专家委员会专员。
课程周期
1天(6H)
课程大纲
标题 | 授课内容 | 课程要点 |
一、软件工程的发展趋势 | 1945:计算机时代 | |
1960s:软硬件分离/软件危机 | 1.软硬件分离 2.结构化编程 3.瀑布模型诞生 | |
1985:PC时代 | 1. 商业模式与竞争的实现 2. 面向对象和面向服务的架构出现 3. 工程方法(敏捷宣言)与研发工具()Visual Studio),开始涌现 | |
1995:互联网时代 | 1. 架构的变化—出现了服务化、微服务化、无服务化、云原生架构 2. 工程方法的变化—DevOps兴起、看板兴起 3. 开源软件崛起 | |
2016:AI时代 | 1.大规模跨组织协作 2.开源生态无处不在 3.面向云的开发组织与架构 4.围绕API组织开发 5.面向AI的开发与被AI增强的开发 | |
二、开源吞噬软件之后 | 关键问题不是“吞噬”而是我们必须在新的基础上开始思考 | |
三、开放性架构与开放性软件工程 | 架构设计中,如何开放性地思考问题 | 1. 拼贴与一致的矛盾(如何搭建一个一致性的架构) 2. 开放与可靠的矛盾(如何保证系统的可靠性) 3. 规划与迭代的矛盾(如何从一开始,就正确的规划、设计) |
在开放性架构下软件工程实践应该如何应对挑战? | ||
四、基于DevOps的开源治理 | 项目范围内(主要是Dev) | 1. 重视选型阶段 ①如何决策:是否引入一款、或更多的开源软件 ②开源软件质量、License、声明周期、一致性 2. 重视使用阶段 ①分析我们的依赖关系 ②预防与隔离风险 3. 重视修改规范 ①能不能不改? ②如何才算正确的修改?(社区承认才是真的承认) |
公司范围内(主要是Ops) | 1. 集中管理 2. 来源管理 3. 使用管理 4. 对外回馈管理 | |
五、软件工程的数字化转型 | 看得见—针对复杂系统的可见性 | 1.把所有的软件资产集中存放 2.把所有的相关数据集中存放 3.对所有的业务流程,集中呈现 |
管得住—针对开放系统的可控性 | 1.断裂点分类 2.控制点分类 3.控制策略分类 | |
管得好—针对评价系统的可能性 | 1.实证模型与探索模型 2.展示型指标与指导型指标 3.过程指标与结果指标 | |
六、更多畅享 | 软件工程领域的数字化转型 | 1.工具层面的转型 2.方法论层面的转型 |
软件开发的其他领域 | 1.数字/数据,从何而来? 2.何为数字化? 3.如何转型? | |
数字化与智能化的关系 | 1.没有数据,谈不上智能 2.目前的智能化,还只有单点改良 3.我们需要更多的数据 + 更多的想象力 |