Docker 是目前最热门的技术之一。许多 TIBCO 客户已经询问他们如何利用它以及 TIBCO 的战略是什么。这篇博文将从 Docker 的角度展示一些关于 TIBCO 未来战略的见解。
TIBCO未来战略:云优先、易用化、产业化
查看 2015 年 3 月 TIBCO 推特帐户中的以下推文:
如您所见,TIBCO 的未来战略具有三个关键支柱:
- 云优先 :使(未就绪的)现有和新的 TIBCO 产品为云做好准备。这并不意味着产品将仅作为云产品提供。然而,任何云就绪产品(考虑可扩展性、弹性或自助服务订阅等特性)也自动准备好进行内部部署或混合部署。
- 易用性 :对于大多数 TIBCO 产品而言,这始终是一个很大的差异化因素。所以,这里没有什么新鲜事。不过,除了为技术专家提供易于使用的开发环境外,我们还将看到更多关注半专业 IT 用户和业务用户。
- 工业化 :自动化是成功的关键,而由于云、移动、大数据和物联网,IT架构、系统和接口的复杂性逐年增加。开箱即用的自动化支持以及与广泛的框架和工具的轻松集成以实现持续集成/持续交付是强制性的。
什么是 Docker,为什么它获得如此大的发展势头?
如果您了解 Docker 及其势头,您可以想象它将成为 TIBCO 未来战略中所有三大支柱的重要组成部分。那么,Docker 实际上是什么?我们来看看它在 维基百科 上的定义:
“Docker 是一个在 Apache 2.0 许可下的开源项目,它通过在 Linux 上提供额外的抽象层和操作系统级虚拟化的自动化,自动在软件容器内部署应用程序。 Docker 使用 Linux 内核的资源隔离功能 [...] 允许独立的“容器”在单个 Linux 实例中运行,避免启动和维护虚拟机的开销。
与虚拟机 (VM) 相比,Docker 具有关键优势:
- 应用程序可移植性和基础架构灵活性 :将您的应用程序、依赖项和配置打包在一起,以确保您的应用程序可以在任何基础架构的任何环境中无缝运行,就像在您的机器上一样。
- 动态更新、更改和扩展应用程序 :在 Docker 容器中运行的应用程序很容易修改、更新和扩展,而不会打扰相邻容器。轻量级容器可以在几秒钟内启动,而不会消耗大量资源。
您可以使用轻量级、灵活的 Docker 容器,而不是使用需要大量 GB、大量资源并导致启动/重启时间缓慢的 VM。
好吧……那么,Docker 与 TIBCO 有何关系?
Docker 作为微服务的基础
由于云、移动、大数据和物联网等趋势,需求的变化比几年前快得多,因此企业需要更加灵活和敏捷。 微服务 是满足这种需求的答案——也是当今流行的流行语。
微服务允许彼此独立地开发、部署和扩展服务。因此, 微服务有特定的架构要求 。其中一项关键要求是管理复杂的部署及其可扩展性。使用服务的环境会有很大差异。服务需要快速扩展。自动化是敏捷、灵活和高效的微服务开发的关键。没有持续集成/持续交付/DevOps,你就无法有效地实现微服务理念。
Docker 可用于构建、测试、打包和部署微服务。
当然,这些天也有其他选择可用或正在出现。但是,如果您看一下支持它的企业数量、不断增加的社区和不断增长的工具支持 ,Docker 似乎已成为事实上的标准 。类似于多年前用于大数据的 Apache Hadoop(我的意思是真正的大数据,即如果你想分析 TB 或更多)。
带有 TIBCO EMS 和 TIBCO BusinessWorks 6 的 Docker 容器
Docker 允许您将应用程序及其所有依赖项打包到一个用于软件开发的标准化单元中 。为此使用堆叠图像,即每个依赖项(例如操作系统、中间件软件或应用程序)作为其自己的图像层添加到另一个图像之上。这很好,因为许多复杂的安装序列都是从将所有正确库的所有正确版本安装到您选择的操作系统的问题开始的。
因此, Docker 是搭建 TIBCO 中间件的完美工具 。您使用 Linux 操作系统配置基本映像(Windows 支持现在也由 Microsoft 开发)。然后为所需的 TIBCO 软件(例如 TIBCO EMS 或 TIBCO BusinessWorks 6) 添加其他图像。最后,您可以添加一个或多个 BusinessWorks 流程。然后可以构建、测试、打包此图像堆栈并将其部署到一个或多个容器中。例如,您最终可能会得到一个 EMS 消息传递容器和一个或多个 BusinessWorks 运行时容器,每个容器都包含一个或多个 BusinessWorks 流程。 EMS 和每个 BusinessWorks 容器都是相互独立开发、部署、升级和扩展的。
进一步的博客文章将展示更多细节,包括分步教程和视频,了解如何立即将 Docker 与 TIBCO 结合使用。您还可以期待有关直接内置到 TIBCO 软件中的新 Docker 功能(开发环境和运行时功能)的精彩产品发布。
TIBCO Engineering 已在质量保证中使用 Docker
虽然截至今天(2015 年 8 月)TIBCO 的 IDE 或运行时部署不支持 Docker , 但 TIBCO 内部和客户已经在使用 它。目前 Docker 最大的用例是质量保证 (QA)。与重量级 VM 相比,您可以使用 Docker 轻松地跨区域共享图像、测试用例。
去年,TIBCO 工程部门一直在 QA 中使用 Docker。我们有一个私有的 Docker 注册表,可以在其中快速测试新构建。我们不仅在内部使用它——我们已经开始看到客户采用 Docker 容器——尤其是在 QA、开发和 CI/CD 类型的场景中。
带有 TIBCO Silver Fabric 的 Docker 用于持续交付
除了做本地测试,Docker 的认真集成还需要一个框架来管理和编排这些 Docker 容器。没有魔法;在某些时候,您需要一台运行 Docker 引擎的机器来运行您的 Docker 容器。当你有 100 个时,你需要一个框架来处理这个问题。这些机器可能会崩溃或停机进行维护,因此您需要一个框架来处理这个问题,并让一个 24/7 全天候自动运行的 Docker 容器运行。对于需要特定工作流的分布式应用程序,您还需要一个框架。
现在 Docker 社区中出现了很多工具来管理数百或数千个 Docker 容器 。例如,一些早期采用者使用 Swarm 、 Kubernetes (由谷歌创建)或 Apache Mesos (由 Twitter、Airbnb、Apple 等使用)来管理 Docker 容器。几周前,亚马逊还宣布了一项用于管理 Docker 容器的云服务: AWS ECS(EC2 Container Service) 。
TIBCO Silver Fabric 在支持希望使用持续交付为具有自动化部署的 TIBCO 产品创建弹性私有云、混合云或公共云的 TIBCO 客户方面做得很好。 TIBCO Silver Fabric 和 Docker 容器是互补的。 Silver Fabric 提供统计信息收集、日志管理、部署发现、HTTP 端口管理、运行时条件、存档缩放、自动发现报告给虚拟路由器的 HTTP 端点等功能。这样的产品生命周期和管理不是开箱即用的,它需要一些“代码”(脚本或编译语言)。这就是 TIBCO Silver Fabric Enabler 的 作用——参见 Docker enabler 示例。
Docker 在 TIBCO 的未来
现在,您可能可以想象 Docker、微服务和 TIBCO 软件如何完美地适合敏捷和灵活的软件开发 。 Docker 仍然是一项非常新的技术。它将在未来几年内成熟并获得更多的牵引力和工具支持。然而,Docker 现在不仅仅是一个流行语!它已经在许多企业中使用,至少用于 DEV/QA。 Docker将是TIBCO未来战略中的关键技术 。肯定会有更多关于“Docker 和 TIBCO”的博文!