公司 Haufe Group 地點 德國弗萊堡 行業 媒體與軟體

挑戰

Haufe Group 成立於 1930 年,最初是一家傳統出版商,現已發展成為一家媒體和軟體公司,其 95% 的銷售額來自數字產品。多年來,該公司從擁有“地下室硬體”發展到外包其基礎設施運營和 IT。最近,新產品的開發,從稅務專家網際網路門戶到人員培訓軟體,對提高速度、可靠性和可擴充套件性提出了要求。“我們需要能夠更快地行動,”解決方案架構師 Martin Danielsson 說。“適應工作負載是我們真正希望能夠做到的事情。”

解決方案

Haufe Group 在 Microsoft Azure 在歐洲上市後開始了其雲原生之旅;該公司需要為其桌面應用程式提供雲部署,並支援頻寬密集型下載服務。“之後,就是不同的專案嘗試不同的事情,”Danielsson 說。兩年前,Holger Reinhardt 加入 Haufe Group 擔任首席技術官,並迅速將傳統的基於主機提供商的方法轉向了雲和 API 優先戰略。

該戰略的核心部分是明確要求透過 Docker 在整個軟體部署生命週期中採用基礎設施即程式碼。該公司現在正準備使用 KubernetesMicrosoft AzureAmazon Web Services 上編排兩個服務並投入生產。該團隊還在努力將其核心 Java Enterprise 桌面產品之一拆分為微服務,以實現更好的可演進性和雲中的動態擴充套件。

影響

Danielsson 表示,透過適應工作負載,團隊“將能夠在夜間將容量縮減到大約一半,從而節省 30% 的硬體成本。”此外,更短的釋出時間產生了重大影響。“以前,我們必須提前至少一週宣佈何時進行釋出,因為有一長串必須做的事情,”他說。“透過採用雲原生,我們擁有了基礎設施,能夠自動化所有這些事情。現在我們可以在半小時而不是幾天內完成新版本釋出。”

80 多年前,Haufe Group 成立為一家傳統的出版公司,印刷紙質書籍和評論。

然而,到了 1990 年代,公司領導者認識到未來是數字化的,值得稱讚的是,他們成功地將 Haufe Group 轉型為一家媒體和軟體公司,現在其 95% 的銷售額來自數字產品。“在德國做這項業務的公司中,我們是早期採用者之一,”Haufe Group 解決方案架構師 Martin Danielsson 說。

現在,他們正在引領中型企業擁抱 Kubernetes 等雲原生技術。“像 Ticketmaster 和 Google 這樣的大公司做得很好,而初創公司也做得很好,因為它們更快,”Danielsson 說。“我們處於中間大量擁有很多遺留系統、很多結構、很多文化的公司的陣營中,這些公司不容易適應雲技術。我們只有 1500 人,但我們有數百個面向客戶的應用程式。所以我們正在做的事情將與我們規模或甚至更小的許多公司相關。”

許多遺留挑戰僅僅源於追隨時代的技術趨勢。“我們曾經完全採用 DevOps,”他說。在 1990 年代和 2000 年代,“這意味著你在地下室有自己的硬體。然後 10 年前,當時的炒作是外包應用程式運營,外包所有東西,並精簡你的 IT 部門,以消除所有這些硬體事情的干擾。那不是我們的專業領域。我們不想成為基礎設施提供商。現在,這種情況正在反噬。”

Haufe Group 在開發更多新產品時開始感到痛苦,從稅務專家網際網路門戶到人員培訓軟體,這些產品對提高速度、可靠性和可擴充套件性提出了要求。“現在,我們的工作流程中斷了,我們從編寫概念到開發,將其移交給生產,然後再移交給您的主機提供商,”他說。“然後當事情出錯時,我們不知道哪裡出了問題。我們絕對想奪回控制權,我們想更快地行動。適應工作負載是我們真正希望能夠做到的事情。”

這些需求促使他們探索雲原生技術。他們首次涉足雲端是在 Microsoft Azure 在歐洲可用後,為內建下載服務的桌面產品進行部署。對於這些頻寬密集型服務,託管費用過高,因此公司轉向了雲端。“之後,就是不同的專案嘗試不同的事情,”Danielsson 說。

兩年前,Holger Reinhardt 加入 Haufe Group 擔任首席技術官,並迅速將傳統的基於主機提供商的方法轉向了雲和 API 優先戰略。該戰略的核心部分是明確要求透過 Docker 在整個軟體部署生命週期中採用基礎設施即程式碼。一些實驗比其他實驗走得更遠;德國關於敏感資料的法規證明是阻礙將某些工作負載轉移到 Azure 和 Amazon Web Services 的障礙。“由於我們的歷史原因,德國在個人身份資料等方面的規定非常嚴格,”Danielsson 說。

隨著適用於德國的 Azure Sovereign Cloud(由德國 T-Systems 提供商運營的 Azure 克隆)的到來,這些實驗獲得了新的生命。隨著符合德國隱私法規的 Azure.de 的推出,團隊開始認真考慮將生產負載部署到 Docker 中的雲端。“過去兩年我們一直在使用容器,我們確實掌握了它們的工作原理,”Danielsson 說。“但它始終用於開發和測試,從未用於生產,因為我們不完全瞭解它將如何工作。對我來說,Kubernetes 絕對是解決這個問題的技術。”

