混合云100问「开发篇」:实现从“容”上云,敏捷开发
答:微服务是一些功能单一的服务,只能通用接口进行通信,非常适合容器。应该说,正是微服务加容器的方式带来了应用程序交付方式的转变,通过模块化服务可以重复使用并重新连接来实现新的任务。比如,消息传递、App开发和支持的服务化和容器化,让开发人员可以方便快速开发新的应用程序,而且这种应用程序可以根据规则和流程进行调度,在混合环境中进行部署,从而可以大幅提高效率和提高业务的灵活性。 问:虚拟机和容器是否能统一调度和管理? 答:答案是肯定的。过去的容器平台(如OpenShift)主要面向容器平台,以容器为中心,然而在现实中大多数企业还有虚拟机负载,不少企业中虚拟机甚至是主流的运行环境——可能由于是传统的应用,或者出于安全和隔离等原因,这些应用部署在虚拟机上。两套不同的平台同时运行但并没有集成,提高了管理成本,也不利于资源的统一调度,统一管理成为不少企业的现实需求。 面对市场需求,不管是虚拟化平台还是容器平台都在设法提供对对方的调度和管理。比如,红帽的OpenShift虚拟化源就在容器平台(OpenShift)上集成了对虚拟机的管理。OpenShift源自KubeVirt开源项目,使企业能够对由虚拟机、容器和无服务器功能构成的应用进行开发、部署和管理全部在Kubernetes平台上实现。 问:Kubernetes是什么,它与混合云有什么关系? 答:Kubernetes (K8s)一个开源的容器编排引擎,可以完成集群管理、集群调度和集群编排等功能,它是开放式混合云的核心。Kubernetes最早是谷歌开发并开源出来,如今已成为针对应用程序的容器集群调度的事实标准,在行业中的地位日益巩固。Kubernetes的流行是因为云原生应用程序需要保证资源足够灵活,具有足够的弹性,并且可能响应全球规模的负载,这需要像Kubernetes这样的工具来扩展应用程序。实际上,此前容器编排引擎是Swarm、Mesos、K8s三分天下,更早些时候前两者可能比K8s势头更猛,不过,因为技术的先进性,再加上Google公司的加持,K8s很快脱颖而出,成为事实标准。 问:如何改造或者开发新的业务系统来代替原业务功能? 答:要实现系统的敏捷部署、弹性扩展、动态迁移、故障自愈、数据更加安全可靠等,就需要系统在上云前做相应的改造或者开发新的业务系统来代替原业务功能,主要从以下方面考虑: 首先,新系统可以基于微服务框架,进行微服务改造,做到真正的云原生;其次,对于系统部署,除了传统的物理机、虚机部署,还可以使用容器的部署方式,采用主流的PaaS平台,基于kubernetes、mesos、swarm等主流框架,管理容器化的应用,实现开发、测试、运维的一体化管理,打通软件研发管理全流程。 当然,除了基础设施及业务系统,对于一些通用的基础平台,如大数据、区块链、物联网、人工智能都是上云的方向,并且是未来的主流方向之一,在这方面,企业不必重复建设复杂而又庞大的平台,直接使用云上的相关应用和服务,能更好的为业务服务,开发更多的业务场景,提升资源使用效率,获得更高的利润。 问:什么是Serverless? 答:未来的应用应该是不依赖于底层的虚拟机,而是建立在一些Serverless的云服务之上。例如,开发一个应用,直接使用云上的负载均衡,调用云上的身份认证,使用云上应用市场的服务,就可以把数据存放在RDS中,然后用云监控进行故障分析,用服务治理进行相关的服务监控及调优,使用DevOps提升效率等等。这种云模型的使用,彻底抛弃了自行申请操作系统并安装中间件数据库的方式,也是应用上云的架构改变。 具体来说,Serverless架构主要包括BaaS(后端即服务Backend as a Service)和FaaS(函数即服务Functions as a Service)这两种架构,它们没有一直运行的定制服务存在,不占用服务商的计算资源。这和共享单车有些类似,是计算机分时租赁方式,按次按时计价。 Serverless主要的优势是更低的运营成本、更简化的设备运维,可以提高可维护性以及开发速度。缺点是目前还少有大型成功案例,无法适应所有的场景。 问:什么是DevOps? 答:DevOps是一种软件开发方法,涉及软件在整个开发生命周期中的持续开发、持续测试、持续集成、持续部署和持续监控。这些活动只能在DevOps中实现,而不是敏捷或瀑布, DevOps是在较短的开发周期内开发高质量软件的首选方法,可以提高客户满意度。 DevOps最大的好处就是能持续部署与交付。对组织结构而言,DevOps是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。 问:OpenShift是什么? 答:Openshift是一个开源的容器云平台,底层基于当前容器的事实标准编排系统Kubernetes和Docker引擎。OpenShift提供了开发语言、中间件、DevOps自动化流程工具等等丰富的工具和功能,是一个完整的基于容器的应用开发和运营平台。企业可以基于此平台搭建PaaS平台,贯穿CI/CD流程,提高企业IT效率,拥抱DevOps和敏捷开发。红帽公司是OpenShift的最大贡献者。 问:Openshift社区版和企业版有什么不同? 答:红帽OpenShift是红帽公司推出的OpenShift发行版,是一个真正的企业Kubernetes平台。相对于社区版,企业版的OpenShift更为稳定和安全,能更好地满足企业级的需求。今年5月份的红帽推出了OpenShift 4.4版本,基于Kubernetes 1.17开发,加入了以开发者为中心的平台指标视图和应用工作负载监控功能,针对红帽Operators的监控集成,用于评估混合云特定应用使用资源和成本的成本管理功能以及其他功能。为了进一步消除传统应用和云原生应用之间的障碍,红帽还推出了更多全新功能,以实现在OpenShift上支持新的工作负载,并满足客户的所有需求。8月份,红帽又升级了OpenShift,推出OpenShift 4.5,加入OpenShift虚拟化,实现了对虚拟机的统一纳管,还引入了VMware vSphere部署的全栈自动化,可以在vSphere环境中“一键式”轻松部署红帽OpenShift。 问:开放的混合云有哪些值得关注新兴技术? 答:开放混合云基于开源技术Kubernetes实现,围绕Kubernetes,有很多开源技术值得关注,包括Knative、Istio、KubeVirt和Kubeflow。这些技术未来在混合云很有可能发挥重要作用。 KubeVirt是一个基于Kubernetes的平台,旨在提供Kubernetes原生API来实现无服务器计算的功能,或简化应用程序和容器的部署;Istio是一个开源的服务网格(Services Mesh)框架,可为分布式微服务架构提供所需的基础运行和管理要素。Istio 采用一种一致的方式来保护、连接和监控微服务,降低了管理微服务部署的复杂性; KubeVirt是一个开源的项目,它让Kubernetes具有管理虚拟机的能力,即通过Kubernetes同时管理容器和并排的虚拟机,以支持其混合云工作负载的本地部分; Kubeflow是一个开源的基于 Kubernetes的机器学习工具包。Kubeflow的目标是简化机器学习模型的规模并将其部署到Kubernetes运行的任何地方的生产环境。 问: OpenShift和混和云之间有什么关系? (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |