OpenShift从入门到精通系列之一:通过OpenShift实现数字化转型

一、企业数字化转型之PaaS

PaaS的全称为Platform-as-a-Service,含义为平台即服务。

在Docker出现以前,企业IT的建设更多是围绕IaaS进行的。IaaS的基础包括计算虚拟化、网络虚拟化、存储虚拟化,在此之上构建云管平台。

绝大数的企业级PaaS产品是以K8s为核心的,红帽的OpenShift3也是如此。OpenShift4更进一步使用CRI-O替换了Docker容器引擎,极大地简化了OpenShift集群的支持和配置。

OpenShift作为本地容器编排平台,既可以享受K8s的优势,同时又可以使用OpenShift商业支持的本地PaaS解决方案。

二、企业数字化转型之DevOps

DevOps中的Dev指的是Development(开发),Ops指的是Operations(运维),DevOps就是打通开发运维的壁垒,实现开发运维一体化。

敏捷开发是开发领域里的概念,以敏捷开发阶段为基础,有如下阶段:

  • 敏捷开发
  • 持续集成
  • 持续交付
  • 持续部署
  • DevOps

DevOps涵盖了整个开发和运维阶段。涵盖自动化软件开发和IT团队之间的流程,以便他们可以更快速、更可靠地构建、测试和发布软件。

三、企业数字化转型之微服务

传统的巨大单体应用程序在部署和运行时,需要单台服务器具有大量内存和其他资源。巨大的单体应用必须通过在多个服务器上复制整个应用程序来实现横向扩展,因此其扩展能力极差。此外,这些应用程序往往更复杂,各个功能组件紧耦合,使得维护和更新更加困难。在这种情况下,想单独升级应用的一个功能组件,就会有"牵一发而动全身"的困扰。

在微服务架构中,传统的巨大单体应用程序被拆分为小型模块化的服务,每项服务都围绕特定的业务领域构建,不同微服务可以用不同的编程语言编写,甚至可以使用完全不同的工具进行管理和部署。

扫描二维码关注公众号,回复: 15399582 查看本文章

与单体应用程序相比,微服务组织更好、更小、更松耦合,并且是独立开发、测试和部署的。由于微服务可以独立发布,因此修复错误或添加新功能所需的时间要短的多,并且可以有效地将更改部署到生产中。由于微服务很小且无状态,因此更容易扩展。

微服务通常具有以下特点:

  • 以单个业务或域为模型
  • 每个微服务实现自己的业务逻辑,包含独立的持久数据存储
  • 每个微服务有一个单独发布的API
  • 每个微服务能够独立运行
  • 每个微服务独立于其他服务且松耦合
  • 每个微服务可以独立地升级、回滚、扩容、缩容

四、微服务架构的主要类型

微服务架构的特点,但实现方式不同:

  • 有的通过代码侵入的方式实现
  • 有的通过使用代理的方式实现

在K8s出现和普及之前,实现微服务架构需要通过像Spring Cloud这种代码侵入的方式实现,也就是说,在应用的源代码中引用微服务架构的治理组件。

在K8s出现之后,可以将容器化应用之间的路由、安全等工作交由K8s实现,也就是说,应用开发人员再也不必在开发阶段考虑微服务之间的调用关系,只需关注应用代码的功能实现即可。

这种无代码侵入的微服务架构(如Istio)越来越受到业内和客户青睐,而本书也会着重介绍基于Istio实现微服务。

五、企业实施微服务架构的收益和原则

从技术角度而言,企业实施微服务大致有以下几个方面收益:

  • 应用更快部署:微服务比传统的单体应用小得多。
  • 应用快速开发:微服务由小团队开发和维护。
  • 降低应用代码复杂度
  • 应用易于扩展:微服务通常是独立部署的。各个服务可以根据服务接收的负载量灵活地扩容和缩容。系统可以将更多的计算、存储、网络资源分配给接收高流量的服务,实现资源上的按需分配。

微服务遵循一些原则和最佳实践:

  • IT团队重组为DevOps团队:由微服务团队负责从开发到运营的整个生命周期管理。
  • 将服务打包为容器:通过将应用打包成容器,可以形成标准交付物,大幅提升效率。
  • 使用弹性基础架构:将微服务部署到PaaS上而非传统的虚拟机,例如OpenShift集群。
  • 持续集成和交付流水线:通过流水线打通从开发到运维的整个流程,有助于微服务的落地。

六、PaaS、DevOps与微服务的关系

容器引擎使容器具备了较好的可操作性和可移植性,K8s使容器具备企业级使用的条件。而IT界企业级容器云平台——OpenShift又成为DevOps和微服务落地的新一代平台。

OpenShift以容器技术和K8s为基础,在此之上扩展提供了软件定义网络、软件定义存储、权限管理、企业级镜像仓库、统一入口路由、持续集成流程(S21/Jenkins)、统一管理控制台、监控日志等功能,形成覆盖整个软件生命周期的解决方案。

所以说,OpenShift本身提供开箱即用的PaaS功能,还可以帮助客户快速实现微服务和DevOps,并且提供对应的企业级服务支持。

七、企业数字化转型的实现

云原生的重点是如何构建、部署和管理应用。

云原生应用的四大原则如下:

  • 基于容器的基础架构:云原生应用依靠容器来构建跨底层基础架构的通用运行环境,并在不同的环境和基础架构(包括公有云、私有云和混合云)间实现真正的应用可移植性。容器平台有助于实现云原生应用的弹性扩展。
  • 基于DevOps流程:采用云原生方案时,企业会使用敏捷的方法,依据持续交付和DevOps原则来开发应用。
  • 基于服务的架构:基于服务的架构(如微服务)提倡构建松耦合的模块化服务。采用基于服务的松耦合设计,可帮助企业提高应用创建速度,降低复杂性。
  • 基于API的通信:通过轻量级API来进行服务之间的相互调用。采用基于API的设计,在调用服务时可避免因直接链接、共享内存模型或直接读取数据带来的风险。

构建云原生应用的基础是:

  • 构建基于容器的PaaS
  • 构建DevOps
  • 构建微服务架构
  • 采用基于API的应用设计和通信

八、企业数字化转型之路

第一步:

  • 构建PaaS平台。

第二步:

  • 给予PaaS实现DevOps。

第三步:

  • 借助于轻量级应用服务器,为现有单体应用提速。

第四步:

  • 选择云原生的应用开发和运行框架。要求容器PaaS平台能够支持多种应用开发框架。红帽OpenShift不仅支持传统JavaEE应用和Spring Boot应用,红帽也发布了基于Java的云原生开发框架Quarkus。

第五步:

  • 实现微服务治理。

业务健壮性的提升,通常分为以下几步:

  • 第一步:建设单数据中心。
  • 第二步:建设多数据中心。
  • 第三步:构建混合云。

以OpenShift为核心逐步实现企业数字化转型的能力,分为四大部分:

  • PaaS能力建设。企业数字化转型的第一步:OpenShift技术解密及架构设计、基于OpenShift构建企业级PaaS平台、OpenShift在企业中的开发实践、OpenShift在企业中的运维实践、OpenShift在公有云上的实践。
  • DevOps能力建设。企业数字化转型的第二步:在OpenShift上实现DevOps、DevOps在企业中的实践。
  • 云原生能力建设。企业数字化转型的第三步和第四步:基于OpenShift构建云原生。介绍如何为单体应用提速以及云原生开发和运行环境的选择。
  • 微服务能力建设。企业数字化转型的第五步:包括微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。

猜你喜欢

转载自blog.csdn.net/zhengzaifeidelushang/article/details/129480082