從代碼到云端:DeveloperWeek活動見聞
本文作者:Talia Nassi。她是Akamai的首席開發者布道師,同時也是各大國際性會議和活動的主題演講者,致力于創作關于在云端構建、測試和Linode等方面的內容。
前段時間,我參加了在美國加利福尼亞奧克蘭舉辦的DeveloperWeek會議。這是一個為開發者、DevOps工程師和產品經理舉辦的,為期兩天的年度性活動。去年,我曾在會上做了一個關于基礎設施即代碼構建應用的演講。今年,我在Akamai展臺上進行演示,展示了我們最新的VPC服務。
延伸閱讀,點擊鏈接了解 Akamai Cloud Computing
與業內的很多其他會議不同,DeveloperWeek專注于工具,并重點凸顯了廣泛的供應商。如果想了解新工具和即將推出的技術,這里將會是一個很好的去處。
活動期間,參觀Akamai展臺的人群各有不同。一方面,有很多學生來尋找招聘人員進行交流,其中甚至有些人以前從未聽說過Akamai。不過這也挺常見的。此外,還有一些DevOps專家對服務器配置比較感興趣,他們還提出了一些很詳細的技術問題。
本文詳細記錄了我參會期間的一些見聞和感受。
與農貿市場的類比帶給我們的啟示
在DeveloperWeek活動全程,我最喜歡的演講是Billy Thompson關于避免供應商鎖定的那一場,畢竟這個話題也是我過去一直在努力解決的問題。他以農貿市場的類比開始了演講。Billy喜歡農貿市場,喜歡那里銷售的各種蔬菜。他去了所有攤位,選擇了自己最喜歡并且價格最劃算的當季蔬菜。但如果他只去了農貿市場的一個攤位,而忽略了其他幾十個每天都蹲守在自己攤位前的攤主,結果會怎樣呢?他會錯過其他攤主提供的多樣選擇,錯過自己選擇的那一個攤主所沒有提供的東西,或者可能錯過以更便宜價格得到同樣蔬菜的機會。
這種情況其實與如今的云計算非常相似。人們的認識存在一定局限,認為云就是那幾家超大規模服務商而已。但其實,市面上有幾十個不同的云服務提供商,他們提供了許多類似的服務。作為云工程師,我們需要做出更好的決策,以更好地滿足自己和業務的需求。
不要僅僅因為名字而選擇某個云服務商,而是要選擇多個云服務商,他們的功能會適合我們每一個特定的需求,這樣才能從中獲得最大化收益。我們完全可以像逛農貿市場那樣,從每個攤主那里挑選最好的、當季的蔬菜一樣;當從多個云服務商中進行選擇時,我們也將可以從每個服務商那里挑選出自己喜歡,并且價格合適的東西。
Billy讓聽眾進行了一種名為“Bare Bones Approach”的練習。假設有一個應用程序,將其簡化到最基礎的骨架狀態。然后,逐步添加一層一層的支撐功能。在這種方法中,我們首先要識別出應用程序最基本的基礎需求,同時要確保自己不受任何特定技術或提供商先入為主觀念或偏好的影響。通過這種方法,我們可以保證所添加的每個功能層都是經過深思熟慮的,并且所做的選擇可以滿足自己的需求,而不是受到可能不符合應用程序目標的外部因素的影響。這種方法讓我們可以用更加可定制、更高效,并且更有效的方式使用技術,并確保自己的選擇與應用程序的需求維持一致。這種設計理念使得應用程序更具可移植性。畢竟這不是為了修復沒有問題的東西,而是為了微調我們自己的需求,并確保自己的云服務滿足這些確切的要求。
VPC Terraform演示
另外我所參與的Demo也值得一提。在本次會議中,我與團隊同事、開發者布道師Austin Gil一起進行了演示。
我們首先介紹了虛擬私有云(VPC)的概念。這是云中一個安全、隔離的區域,用戶可以在其中使用自己定義的虛擬網絡運行各類資源。這種設置帶來了幾個好處,包括通過隔離計算資源增強安全性、更好地控制網絡環境(如IP地址范圍和網關),以及創建混合環境,將本地網絡擴展到云中。我們還介紹了基礎設施即代碼(IaC)的原則,使用Terraform介紹了該機制如何通過代碼實現基礎設施的自動化和高效管理。
為了讓我們關于虛擬私有云(VPC)和基礎設施即代碼(IaC)的討論更生動,我們還演示了兩種不同設置,涉及兩個數據庫的部署。
我們的第一個設置不涉及VPC,這是為了獲得一個基線,以突出VPC的優勢。第二個設置部署在VPC的安全邊界內,這樣即可清晰地展示出VPC可以提供的更高安全性和網絡隔離能力。這種設置非常有效地展示了VPC如何防止未經授權的訪問,并維護內部網絡的完整性。
正如上文提到的,我們使用了Terraform來定義和配置基礎設施。Terraform配置文件使用HashiCorp配置語言(HCL)編寫。其他云提供商通常使用JSON或YAML。如果不熟悉HCL,Terraform網站上有許多代碼庫可供學習。我們部署了兩個具有相似配置的數據庫,主要區別在于它們的網絡設置。第一個數據庫部署在沒有VPC保護的標準云環境中,第二個數據庫安全地嵌套在VPC中,借此獲得進一步的安全性和隔離。
這使我們能夠展示數據庫的訪問情況所存在的明顯差異;非VPC環境中的數據庫可以輕易訪問,說明存在潛在安全漏洞。相比之下,VPC內的數據庫對外部不可訪問,有效凸顯了VPC在網絡隔離和保護敏感數據方面的作用。
應用程序的兩個版本功能是相同的。每個版本都顯示一個數據庫。然而,因為使用VPC來保護第二個數據庫,因此只能看到訪問第一個數據庫的應用程序的完整細節。
當嘗試訪問第二個應用程序時,我們無法看到數據庫,而是收到了一個錯誤信息。很好,這意味著我們成功阻止了不良行為者訪問我們的私密信息。
這個演示中,我們展示了如何通過一種簡單的方式實施網絡隔離層來保護應用程序數據。在本例中,我們將網絡的不同部分拆開,以防止未經授權的訪問數據庫。但其實這種操作也可以用來實現其他更復雜的目的,例如DevOps環境或合規要求。
在DevOps設置中,我們可能有多個環境,比如開發環境、暫存環境和生產環境。每個環境都需要不同的網絡配置和訪問控制。通過利用VPC,我們可以在隔離的網絡邊界內創建單獨的環境。這確保了在一個環境中進行的更改不會影響其他環境,并允許對網絡策略進行細粒度的控制。
在合規和監管要求方面,諸如醫療保健、金融和政府等行業受到嚴格的合規性法規的約束,涉及數據隱私和安全。使用具有隔離層的VPC,通過將敏感數據和工作負載與網絡的其余部分隔離開來,可以幫助企業遵守這些要求。例如,我們可以將個人身份信息隔離在專用子網中,并在網絡層強制執行加密和訪問控制。隔離層的概念可適用于幾乎所有領域的應用程序。
又一次成功的DeveloperWeek活動,希望明年能再次參與,也希望能從社區的其他成員那里學到更多東西。
同時,我們也會繼續對Akamai VPC服務進行不斷的完善和改進,幫助用戶更輕松、便捷、靈活地在Akamai云平臺上部署和運行。
—————————————————————————————————————————————————
如您所在的企業也在考慮采購云服務或進行云遷移,
點擊鏈接了解Akamai Linode的解決方案