当您预订机票、申请新护照、访问保险单据或银行账户时,通常需要依靠由企业开发者在企业实验室和世界各地构建的软件。

企业开发者工作繁忙。客户的期望比以往任何时候都更高,他们希望能够采用移动方式快速而安全地访问信息。我们都已承认,只有微服务和基于云的解决方案才能为企业打造真正灵活多变、自如扩展的未来。然而,目前只有 20% 的企业软件迁移到了云端

是什么阻碍了更多公司的上云步伐?企业开发者经常不得不挤出时间来学习这方面的知识。但即使他们有时间,也很难知道该从何着手云原生开发。技术一直在不断演变,即使在小型组织中,对最佳工具和方法的看法也不尽相同。

在此博客中,我们向您介绍 IBM 的全新云原生产品和开源项目,它们可简化您的云之旅。

Cloud Pak for Applications

Cloud Pak for Applications 旨在通过以下方式解开围绕云原生开发的一些谜团:

  • 打包一流的库和框架,用于开发安全、快速且可扩展的解决方案。
  • 对于组织批准的框架,灌输可定制且一致的访问理念。

下图显示了 Cloud Pak for Applications 中包含的基础技术:

Cloud Pak 架构

Cloud Pak for Applications 包含一些大型组件,其中之一就是 Kabanero,这是对云原生开发至关重要的云原生工具和库的集合。

我们将引入一组新的 Code Pattern、文章和教程,潜移默化地介绍 Cloud Pak for Apps 中的 Kabanero 概念,将其视为用于在企业中创建云原生应用程序的智能、规范且一致的方法。

由于 Kabanero 是我们云开发产品的核心组件,因此让我们仔细研究一下这种基础技术。

Kabanero 开发技术

Kabanero 是 Cloud Pak for Applications 的开源基础层。Kabanero 本身由公认的一流云技术组成,这些技术都是开源技术。下面显示了许多重要技术的图形表示:

Kabanero 架构

Kabanero 中的特殊要素之一是 Appsody,它使用技术堆栈和模板创建一种规范且一致的方法,用于在企业组织内开发应用。

我们围绕 Kabanero 和 Cloud Pak for Apps 创建开发者资源的方法是,着重于使用云 DevOps 组件的工作流程,提供有关它们的教程,以及可以克隆和用作参考模型的 Code Pattern。在第一个开发者资源集合中,我们共享了一个 Appsody Code Pattern,介绍了创建具有两个微服务(具有表示和业务逻辑)的应用程序的基本知识,并探讨了在您自己的项目中使用 Appsody 的方法。

使用 Appsody 构建以获得一致的结果

Appsody 是一个开源项目,可简化和控制云原生应用程序的开发。Appsody 的主要组件是一个堆栈,用于构建预先配置的 Docker 镜像,开发者可以立即使用该镜像在云环境中创建应用程序。Appsody 支持堆栈构建者确定用户生成的哪部分应用程序镜像是固定的(由堆栈镜像定义的一组技术选择和配置),以及哪部分是堆栈用户可以修改/扩展的(模板)。

考虑使用 Appsody 的部分原因在于,它可以为开发者提供平台即服务 (PaaS) 环境的优势(无需担心安装和配置基础技术组件),同时支持架构师使用 Docker 镜像灵活地定义这些技术组件。

Appsody 堆栈

Appsody 堆栈代表一组预先配置的技术,旨在简化特定类型云原生应用程序的构建过程。这可能包含一个特定的环境(例如,node.js 或者可能为 python-flask),外加用于监视、记录等操作的集成选项。这些堆栈在堆栈存储库中发布,可以是公共的,也可以是企业私有的。然后,开发者可以使用 Appsody CLI 为他们正在构建的应用程序拉入适当的堆栈。Kabanero 包含使用公共堆栈存储库和为之做贡献所需的全部工具,以及一组适用于企业的精选堆栈。

Appsody 不仅仅可以简化预先配置技术的使用过程,它还支持开发者使用“快速本地开发模式”,从一开始就在本地容器化环境中创建和测试应用程序。在运行了这些初始测试之后,开发者便可以将最终应用程序部署到基于云的测试和生产集群中。从一开始就在容器中进行开发,降低了在开发过程后期添加容器化时带入隐秘问题的几率。

Appsody 模板

Appsody 堆栈随附一个或多个模板。模板代表使用该堆栈的入门应用程序,可以随时运行和部署。开发者可以修改模板以构建其应用程序。

下图展示了开发者如何使用 Appsody 下拉堆栈并进行修改、构建堆栈,然后将其部署到远程 Kubernetes 集群的流程。

Appsody 架构

以上流程展示了以手动方式部署到 Kubernetes 集群的过程。在更加以生产为导向的环境中,GitOps 可能会触发构建和部署步骤,而 Tekton Pipelines 将驱动部署。Kabanero 集合属于 Cloud Pak for Applications 的一部分,它将 Appsody 堆栈、GitOps 和 Tekton Pipelines 结合在一起,为不断发展壮大的云原生应用程序开发和部署提供了一个企业就绪解决方案。

准备着手?

既然您已了解了 IBM Cloud Pak for Applications 的基础技术,现在就可以开始探索我们创建的内容。我们选择了两种不同的路径来帮助您开始使用 Cloud Pak for Applications:

参考资源

本文翻译自:Cloud-native development grows up(2019-10-16)

加入讨论