有些人对当前技术新趋势缺乏了解而感到担忧和沮丧。行业专家指出,“一切都与云计算有关。即使是一些与云计算关系不大的大型科技公司似乎也致力于将自己的业务与云计算联系在一起,因为云计算的应用已经包罗万象。”
从广义上讲,云计算就是在他人的服务器上运行或构建自己的应用程序。但其作用远不止于此,云计算如今已经形成了一个庞大的云计算服务生态系统,企业正在使用它来加速各行业领域的高级应用程序的上市时间。因此,调研机构IDC公司预测,2019年公共云支出将达到惊人的2100亿美元,与2018年相比增长24%。
而云计算的成功使这个领域变得混乱。其副作用是,一些人对什么是真正的云计算以及云计算的优势所在一直存在困惑。
云还是非云?
此时,大多数人都了解云计算的核心优势,从动态扩展应用程序的能力开始。这适用于公共云提供商提供的三种基本云计算风格(IaaS、SaaS和PaaS),所有这些都为企业提供自助用户界面,以设置帐户,上传数据或代码,以及配置订阅的任何服务。
但是还有一些人对云计算有一些混淆和误解。在企业获得云计算的好处之前,最好消除一些误解:
私有云:指的是企业运行自己数据中心中的基础设施即服务(IaaS)。任何企业都可以使本地基础架设施像云平台一样,具有良好管理的虚拟化和用户自我配置的能力(通常使用VMware的完整SDDC堆栈)。但这与云计算不同。为什么?因为云计算是一种服务。企业不必担心容量规划、电源管理、物理空间,以及运行自己数据中心的所有细节,这些事务都由企业的云计算提供商处理。企业需要做的就是启动帐户并开始使用。
混合云:其标准定义是集成的两个云,一个是私有云,一个是公共云,但其集成不能将二者合二为一。这就提到如上所述的问题:没有私有云这样的东西……只有一个例外,它只适用于混合模式。目前最重要的三个公共云是AWS、Microsoft Azure、谷歌云平台,都提供了可以在内部部署的完全托管的云实例。
那么为什么要同时支付云计算基础设施和托管公共云堆栈的费用?通常,因为企业希望所有公共云都适合其应用程序,但隐私法规规定企业不能将某些敏感数据上传到公共云。如果企业的混合云的私有实例几乎与公共云环境完全相同,那么这与企业将要获得的那样接近“真正的混合”,其中一个云平台是另一个云平台的扩展。
最重要的是,当人们谈论云计算时,真正谈论的是公共云:SaaS应用程序(来自Salesforce、Microsoft、Oracle、Slack等)或来自云计算三巨头的IaaS/PaaS产品和其他一些厂商。SaaS只是提供应用程序的一种方式。但是,IaaS和PaaS支持企业软件开发的全新应用程序架构。
云计算原生边缘
相当一部分公共云支出用于迁移,也就是将现有应用程序“提升并转移”到AWS、Azure或谷歌云,以及第二级IaaS提供商(如IBM或Oracle)的公共云中。但在许多情况下,其好处是微乎其微的。除非这些应用程序及其业务逻辑完美无缺,否则只是在公共云平台上重复过去的错误。
有趣的是,当企业在公共IaaS平台上构建云原生应用程序时(现在包括PaaS、内部部署和第三方)。云原生应用程序是使用内置于IaaS平台中的服务以现代风格从头开始构建的。这至少意味着:
微服务架构:微服务是一种独立的、单用途的微型应用程序,主要作为应用程序组装在一起,已经成为构建云原生应用程序的实际方法。通常,小型的离散的开发团队维护每个微服务,从一开始就用API构建,以便与其他微服务集成。只要API保持一致,就可以逐个更新(或扩展)微服务,而不是通过整个开发团队重构一个巨大的单一应用程序。企业可以共享或复制要重新组装到其他应用程序中的微服务。
容器和Kubernetes:Docker容器革命为微服务提供了理想的平台。通常,它是一对一的关系, Docker容器中部署微服务,这会消耗虚拟机的一小部分资源。但是,企业如何将这些微服务编排到应用程序中?这就是现在可用于所有主要IaaS平台的Kubernetes的用武之地。它可以自动化基于容器的应用程序的部署、管理、扩展、联网和可用性。
微服务体系结构还为持续集成(CI)/持续交付(CD)提供了一种一致的打包、测试、交付应用程序的方法,以及敏捷的方法,它鼓励增量代码提交和滚动更改,以及与业务利益相关者的持续交互。还有DevOps为自动化软件部署、基础设施配置以及测试和监控提供了一个模型。所有这些云原生元素共同为企业构建和维护软件的方式提供了新的范例。
Kubernetes也有望创建一种新的混合云。在以往,真正的混合云要求虚拟机级别的并行环境。使用Kubernetes在容器级别强制执行这种一致性可能要容易得多,这使企业可以或多或少地在公共云和私有云之间无缝地移动基于微服务的应用程序。
当企业在其中一个大型公共云IaaS平台上构建云原生应用程序时,企业可以获得数百种API可访问服务的额外优势,这些服务可能是最令人兴奋的部分。企业可以选择利用机器学习库、物联网平台、应用程序监控解决方案、大数据分析、区块链服务、数据集成解决方案。
也许最具颠覆性的是AWS、Azure、谷歌云提供的新的分布式关系数据库。这些基于SQL的云计算产品不仅允许轻松的关系数据库扩展(这是一项繁琐的工作),而且还允许全球公共云数据中心的分布式数据库之间的一致性。这是企业越来越多地关注云计算构建大规模应用程序的关键原因(更不用说对现有的内部部署数据库解决方案构成威胁)。
最后,企业拥有无服务器计算(也称为服务或FaaS功能),将PaaS提升到新的水平。每个主要的云计算供应商都提供这种服务,AWS Lambda是公认的领导者。正如开发人员使用微服务来组装应用程序一样,开发人员可以从库中获取功能以组装微服务,并将应用程序拼接在一起,而无需考虑虚拟服务器基础设施甚至容器。无服务器应用程序也可以节省成本,因为它们处于休眠状态直到请求到达,从而缩短了公共云提供商以其他方式收费的周期。
当企业看到云计算服务的广度和深度时,就会提出一个显而易见的问题:为什么要在其他地方创建和部署应用程序?还有一些原因与数据驻留、运营成本等有关。但如今,最新、最令人兴奋的技术往往首先出现在云端,因此其吸引力只会加强。