2014 年,谷歌发布 Kubernetes,引发云计算技术的巨大转变。Kubernetes 诞生以后,Red Hat 决定对原有的 PaaS 产品 OpenShift 进行重构,这一决定彻底改变了 OpenShift 的命运以及后续 PaaS 市场的格局。2015 年 6 月,基于 Kubernetes 1.0 的 OpenShift 3.0 诞生,目前 OpenShift 的最新版本已经是 4.3,在全球的企业客户已经超过 1800 个。随着像 OpenShift 这样优秀的容器云平台的不断普及,越来越多的企业通过容器云构建了 PaaS、DevOps 和微服务架构,将应用迁移到容器云平台。但是,很多企业的应用构建仍然采用传统模式,这使得后续应用迁移到容器时需要巨大的工作量。那么,有没有基于容器模式、云模式的应用开发模式,使开发出的应用直接运行在容器云上呢?有,这就是云原生应用。
2018 年,CNCF(Cloud Native Computing Foundation)组织对云原生进行了重新定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。
从 CNCF 对云原生的定义来看,它与容器、服务网格、微服务等技术是密切相关的。这就带来一个问题:目前 IT 市场的容器云、服务网格、微服务琳琅满目,在构建云原生的时候,企业应如何选择呢?面对与云原生相关的几十个开源项目,企业要自行集成和运维,显然是不现实的。因此,如何在企业级容器云上构建企业级云原生应用得到了大家的广泛关注。
OSCHINA 本期高手问答(2020 年 7 月 1 日——2020 年 7 月 7 日)将围绕【云原生应用构建】展开讨论,来自红帽的资深解决方案架构师魏新宇 @David-Wei 会为大家解答关于 OpenShift 在企业中实践方面的问题。可讨论的问题包括但不限于:
- OpenShift 实现企业数字化转型
- 基于 OpenShift 构建企业级 PaaS 平台
- 构建云原生应用、云原生技术
- 微服务治理
- DevOps
嘉宾简介
魏新宇,红帽资深解决方案架构师。在 IaaS、PaaS 方面有丰富的经验,致力于开源解决方案在企业中的推广和应用。从售前角度主导了红帽在金融、汽车行业的 PaaS 方面的多个项目。曾就职于华为、IBM、VMware,工作涉及领域包括硬件、AIX/Linux、虚拟化、PaaS、DevOps、微服务等。畅销书《OpenShift 在企业中的实践 PaaS DevOps 微服务》《云原生应用构建:基于OpenShift》联合作者。获得红帽 RHCA Level 5 认证、RHCE 认证,以及 ITIL V3、Cobit5、TOGAF、C-STAR/TOGAF(鉴定级)相关认证。通过“大魏分享”(david-share)微信公众号,分享了很多项目实践经验。
为了鼓励踊跃提问,【机械工业出版社华章图书】会在问答结束后从提问者中抽取 5 名幸运读者随机赠予《OpenShift 在企业中的实践:PaaS DevOps 微服务》或《云原生应用构建:基于 OpenShift》新书 1 本。
购书地址:https://item.jd.com/12590731.html;https://item.jd.com/12679047.html
OSCHINA 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。
下面欢迎大家向魏新宇老师 @David-Wei 积极提问,直接回帖提问即可。
引用来自“jasonwu24”的评论
@David-Wei 魏先生,您好!我司目前也在做应用上云的转换,我想问一下 OpenShift 在企业构建云原生Java应用方面有什么优势?是不是现在传统项目需要先重构为微服务架构体系以便更好地使用容器技术后才能让在 OpenShift 中发挥出真正的优势出来?谢谢!
针对传统的应用,有些是比较难以迁移的。比如大量还是用ejb的javaee类应用。诊断仪这类应用,我们建议可以考虑先迁移到轻量级的应用服务器上,比如从weblogic迁移到JBoss EAP上,这样上容器会比较容易。如果直接用容器运行weblogic,效果会比较差。针对轻量级或者前端类的应用,可以考虑使用微服务架构。目前我看到的客户案例,是以SpringBoot为主的应用,运行在容器化的openjdk/tomcat中,跑在OpenShift里,当然,我们一般会推荐客户先在开发测试环境引入istio。
@David-Wei 云原生系统,运用在哪些行业比较多,目前就业环境如何?
@David-Wei OpenShift 在企业中的实践 , OpenShift 入门应该先学会哪些知识呢?
@David-Wei openshift用deploymentconfig,而k8s用的是deployment,为什么会用不同的部署?openshift4自带的仓库没有web,这个以后版本会有么?
@David-Wei 魏先生,您好!我司目前也在做应用上云的转换,我想问一下 OpenShift 在企业构建云原生Java应用方面有什么优势?是不是现在传统项目需要先重构为微服务架构体系以便更好地使用容器技术后才能让在 OpenShift 中发挥出真正的优势出来?谢谢!
@David-Wei 您好,请问 OpenShift 解决了哪些web开发的痛点?比SpringCloud有什么优势?
引用来自“lohasfeng”的评论
@David-Wei openshift用deploymentconfig,而k8s用的是deployment,为什么会用不同的部署?openshift4自带的仓库没有web,这个以后版本会有么?
好问题。早期OpenShift 3.0推出的时候,那事K8S1.0还没有deployments的概念。红帽自己在K8S基础上开发了build config和deployment config。后来K8S社区才有的deployments。OpenShift在前几个小版本的OpenShift就支持deployments。现在的原则是:OpenShift能用deployments就用deployments(做到和K8S统一),以前遗留的应用继续用deployment config也没问题。