当前位置: 首页 > 科技观察

Serverlessvscontainer,企业如何正确选择?

时间:2023-03-12 10:39:42 科技观察

对于开发人员和企业架构师来说,在不同的技术、框架或架构之间进行选择是他们日常工作的重要组成部分。特别是在当今复杂的企业应用环境中,软件开发的规则时刻都在变化。在软件开发之前,我们必须考虑系统架构和计算环境。尤其是serverless架构和容器架构,两者具体有什么区别?这已成为许多IT专业人士面临的重大挑战!亚马逊在2015年推出了无服务器计算服务Lambda,同年发布了Kubernetes。从技术本身来看,serverless和容器都具有吸引力。经过几年的同步发展,越来越多的企业希望将工作负载迁移到不同的云平台,并能够连接不同的平台。数据。因此,我们不仅要搞清楚Serverless架构和容器架构的优缺点,还要有一个更清晰的路线图,即企业应该在什么时候、什么条件下应用合适的架构。到整个架构设计。因此,接下来,我们将结合具体的用例来说明这两种架构所带来的不同价值。无服务器计算是一种软件架构模型,可帮助开发团队将基础设施或平台管理的成本降低到几乎为零。基本上,你只要把函数代码提供给AWS、谷歌云、微软Azure等云计算提供商,并规定只要我提出请求,函数就会为我运行,就可以了。我只关心你的服务,我不再维护基础设施、操作系统,也不再关心应用程序的可扩展性或可用性。云提供商为所有用户设置了限制,例如:执行时间和内存限制等。用户可能不知道函数在哪里执行,函数是如何隔离的,或者源代码是如何编写的。用户只需要根据自己的安全和合规策略选择可信云,并接受他们提供的服务即可。此外,Serverless上的工作负载不仅限于通过函数执行,还可以获得完全托管的Serverless,包括数据存储访问、身份验证机制等。因此,只要你的计算能力在执行速度、安全性、资源空间和单次操作成本等方面能够满足Serverless服务的要求,那么你就可以通过这种方式来加快企业的发展速度,增强业务的敏捷性。但是,如果你需要大量的计算能力,并且你有很多复杂的流程需要管理,并且生成函数的成本很高,这就是容器编排工具发挥作用的地方。这种封装计算逻辑的模式最大的好处就是避免了被某个云厂商的服务所束缚。当然,容器带来的好处还有很多,比如更高的安全性,我们可以制定更好的网络通信规则,自定义访问策略等。简而言之,通过将工作负载存储在云端,用户可以在自己的数据中心随意切换应用。笔者认为,明智的选择应该是结合这两种架构的不同特点,最大限度地提高开发效率和灵活性。对于比较关键的应用,我们要控制自己获取一个最大的资源池,包括CPU、内存、磁盘等。然后,一些相对不重要的外围应用可以通过第三方服务来完成。