構建現代企業應用,爲什麼要選AWS?

毋庸置疑,容器已經成爲構建現代企業應用的最主流的開發模式,得益於容器的簡單易用、高資源利用率、安全的隔離、跨平臺的應用性等顯著優勢,容器技術一經推出,就深受衆多開發者的喜愛,並迅速成爲開發者開發應用時的首選技術。

而在容器技術之前,開發企業應用是非常困難的。以亞馬遜爲例,在2000年的時候,亞馬遜網站擁有一個單體的應用(monolithic application),有很多的團隊,但是開發的都是一個應用。這是一個非常大型的應用、大型的數據庫,非常缺乏敏捷性,如果想添加新產品,就必須對原代碼進行編輯、修改,事實上有很多不同團隊,他們都必須到一個管道中來進行這個單體應用的開發。

2001年的時候,亞馬遜力圖要改變這種構建應用的方式,於是把應用分解成爲了多個微服務,並且打造了所謂的雙披薩團隊,這是一種組織的變革,能夠使亞馬遜更快速地開發。 所謂雙披薩團隊,就是開發團隊成員的數量,只要兩個披薩就能夠餵飽。它實際上是一種敏捷靈活的開發組織架構,即每個團隊可以完全負責自己開發的服務,能夠完全去擁有自己的應用,從發現應用、應用的開發、應用的部署,一個團隊對這些全面負責。後來,很多人把它稱爲DevOps開發應用的模式。

如今,開發現代企業應用已經簡單了許多,這當然要歸功於容器、Kubernetes、微服務等新的開發技術和開發工具的出現,然而,雖然如此,仍然有衆多的企業在使用容器、Kubernetes、微服務等技術開發現代企業應用時存在困難。

這是由於對於一般企業,尤其是傳統企業來說,他們的能力還是很難以駕馭容器、微服務化的應用開發,更對Kubernetes的複雜配置和部署感到頭痛,而AWS希望能夠爲用戶使用容器、Kubernetes打造一個非常全面、簡單、易用的平臺,爲此,AWS針對用戶的呼聲推出了Amazon ECSAmazon EKSAmazon ECR等服務,幫助企業更簡單的使用容器、Kubernetes、微服務,從而使企業更加簡單、快速的構建現代企業應用。

AWS的容器服務佈局

實際上,目前AWS的容器服務已經覆蓋面非常廣泛,如圖所示,在最下面是彈性的映像註冊表服務,Amazon ECR (Amazon Elastic Container Registry),它可以存儲容器映像文件,使得容器註冊表更加易用。中間層是計算引擎,容器要運行在某一個計算平臺上,用戶可以使用Amazon EC2作爲啓動類型來運行容器,也可以使用AWS Fargate來啓動無服務器的運行。

在編排層,AWS可以根據用戶的需求讓其去選擇自己需要的服務,如果用戶並沒有自己明確的傾向或者想專注於基礎架構或者配置,也可以自己搭建編排服務。如果用戶只是想開發應用,並不關心基礎架構,可以使用AWS的託管服務:Amazon Elastic Container Service或者Amazon Elastic Kubernetes ServiceAWS希望爲客戶提供最優秀的平臺,方便企業開發自己的應用。

具體到Amazon ECS (Amazon Elastic Container Service),它可以與AWS其它的衆多服務進行深度的集成,如果客戶要在EC2上進行應用開發,選擇它是再方便不過了。

爲什麼選擇EKS

Amazon EKS( Elastic Kubernetes Services),則是爲了更好的滿足用戶對於Kubernetes的使用要求,它是一個全託管的Kubernetes服務,可以幫助用戶以安全和高可伸縮的方式來進行管理。實際上,用戶在哪裏運行Kubernetes非常重要,因爲Kubernetes是一個開源的項目,所以雲平臺的質量與應用的質量是相輔相成的,只有優質的雲平臺才能爲用戶提供更好的服務,而久負盛名的AWS顯然是勝任這一角色的理想雲平臺。

具體到選擇EKS的詳細原因,在AWS負責現代化應用產品的Aaron Kao介紹說,首先,EKS的開發是運行生產級工作負載的平臺,它具有非常高的安全和可靠性。EKS支持各種版本的Kubernetes的用戶,用戶總是能夠通過最新的補丁獲得最新的系統級安全。其次,AWS提供原生和上游(native and upstream)Kubernetes體驗,AWSKubernetes和開源的Kubernetes的運行是完全一致的。第三,無縫集成。當用戶選擇AWS的時候,主要的原因就AWS服務的廣度和深度。AWS165種不同的服務,從存儲服務、管理服務等不一而足,用戶希望能夠利用到這種廣度和深度。而EKSAWS平臺無縫集成,能夠使用戶輕鬆獲得AWS爲他們提供的全面能力。最後,AWSAmazon EKS團隊積極爲上游的Kubernetes項目和CNCF(Cloud Native Computing Foundation,雲原生計算基金會)共享。目前,有51%Kubernetes工作負載在AWS上運行,這使得AWS成爲了運行Kubernetes最多的平臺,這也等於給了衆多使用EKS的用戶一顆定心丸

