云原生技术的兴起,给软件行业带来不小的冲击,甚至说颠覆也不为过。它让应用程序有了明显的代际之分:传统应用与现代应用,也让越来越多的企业选择了拥抱现代应用。在现代应用的开发中容器无疑是最重要的技术,不管是微服务、DevOps以及CI/CD等都建立在容器之上,因此,容器也成为当下最受关注的软件技术。面对市场需求,AWS推出了多种容器技术,包括Amazon EC2 Container Service(ECS)、Amazon Elastic Container Service for Kubernetes(EKS)以及AWS Fargate,并凭借强大的品牌号召力和技术实力,让51%的Kubernetes工作负载在AWS上运行。日前,AWS现代化应用产品市场负责人 Aaron Kao来华就AWS在容器方面的技术进展与媒体进行了交流。
AWS的“双披萨团队”实践
“我们亚马逊自己也是软件行业这一变化的亲历者。”AWS现代化应用产品市场负责人 Aaron Kao在日前举行的媒体沟通会上表示。
他介绍说,在2000年时亚马逊网站还是一个超大型的单体应用,非常不灵活。如果想添加新产品,就必须对源代码进行编辑、修改和重新编译和部署。而当时有很多不同团队,都必须到一个管道中来进行这个单体应用的开发,相互之间干扰很大,非常不便。后来,亚马逊启动了微服务的改造,引入DevOps等现代软件开发方法,才逐渐解决这个问题。
当然,这个改变显然是长期的,也不容易,因为进行现代应用的开发意味着改变,包括架构模型、运营模型、软件交付、安全模型以及数据管理等等都需要改变。
以架构模型为例。随着代码量不断加大,添加或者是改变单体应用程序的功能就变得更加复杂。为了解决这个问题,微服务应运而生。通过引入微服务的体系架构,将应用细分为多个小的服务(功能)模块,每个服务执行一个功能,之间互相独立,相互之间通过一些轻量级的API来连接。这样大幅降低了服务之间的耦合性,让每一个团队都可以对自己所负责的服务来独立决策,从而促使了快速决策,加快了软件交付速度。
他介绍说,为了方便微服务的落地,AWS就引入小团队的办法。在AWS内部有个“双披萨团队”的说法,也就是一个软件开发团队的人数控制在2个披萨可以吃饱,否则就是人太多了,会影响开发效率。
ECS、EKS、Fargate,三剑出鞘
带动软件行业变化的不仅是软件架构的变化,背后也离不开计算模型的变化。实际上,是这两者相互促进,共同推动了软件行业的进步。比如,这些年来,计算模型经历从物理机到虚机,然后是容器的崛起、无服务器计算的兴起,各种计算技术的出现给软件的开发和部署带来了很大的变化,尤其是容器技术。Gartner就预测,到2022年全球会有75%的企业会使用基于容器的技术构建它们的应用系统。
“我们可以看到,容器非常受欢迎,成长非常快。而且这些用户不分行业也不分大小。比如,并不限于互联网企业,很多传统企业在使用这个技术。”Aaron Kao说。
他表示,以前人们对容器相关技术的很多担心,比如容器能否很好地支持有状体应用、安全问题突出以及Kubernetes过于复杂影响普及,现在看来都不是问题,有问题也都慢慢得到了解决。
在容器的普及过程中,各云服务商起到很重要的推动作用,AWS正是其中之一。AWS从2014年开始支持容器,当时推出的是弹性容器服务ECS(Elastic Container Service),支持在EC2实例里运行Docker容器。2018年6月,随着K8s成为容器编排的事实标准,又正式推出了面向K8s的EKS。
AWS在容器领域的布局
在容器技术方面,AWS Fargate尤其值得一提。与EKS和ECS是其他云服务商普通提供的服务不同,Fargate是AWS的独门绝技。Fargate于2018年面市,它是AWS在容器技术领域的一个创新。
AWS Fargate 是一种计算引擎,利用它用户无需管理服务器或群集即可运行容器,也就是说无需再要EC2,不必再预置、配置和扩展虚拟机群集即可运行容器,大大方便了容器的部署和管理。
目前,AWS Fargate还只能支持ECS,不过,Aaron Kao表示支持EKS的Fargate很快就会出来。另外,值得高兴的是,就在10月8号,AWS宣布Fargate落户中国,光环新网、西云数据两个合作伙伴都已经能提供该服务。Aaron Kao还透露,EKS也很快会落地中国。
Aaron Kao特别强调了AWS EKS的优势。他表示AWS EKS服务有5个优势:首先,AWS EKS服务是生产级,包括应用的稳定和可靠能满足客户需要。其次,AWS对安全尤为关注,AWS确保客户怎么能够获得最新的安全补丁。第三,AWS EKS提供的是原生的社区体验,与社区版本体验一致,不是一个单独的分支。第四,AWS EKS能与AWS其他各种服务进行无缝的集成,AWS服务的广度和深度能给客户提供非常大的方便。最后,AWS与CNCF和上游的Kubernetes项目组开展关系紧密,确保采用的都是最新的K8s技术。
“根据CNCF的数据,51%的Kubernetes工作负载在AWS上运行。由此可见,AWS是运行Kubernetes的一个非常好的平台。” Aaron Kao表示。
他说,接下来,AWS还会继续创新,确保产品更好用。比如,AWS让EKS和更多服务(如AWS Identity and Access Management)进行集成;在计算引擎方面,Fargate也会创新。另外,安全上也会继续加强,会确保用户能够对微服务的全节点进行控制等等,最终目标是能帮助客户更好地使用EKS,最后创造更大的商业价值。
【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】