公司 Haufe 集团 地点 德国弗莱堡 行业 媒体和软件

挑战

Haufe 集团成立于 1930 年,最初是一家传统出版商,现已发展成为一家媒体和软件公司,其 95% 的销售额来自数字产品。多年来,该公司已经从“地下室里的硬件”发展到外包其基础设施运营和 IT。最近,从税务专家互联网门户到人员培训软件等新产品的开发,对速度、可靠性和可扩展性提出了更高的要求。解决方案架构师 Martin Danielsson 表示:“我们需要能够更快地行动。调整工作负载是我们真正想要做到的事情。”

解决方案

Microsoft Azure 在欧洲推出时,Haufe 集团开始了其云原生之旅;该公司需要为其具有高带宽下载服务的桌面应用程序进行云部署。Danielsson 说:“在那之后,不同的项目尝试了不同的东西。” 两年前,Holger Reinhardt 加入了 Haufe 集团担任首席技术官,并迅速将传统的基于主机提供商的方法重新定位为云和 API 优先战略。

该战略的核心部分是通过 Docker 在整个软件部署生命周期中采用基础设施即代码的强烈授权。该公司现在正准备使用 KubernetesMicrosoft AzureAmazon Web Services 上进行编排,将两项服务投入生产。该团队还致力于将其核心 Java Enterprise 桌面产品之一分解为微服务,以便在云中实现更好的可演进性和动态扩展。

影响

Danielsson 说,凭借调整工作负载的能力,团队“将能够在夜间将容量缩减到大约一半,从而节省 30% 的硬件成本”。此外,更短的发布时间也产生了重大影响。他说:“以前,我们必须至少提前一周宣布我们想要发布的时间,因为您必须做的事情清单很长。通过采用云原生,我们拥有了能够自动化所有这些事情的基础设施。现在,我们可以在半小时内完成新版本的发布,而不是几天。”

80 多年前,Haufe 集团作为一家传统出版公司成立,在纸上印刷书籍和评论。

然而,到了 20 世纪 90 年代,该公司的领导人意识到未来是数字化的,值得称赞的是,他们成功地将 Haufe 集团转型为一家媒体和软件企业,现在 95% 的销售额来自数字产品。Haufe 集团解决方案架构师 Martin Danielsson 说:“在这样做的德国公司中,我们是早期采用者之一。”

现在,他们正在为拥抱 Kubernetes 等云原生技术的中型企业开辟道路。Danielsson 说:“像 Ticketmaster 和 Google 这样的大公司做对了,初创公司也做对了,因为它们速度更快。我们处于中间这一大堆公司中,拥有大量的遗留系统、大量的结构、大量的文化,这些都不容易适应云技术。我们只有 1500 人,但我们有数百个面向客户的应用程序。因此,我们正在做的事情将与许多与我们规模相同甚至更小的公司相关。”

许多此类遗留挑战源于仅仅跟随当时的科技趋势。他说:“我们过去常常做完整的 DevOps”。在 20 世纪 90 年代和 21 世纪初,“这意味着你的硬件在地下室里。然后 10 年前,当时的炒作是外包应用程序运营,外包一切,精简你的 IT 部门,以消除所有这些硬件的干扰。这不是我们的专业领域。我们不想成为基础设施提供商。现在,这种做法的反弹来了。”

Haufe 集团在开发更多新产品时开始感受到痛苦,从税务专家互联网门户到人员培训软件,这些新产品对速度、可靠性和可扩展性提出了更高的要求。他说:“现在,我们的工作流程中断了,我们从编写概念到开发,再将其移交给生产部门,然后再移交给主机提供商。然后,当出现问题时,我们不知道哪里出了问题。我们肯定想收回控制权,我们想更快地行动。调整工作负载是我们真正想要做到的事情。”

这些需求促使他们探索云原生技术。他们首次涉足云是在 Microsoft Azure 在欧洲推出后,为内置下载服务的桌面产品进行部署。此类带宽密集型服务的托管费用过高,因此该公司转向了云。Danielsson 说:“在那之后,不同的项目尝试了不同的东西。”

两年前,Holger Reinhardt 加入了 Haufe 集团担任首席技术官,并迅速将传统的基于主机提供商的方法重新定位为云和 API 优先战略。该战略的核心部分是通过 Docker 在整个软件部署生命周期中采用基础设施即代码的强烈授权。有些实验比其他实验走得更远;事实证明,德国关于敏感数据的法规是将某些工作负载迁移到 Azure 和 Amazon Web Services 的障碍。Danielsson 说:“由于我们的历史原因,德国对个人身份信息等内容非常严格。”

随着面向德国的 Azure 主权云(由德国 T-Systems 提供商运营的 Azure 副本)的到来,这些实验焕发了新的生机。随着 Azure.de(符合德国隐私法规)的推出,团队开始认真考虑将生产负载部署在 Docker 中并迁移到云中。Danielsson 说:“过去两年我们一直在使用容器,我们真的掌握了它们的工作原理。但它始终用于开发和测试,从未用于生产环境,因为我们不完全了解它将如何工作。对我来说,Kubernetes 绝对是解决这个问题的技术。”