誰在用ECSEKS

目前,AWSAmazon ECSAmazon EKS已經在多個行業和衆多用戶中得到了應用。例如,在ECS的應用上,麥當勞推出了一個送貨上門的服務,就是在四個月之內使用Amazon ECS上面運行的微服務達成的。這個雲原生的微服務架構可以用不到100毫秒的延遲擴展到每秒兩萬個訂單,而且能夠輕鬆的與全球交付合作夥伴進行集成。還有FOX的數字平臺和工程團隊,他們使用AWS上運行的容器化、微服務來構建和交付FOX NOW,讓其通過各種各樣的設備——機頂盒、固定網絡、移動網絡進行流媒體的數字內容交付。

EKS的應用方面,有用戶用EKS進行企業應用的遷移,還有用戶使用EKS進行機器學習,例如, AutoDesk就使用EKS來進行計算,建立自己大的平臺。因此,不管是大客戶還是小客戶,不管是在哪個行業,他們都信任EKS

AWS爲什麼要力挺開源

不過,不管是容器還是Kubernetes,都不是AWS原生產品,那麼,AWS爲什麼要力挺這樣兩款開源軟件呢?對此,Aaron Kao表示,首先,AWSCNCF雲原生基金的白金會員,一直以來,AWS都積極參與建設社區,確保KubernetesAWS之間有非常好的技術連接性,從而爲用戶提供更好的功能。以後,AWS也將會不斷地加深與CNCF的合作。其次,很多用戶總是問AWS未來會有什麼樣的技術路線?而AWS的回答是,AWS是一個開源的技術路線,AWS甚至已經有了一張開源的路線圖,如下圖所示。

在這張圖中,EKS控制面板日誌、SOC合規性、EKS優化的AMI元數據SSM參數是其中的亮點,而最大的亮點則在於Amazon EKS on Fargate AWS Fargate可以幫助用戶非常快地推出和擴充容器應用,只需根據自己所用的服務進行支付,而不用顧及容器的集羣數量,這就可以幫助客戶更好地運行其應用,管理衆多的容器。現在有很多客戶都在使用AWS Fargate幫助他們每週運行上百萬個容器。

除此之外,AWS還爲想使用無服務技術的用戶提供了不能不提的LambdaLambda是事件驅動的無服務器計算的應用,它允許用戶無需預配或者管理服務器即可運行代碼,用戶只需要按被消耗的計算時間付費,就能自動地擴展工作負載,擴展負載的大小。在Lambda方面,AWS也會持續進行簡化和開發,也將繼續支持大量的合規認證,包括ISOPCI HIPAA SOC GDPR FedRamp等。同時,Lambda也適用於流行的IDE工具包,可以通過嵌套應用簡化部署,提高工作效率。另外,Lambda也會不斷增加功能集成,例如集成Lambda應用負載均衡、Lambda SQS等等功能。目前,很多公司也都是AWS Lambda的客戶,他們通過使用Lambda可以輕鬆地進行業務拓展,比如可口可樂公司使用LambdaSTEP函數來更新自動售貨機通行證應用,使用Lambda管理計算實例,促進開發人員進行創新,提高創新能力,讓工程人員能夠在幾天內快速構建和部署新的功能。目前,有數十萬的客戶在使用AWS Lambda建立微服務,建立現代化應用。

AWS:一切爲了用戶

AWS希望通過這些服務,能夠成爲用戶的良好合作夥伴,能夠更密切地與用戶合作,從而爲他們提供其所需要的服務。AWS非常專注用戶的需求,90%的技術路線都是圍繞着用戶的需求,AWS與用戶之間有一個反饋機制,通過這個機制,AWS可以更加迅速和準確的滿足客戶的需求,AWS也將會持續這樣的勢頭,採取不同的方式與用戶進行合作。

Aaron Kao最後總結,AWS希望能夠成爲運行現代應用程序的最佳方案。現在很多用戶正在對其應用進行現代化的努力,AWS希望能夠給他們提供幫助,不管他們想要改變架構,改變運行模式,還是想改變他們的數據交付、提升管理、確保安全、改變文化,AWS都希望能夠幫助他們實現這些目標。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章