到 2014 年底, Docker 扩展了对云空间中三个主要参与者的支持:AWS、Microsoft Azure 和 Google Compute。 Docker 的 D 轮融资达到近 1 亿美元。随着越来越多的采用,Docker 是未来应用程序架构的重要趋势。但这在 AppNeta 并不新鲜。我们已经听到有关 Docker 支持的公告,我们的客户也询问过,但 TraceView 一直支持 Docker。我们专注于应用程序和分布式事务跟踪,我们的仪器在设计时就考虑了分布式系统。
让我们从一个疯狂的想法开始: 应用程序性能监控应该以应用程序为中心 。 APM 应该能够跨任何架构、容器或其他方式进行有效监控。其他 APM 工具使用更多以主机或层为中心的用户界面,当客户采用 Docker 架构时需要进行根本性的更改。 TraceView 的设计考虑了分布式架构,无论支持它们的服务器架构如何。
TraceView 在您的用户请求通过您的应用程序层时跟踪它。我们称这种方法为分布式事务跟踪,它让我们毫不费力地过渡到像 Docker 这样的平台时代。这种分布式方法使我们能够识别您的用户请求进入和离开的应用程序层,而不管主机的数量是多少,因为每个主机都有用于为每个层建立进入和退出事件的工具。通过检测不同的 Docker 进程,就像我们传统上对主机所做的那样,我们可以向您展示用户请求的完整路径和时间。
对许多独立可扩展部分的需求在某种程度上导致了 Docker 的成功,但是保持每个 Docker 进程的开放连接的要求可能是限制性的。使用其他 APM 产品监控 Docker 需要来自每个活动进程的开放连接。这有效地增加了应用程序端引起的配置开销。
我们还没有宣布支持 Docker。因为我们一直支持它。事实上,TraceView 的 Instrumentation 团队也使用 Docker 容器作为我们 QA 流程的一部分。请参阅我们 关于 如何在 Docker 上安装 TraceView 的文档和示例 dockerfile。