与此同时,Danielsson 构建了一个 API 管理系统,旨在支持 CI/CD 场景,而现成的 API 管理产品中缺少这些场景。它基于 Mashape 的 Kong 网关,以 wicked.haufe.io 的形式开源。他将 wicked.haufe.io 用于他的产品团队。

除此之外,Danielsson 说他的理念是“不要总是试图重新发明轮子。选择现有的东西,99% 的情况下它就足够了。如果你认为你真的需要一些定制的或额外的东西,也许再三思而后行。我发现这个云原生框架最令人惊叹的一点是,一切都联系在一起。”

目前,Haufe 集团正在开展两个在生产环境中使用 Kubernetes 的项目。一个是用于研究立法和税法的新的移动应用程序。Danielsson 说:“我们需要一种方法,将功能从遗留核心系统中剥离出来,并将应用程序放在 API 网关之上——许多活动部件都需要容器。” 因此,该团队将构建管道从“部署到可以部署任何东西的旧的大型机器”转移到 Kubernetes 集群,在该集群中将有自动化的 CI/CD,“以及过去有点繁琐的功能分支和所有这些东西”。

这是一项概念验证工作,事实胜于雄辩。Danielsson 说:“每个人都对我们在一周内取得的成就印象深刻。我们进行了这些集成,只是为了确保我们能够掌握 Kubernetes 的工作原理。如果你能围绕某件事创造乐观情绪和热议,你就已经成功了一半。如果开发人员和项目经理知道这是可行的,那么你就差不多完成了。” Reinhardt 补充道:“你需要创造一些非常明显、快速的胜利,才能克服现状。”

对部署速度的影响是显而易见的:Danielsson 说:“以前,我们必须至少提前一周宣布我们想要发布的时间,因为您必须做的事情清单很长。通过采用云原生,我们拥有了能够自动化所有这些事情的基础设施。现在,我们可以在半小时内完成新版本的发布,而不是几天。”

对成本的潜在影响是另一个好处。Danielsson 说:“托管应用程序的成本非常高,因此迁移到云是我们真正想要做的事情。” 凭借调整工作负载的能力,团队“将能够在夜间将容量缩减到大约一半,从而节省 30% 的硬件成本。”

同样重要的是,Danielsson 说,这增加了灵活性:“当我们试图移动或改造真正关键的应用程序时,通常很难验证我们想要采取的路径是否会奏效。为了验证这一点,我们需要复制环境并进行真正的测试,这在传统的主机提供商那里成本高昂,根本不可行。云原生使我们能够以经济高效的方式进行风险更改并对其进行验证。”

随着这两个成功的测试项目的消息在公司内部传播开来,人们对 Kubernetes 的兴趣越来越浓厚。Danielsson 说:“我们希望能够支持我们的开发人员运行 Kubernetes 集群,但我们还没有做到这一点,所以我们允许他们这样做,只要他们知道这是在自己动手。所以这就是为什么我们也在关注 [托管 Kubernetes 平台] CoreOS TectonicAzure 容器服务ECS 等。这些服务对于希望利用云原生但没有 IT 部门或相关结构的中型公司来说将更加重要。”

Danielsson 表示,在接下来的一年半时间里,公司将致力于将他们的一款传统桌面产品迁移到云原生技术上。这款产品是一个用于研究立法和税法的网络应用程序,最初是用 Java Enterprise 构建的。“我们现在正在进行微服务拆分,以便我们可以独立部署不同的部分,”他说。提供免费内容给客户的主网站也将迁移到云原生。

但 Danielsson 认为,要实现这些目标,需要不断应对更大的文化挑战。采用新技术,更不用说转向 DevOps,对员工来说意味着很多变化。“过去,角色是相当固定的,”他说。“有开发人员,有项目负责人,有测试人员。而现在,你会遇到这些非常非常重要的事情,比如测试自动化。测试人员实际上不再进行点击测试,他们必须编写自动化测试。如果你真的想完全实现 CI/CD,所有这些小部分都必须协同工作,这样你才能有信心进行代码提交,并且知道这次提交将会上线到生产环境,因为如果我搞砸了,一些测试就会失败。这是一件非常强大的事情,因为无论你做什么,无论何时将代码合并到主干或主分支,它都会上线。这时候,你要么让人们接受,要么他们就会尖叫着逃离。” Danielsson 明白,有些人可能需要更长的时间才能适应新的方式。

“文化是不能强加于人的,”他说。“你必须自己去践行它。你必须去宣传它。你必须一次又一次地展示它的优势:你可以这样做,你会从中得到什么。” 为此,他的团队为员工安排了为期一天的研讨会,邀请外部专家来谈论从 API 到 DevOps 再到云计算的一切。

对于每一个尖叫着逃离的人来说,还有更多的人被吸引进来。“让他们入门,让他们真正对这些东西感兴趣,”Danielsson 说。“通常情况下,它会流行起来。我们现在有一些你从未想过的人会喊着‘Docker Docker Docker’。看到他们意识到 Python 库之外还有一个世界,这很酷。看到他们真正使用 Kubernetes,真是太棒了。”

Reinhardt 说,最终,“战略的执行需要文化、结构和技术的协调一致。只有当这三个方面协调一致时,才能成功地转型为微服务和云原生架构。只有这样,云才能在产品创新速度更快、运营成本更低方面带来回报。”