构建现代企业应用,为什么要选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都希望能够帮助他们实现这些目标。

 

发布了341 篇原创文章 · 获赞 354 · 访问量 47万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览