與此同時,Danielsson 建立了一個 API 管理系統,旨在支援 CI/CD 場景,而現成的 API 管理產品中缺少這些方面。以 Mashape 的 Kong 閘道器為基礎,它作為開源專案 wicked.haufe.io 釋出。他將 wicked.haufe.io 應用到他的產品團隊中。

否則,Danielsson 說他的哲學是“不要總是試圖重新發明輪子。選擇現有的,99% 的時間都足夠了。如果你認為你真的需要一些定製或額外的東西,也許再考慮一兩次。我發現這個雲原生框架最令人驚奇的一點是,所有東西都緊密相連。”

目前,Haufe Group 正在使用 Kubernetes 生產執行兩個專案。一個是用於研究立法和稅法的新移動應用程式。“我們需要一種方法從遺留核心中取出功能,並在上面放置一個帶有 API 閘道器的應用程式——許多移動部件都要求使用容器,”Danielsson 說。因此,團隊將構建管道從“部署到一些舊的、巨大的機器,你可以部署任何東西”轉移到 Kubernetes 叢集,在那裡將有自動 CI/CD,“具有功能分支和所有這些過去有點繁瑣的東西。”

這是一項概念驗證工作,結果證明是成功的。“每個人都對我們在一週內完成的工作印象深刻,”Danielsson 說。“我們做了這些整合,只是為了確保我們掌握了 Kubernetes 的工作原理。如果你能圍繞某件事創造樂觀和轟動,那你就成功了一半。如果開發人員和專案經理知道這有效,那麼你或多或少就完成了。”Reinhardt 補充說:“你需要創造一些非常顯眼、快速的成功,以克服現狀。”

對部署速度的影響是顯而易見的:“以前,我們必須提前至少一週宣佈何時進行釋出,因為有一長串必須做的事情,”Danielsson 說。“透過採用雲原生,我們擁有了基礎設施,能夠自動化所有這些事情。現在我們可以在半小時而不是幾天內完成新版本釋出。”

對成本的潛在影響是另一個額外好處。“託管應用程式相當昂貴,所以我們真的希望能遷移到雲端,”Danielsson 說。透過適應工作負載,團隊“將能夠在夜間將容量縮減到大約一半,從而節省 30% 的硬體成本。”

同樣重要的是,Danielsson 說,還有額外的靈活性:“當我們嘗試移動或重構真正關鍵的應用程式時,驗證我們想要採取的路徑是否會成功通常很棘手。為了驗證這一點,我們需要重現環境並真正進行測試,而這在傳統主機提供商那裡成本過高且根本無法實現。雲原生使我們能夠以經濟高效的方式進行有風險的更改並驗證它們。”

隨著兩個成功的測試專案在公司內部傳開,對 Kubernetes 的興趣也越來越濃厚。“我們希望能夠支援我們的開發人員執行 Kubernetes 叢集,但我們還沒有做到這一點,所以只要他們意識到自己是獨立的,我們就允許他們這樣做,”Danielsson 說。“這就是為什麼我們也在考慮像 [託管 Kubernetes 平臺] CoreOS TectonicAzure Container ServiceECS 等這樣的東西。這些服務對於希望利用雲原生但沒有 IT 部門或相關結構的中型公司來說將更加重要。”

Danielsson 表示,在接下來的一年半里,公司將致力於將其一款最初用 Java Enterprise 構建的遺留桌面產品(用於研究立法和稅法的網路應用程式)遷移到雲原生技術。“我們現在正在進行微服務拆分,以便能夠獨立部署不同的部分,”他說。主網站(為客戶提供免費內容)也正在遷移到雲原生。

但 Danielsson 認為,要實現這些目標,需要不斷解決更大的文化挑戰。向新技術的轉變,更不用說轉向 DevOps,意味著員工會經歷很多變化。“過去的角色是相當固定的,”他說。“你有開發人員、專案負責人、測試人員。現在你進入了這些真正、真正重要的事情,比如測試自動化。測試人員不再進行點選測試,他們必須編寫自動化測試。如果你真的想全面推行 CI/CD,所有這些小部分都必須協同工作,這樣你才能有信心進行簽入,並且知道這個簽入將進入生產環境,因為如果我搞砸了,某個測試就會失敗。這是一件非常強大的事情,因為無論你做什麼,只要你將某些東西合併到主幹或主分支,它就會上線。這就是你要麼留住人,要麼把他們嚇跑尖叫的地方。”Danielsson 明白,有些人可能需要更長的時間才能適應新的工作方式。

“文化是你無法強加於人的,”他說。“你必須親身體驗。你必須佈道。你必須一遍又一遍地展示優勢:這就是你可以做到這一點的方式,這就是你從中得到的。”為此,他的團隊為員工安排了為期一天的研討會,邀請外部專家講解從 API 到 Devops 再到雲的一切內容。

對於每一個嚇得尖叫而逃的人,都有更多人被吸引進來。“讓他們入門並真正對這些東西感興趣,”Danielsson 說。“通常它會流行起來。我們現在有你從未想到會有人喊‘Docker Docker Docker’。看到他們意識到Python庫之外還有一個世界真是太酷了。看到他們真正使用Kubernetes真是太棒了。”

最終,Reinhardt 說:“戰略的執行需要文化、結構和技術的統一。只有當這三個維度統一時,才能成功地轉型為微服務和雲原生架構。只有這樣,雲才能在產品創新方面帶來更快的速度和更低的運營成本。”