云開發(fā)中的思考:何種云開發(fā)策略才是對的選擇?
在云上構(gòu)建應(yīng)用,我們應(yīng)該采用平臺(tái)原生還是云原生,到底哪一種云開發(fā)策略更適用于組織,Akamai 云計(jì)算服務(wù)解決方案工程總監(jiān)David Rodriguez為我們分享了他的觀點(diǎn)。20 年前,David Rodriguez作為一名軟件工程師開始了我的職業(yè)生涯。 我們中的很多人共同見證了公有云前所未有的增長,并且今天這種情況仍在繼續(xù)。
延伸閱讀,了解 Akamai cloud-computing
一些云提供商對于您應(yīng)該如何與他們一同構(gòu)建有著自己的看法。我們將這種方法稱為平臺(tái)原生。 他們希望您采用一種可以應(yīng)用他們的服務(wù)與工具的方式進(jìn)行構(gòu)建,所有這些都在他們的生態(tài)系統(tǒng)中去實(shí)現(xiàn)。 但是云提供商不應(yīng)該去規(guī)定您如何進(jìn)行構(gòu)建和部署。相反,您的工作負(fù)載應(yīng)該是可移植的,使用基于開放和標(biāo)準(zhǔn)的工具,這些工具允許您將它們部署和移動(dòng)到任何有意義的地方,以便于您能夠找到最適合您的工作負(fù)載的區(qū)域、價(jià)格或性能。
今天的開發(fā)者采購旅程
我在選擇合適的云提供商時(shí)曾經(jīng)犯過錯(cuò)誤。 我們很多人也許都犯過這樣的錯(cuò)誤。 但這些經(jīng)歷,無論是好的還是壞的都讓我發(fā)現(xiàn)了選擇過程中的模式。 我發(fā)現(xiàn)了開發(fā)人員的云購買旅程所要經(jīng)歷的五個(gè)階段。
1.發(fā)現(xiàn)
無論您是在閱讀 Stack Overflow 或Reddit thread、觀看 YouTube 或其他任何地方的活動(dòng)中聽到新消息,云服務(wù)都會(huì)激起您的興趣,因?yàn)槟郧皬奈绰犝f過它。 突然間你會(huì)思考:這是什么? 這將如何適用于我? 它會(huì)對我有什么幫助?
在發(fā)現(xiàn)過程中還會(huì)提出很多的問題。您的目標(biāo)應(yīng)該是獲得有關(guān)云產(chǎn)品的獨(dú)特之處、它與可感知的相似產(chǎn)品的區(qū)別以及它向您呈現(xiàn)的特定價(jià)值主張的答案。 無論是對服務(wù)的承諾還是其他什么,當(dāng)您問“為什么?”時(shí),它就在這里。
2. 評(píng)估
在這個(gè)階段,我們已經(jīng)跨過了疑惑,并且非常確定這里有一些東西。現(xiàn)在是提交和評(píng)估我們發(fā)現(xiàn)的內(nèi)容的時(shí)候了。不要計(jì)劃大量的時(shí)間承諾。 深入研究文檔通常只需要花費(fèi)大約 15 到 20 分鐘。 但是您需要更深入地了解服務(wù)或工具,并評(píng)估與您已知的任何差異。
雖然它有助于準(zhǔn)確了解您正在評(píng)估的服務(wù),但如果您對其他云提供商的了解有些狹窄,請不要擔(dān)心。 例如,以我們的托管 Kubernetes 產(chǎn)品為例。 如果您熟悉競品,則可以將它們與 Linode Kubernetes Engine進(jìn)行比較。
以下是無人機(jī)制造商 Skydio 的工程總監(jiān) Elliot Graebert 的評(píng)估用例的摘錄。
“接口看起來非常相似,因此不可能去聲明一個(gè)更好的接口。 他們的設(shè)計(jì)簡潔明了,沒有 AWS 和 Azure 中普遍存在的功能膨脹。 在我看來,這種簡單性對幫助您進(jìn)入、部署您的應(yīng)用程序并重新開始編寫代碼大有幫助。” 他補(bǔ)充道:“Linode 啟動(dòng)新 k8s 集群的驚人速度將會(huì)吸引一些受眾,他們的整體節(jié)點(diǎn)部署時(shí)間很穩(wěn)定。”
3. 學(xué)習(xí)
現(xiàn)在我們準(zhǔn)備好進(jìn)入最關(guān)鍵的一步。 原因是,在評(píng)估階段,您會(huì)投入一些時(shí)間,但這個(gè)階段將是您投入大部分時(shí)間的時(shí)候。 作為開發(fā)人員,我們有上百萬個(gè)項(xiàng)目在腦海中盤旋。 現(xiàn)在,我們正在進(jìn)行一些合適的練習(xí),看看這種云產(chǎn)品是否值得。 準(zhǔn)備投入時(shí)間學(xué)習(xí)。 要回答的最大問題是:這個(gè)云提供商及其解決方案是否適用于我的下一個(gè)項(xiàng)目?
4.構(gòu)建
有哪個(gè)工程師不喜歡把手放在鍵盤上? 但這個(gè)步驟是會(huì)經(jīng)常出錯(cuò)的地方。 當(dāng)我們真正需要構(gòu)建 MLP(“最小的可愛產(chǎn)品”)時(shí),我們習(xí)慣于構(gòu)建 MVP(最小可行產(chǎn)品)。
MVP 是最低限度的,你不一定會(huì)喜歡它們。 在我整個(gè)職業(yè)生涯中建立的所有 MVP 中,我無法說出一個(gè)適合生產(chǎn)的。 在我今天的角色中,我喜歡向開發(fā)人員展示如何創(chuàng)建 MLP。 結(jié)果是他們可以誠實(shí)地評(píng)估他們?yōu)闃?gòu)建它所付出的努力是否值得的結(jié)果。
5. 規(guī)模
在這個(gè)階段你會(huì)問很多問題。 在了解規(guī)模時(shí),您會(huì)想知道如何利用多個(gè)區(qū)域,是將數(shù)據(jù)從一個(gè)點(diǎn)復(fù)制到另一個(gè)點(diǎn)以進(jìn)行災(zāi)難恢復(fù),還是只存在于多個(gè)區(qū)域中。 不僅要從流程的角度考慮規(guī)模,還要從人員的角度考慮。 如果你需要將更多的人注入到這個(gè)過程中,那會(huì)是什么樣子?
您還需要了解集成過程。 無論是通過 CLI 還是 API,找出可以幫助您實(shí)現(xiàn)自動(dòng)化的可用工具。 我們正處于以基礎(chǔ)設(shè)施即代碼 (IAC) 引領(lǐng)潮流的自動(dòng)化浪潮中。 我們事半功倍,因?yàn)槲覀冎懒鞒虝?huì)擴(kuò)展,而人們不會(huì)。對建立基礎(chǔ)結(jié)構(gòu)和擴(kuò)展所需的工作進(jìn)行評(píng)估。
平臺(tái)原生與云原生
對于云的選擇將繼續(xù)成為一個(gè)不斷進(jìn)化的旅程。 我們需要開始更客觀地去看待它。 當(dāng)我第一次涉足云時(shí),我專門使用這些平臺(tái)和工具進(jìn)行構(gòu)建。 當(dāng)時(shí)所有可用的技術(shù)文檔都是關(guān)于特定平臺(tái)的。 但隨著我成長為一名工程師,我開始以云原生方式進(jìn)行構(gòu)建,這樣我就可以接管工作負(fù)載并將其移動(dòng)到任何地方,從而讓我對自己構(gòu)建的東西有更多的控制權(quán)。 我在開源工具的幫助下做到了這一點(diǎn),這使我能夠采用統(tǒng)一的標(biāo)準(zhǔn),如CI/CD、IaC和容器化。
如果所有這些都符合您的思維方式,并且您想以這種云原生方式構(gòu)建,我們很樂意與您交談。 您可以聯(lián)系Akamai 云計(jì)算服務(wù)解決方案工程總監(jiān)David Rodriguez或任何團(tuán)隊(duì)成員討論您的云采購旅程。
這篇文章的內(nèi)容感覺還行吧?有沒有想要立即在 Linode 平臺(tái)上親自嘗試一下?別忘了,現(xiàn)在注冊可以免費(fèi)獲得價(jià)值 100 美元的使用額度,快點(diǎn)自己動(dòng)手體驗(yàn)本文介紹的功能和服務(wù)吧↓↓↓
歡迎關(guān)注Akamai ,第一時(shí)間了解高可用的MySQL/MariaDB參考架構(gòu),以及豐富的應(yīng)用程序示例