上QQ阅读APP看书,第一时间看更新
1.2 投身于SRE学科
前文介绍了要求和挑战。下面看一下如何使用SRE来缩小供需之间的差距。如前所述,通过配置、自定义和组合(编排)来构建软件应用程序的方式正在迅速发展。使用敏捷编程方法更快速地编写软件应用程序是软件构建的另一个令人难以置信的方面。来自产品和工具供应商的各种DevOps工具可以确保持续的软件集成、交付和部署。
业务领域在不断发展,因此IT领域必须精确、完美地响应商业机构不断变化的过程和期望。企业必须在其运营、产品和产出方面具有敏捷性、适应性和可靠性。IT领域中各种重要的改进保障了业务的自动化、加速和增强。
IT敏捷性和可靠性直接保证了业务的敏捷性和可靠性。如前所述,IT敏捷性(软件设计、开发和部署)的目标正在通过更新的技术实现。如今,IT专家正在寻找显著提高IT可靠性的方法和手段。通常,IT可靠性等于IT易伸缩和IT可恢复。
- IT易伸缩:当IT系统突然承受重负载时,IT系统如何调配并使用额外的IT资源来处理额外负载而不影响用户?IT系统应该具有高度的易伸缩性,以适应企业的未来需求。此外,不仅是IT系统,业务应用程序和IT平台(开发、部署、集成、编排、回滚等)也必须是可扩展的。因此,业务应用程序、IT平台和基础架构的组合必须有助于实现可扩展性(垂直可扩展和水平可扩展)。
- IT可恢复:当IT系统受到内部和外部来源的攻击时,IT系统必须有足够的能力摆脱这种攻击,不断向其用户履行其义务,而不会出现任何减速和故障。IT系统必须具有高度容错能力,才能用于关键业务。IT系统必须能自动回到原始状态,即使它们偏离了规定的路径。因此,必须将错误预测、识别、隔离和其他功能嵌入IT系统中。必须巧妙地检测和控制安全问题,以便让IT系统毫发无伤。
因此,当IT系统具有可恢复性和易伸缩性时,才被称为可靠系统。当IT系统可靠时,IT系统支持的企业可以在交易、行动和决策方面保持可靠,从而激励和启发他们的客户、员工、合作伙伴和最终用户。
1.2.1 未来的挑战
下面是可能遇到的一些挑战。
- 提出一系列复杂的缓解技术。复杂性公式是异质性+多重性=复杂性。IT系统(软件和基础架构)的复杂性不断提高。
- 开发出完全符合各种NFR和QoS/QoE属性的软件包,例如可伸缩性、可用性、稳定性、可靠性、可扩展性、可访问性、简单性、高性能/吞吐量等。
- 执行自动化的IT基础架构资源调配、调度、监控、测量、管理和治理。
- 提供虚拟机和容器、无服务器计算/功能即服务(FaaS)、工作负载整合、能效、任务和作业调度、资源分配和使用优化、多容器应用程序的服务组合、水平可伸缩性和资源即服务(RaaS)。
- 为自助服务、自主和认知IT建立IT自动化、集成和编排。
- 使用AI(机器学习和深度学习)完成日志、运维和性能/可伸缩性分析。用于生成实时、预测性和规定性见解的算法。
- 构建技术支持的解决方案,以支持NoOps、ChatOps和AIOps。面临的挑战是以自动化工具的形式提供可行且通用的软件解决方案,以满足软件系统的独特需求。
- 用于生成、部署和维护以微服务为中心的软件应用程序的容器集群、编排和管理平台解决方案。
- 推出多功能软件解决方案,例如符合标准的服务网格解决方案、API网关和管理套件等,以确保服务弹性。随着更多的微服务及其跨容器的实例(服务运行时间)的增加,操作复杂性也随之上升。
- 通过开创性的编程技术(如响应式编程)和架构风格(如事件驱动的架构)构建有弹性和可靠性的软件。
响应式编程和事件驱动架构是为了清楚地说明敏捷编程、DevOps和SRE之间的差异。前面提到,未来有几个关键的挑战。SRE技术、工具和技巧具有战略意义,有助于提高IT的可靠性、健壮性和回报性。