传统来说,Web 应用程序通常部署在 web 服务器上,运行在物理机器上。作过开发的人知道,运行软件的服务器是很复杂的。为了让应用程序运行在服务器上,须要花费数小时的时间下载、编译、安装、配置和链接各类组件。而且,机器的操做系统还须要不断升级并修补安全漏洞。管理服务器是一项耗时的任务,一般须要专门的系统,由专门的部门来操做。
/编译/ W
/原文做者/ Yos Riady 、Manjula Piyumal
*/原文连接/ https://dzone.com/articles/wi...
https://dzone.com/articles/wh...web
软件工程的重点是什么?
软件工程师的目标不是提供软件,虽然这可能与一部分人的想法相反,可是软件工程师的工做是提供价值——将软件的实用性交付给用户。数据库
因此说到底,服务器要的作的是提供软件。花费在管理服务器上的时间本来能够用来开发新功能和改进应用程序——与其担忧服务器,不如关注软件的打包封装。后端
当你有一个好的 idea 想要实现的时候,你最不想作的就是搭建基础设施。怎样才能将软件交付时间所带来的影响最小化呢?安全
在过去几十年中,网络和平台层(操做系统和应用程序之间的技术)的改进使云计算变得简单。服务器
早在20世纪90年代初,开发人员只能用裸机来运行他们的代码,得到新计算单元可能须要几天到几个月的时间。缩放资源须要很是详尽的计划才会进行,耗费大量时间,重点是还须要花费大量资金。因此,转变是必然的。虚拟机和管理程序提供的虚拟化技术,将配置新计算单元的时间缩短到了几分钟。而如今,容器能在几秒钟内为咱们提供新的计算单元。 网络
同时,DevOps 也逐渐发展成熟,IaaS 和 PaaS 供应商激增。经过这些第三方平台,用户就可让他们来维护代码的执行环境,从而将软件开发人员从服务器管理和部署中解放出来。 架构
今天,开发人员已经摆脱在物理服务器上部署应用的状态。与其在每一个服务器实例上手动下载和搭建一系列平台级技术(随后在扩展时也必须重复此过程),不如选择在 PaaS 平台上选择简单的 Web 用户界面,单击几个选项,让应用程序自动部署到配置彻底的群集。app
企业用户应用程序使用量增长,单击几个按钮就可添加容量。当须要额外的基础架构组件,或者须要设置部署 pipeline 或启用数据库备份时,都只要在同一个Web 界面单击几个按钮添加就可。框架
如今,PaaS 平台和云计算既方便又强大——但咱们还能够作得更好吗?less
企业如何无服务器化?——上云
云计算的下一个重大转变将是实现 “无服务器”。
“无服务器”这个短语并不意味着跟服务器无关,而是意味着开发人员不须要过多考虑服务器这个因素。计算资源能够像自来水那样按需付费,而无需考虑物理容量或限制,节省思考时间和劳务成本。
无服务器是一种软件开发方法,旨在经过如下方式解放基础架构管理人员:
► 使用托管计算服务(FaaS)来运行代码,
► 利用外部服务和 API(第三方 SaaS 产品)。
如今有大量的第三方服务:好比在线支付、交易邮件、用户分析、代码质量检测、内容管理、持续集成及其它问题都是利用 API 来处理的。平常工做中,还能够利用外部工具进行项目管理、文件共享、办公室管理等。
与其将宝贵资源用于搭建基础设施和维护服务器等,倒不如让开发人员更专一于企业核心产品。开发人员能够将预制件链接在一块儿,从应用程序中删除复杂性,不须要从头开始搭建。经过使用第三方服务,能够快速搭建松耦合、可扩展且高效的架构。
无服务器和 FaaS 平台是将基础设施问题委托给第三方公司的重要步骤。企业 DevOps 表现再出色,Google 或 Microsoft 都会作得更好。企业彻底能够享受现代容器架构所带来的益处,不必耗费大量资金或者花费数年时间自行从头搭建。
为何要无服务器化? 由于你能够随时进行封装啊~
无服务器定义
无服务器是当前软件架构模式中的热门话题之一。像许多软件工程中的其余术语或趋势同样,无服务器也没有明确的定义。接下来介绍一下无服务器的基本概念以及一些例子,此外还将一探无服务器的潜力。
无服务器体系结构是指,应用程序主要依赖于第三方服务(称为后端即服务“BaaS”),或自定义代码运行在临时容器中(功能即服务或“FaaS”)。因此,若是有运行应用程序,可是不须要自行维护或管理基础架构,并且资源按需付费(不须要支付闲置费用),同时还能够从资源供应商那里自动得到应用程序所需高可用性、可伸缩性和容错能力,那么就是在使用无服务器运行应用程序。应用程序运行在无服务器环境中,企业或者我的就能够把更多精力放在应用程序业务逻辑上,没必要担忧其运行的基础架构,以及应用程序的其余非功能性需求,例如高可用性、容错性和可扩展性。
无服务器只是炒做?
若是您是无服务器的新手,而且计划将其做为一种架构,其中最担忧的就是“无服务器”会不会只是一个炒做?的确,无服务器是当今热门话题,但看了它过去一段时间的发展,再思考它所涉及的技术,我我的认为它不是一个短时间炒做,至少将来3-5年内它都会是一个热点。无服务器技术可能会改变或被替代,但无服务器这个概念是不会的。
无服务器的前世此生
➤➤ “你必须了解过去才能理解如今。”——卡尔萨根
这是无服务器随着时间的推移而发生的变化:
➤ 1989-1991年——TimBerners-Lee 发明万维网
➤ 1991-1995年——裸机时代
➤ 1995年——虚拟主机的发明
➤ 1999年——Salesforce 推出了软件即服务(SaaS)概念
➤ 2001年--VMWare 发布 ESXi,“服务器虚拟化”成为了一件大事
➤ 2002-2006 - AWS 诞生了(IaaS),人们开始谈论“云计算”
➤ 2009年 - Heroku与“平台即服务”(PaaS)产生
➤ 2011年 - Envolve /Firebase,实时数据库即服务
➤ 2012年 - Parse.com 和第一个后端即服务(BaaS)
➤ 2013年 - Docker,“容器比虚拟机要好”
➤ 2013-2015 - Kubernetes / Swarm / Nomad /CoreOs(大规模容器)
无服务器的关键特性
无服务器应用程序有四个关键特性:
☞ ❶ 无需管理——对于无服务器应用程序来讲,运行不涉及任何物理服务器。
☞ ❷ 灵活伸缩——即便不了解物理服务器层,也没必要担忧其伸缩性。应用程序将分配到其所需的资源,以管理相应的容量(好比处理进程、内存、磁盘、数据库存储等)。
☞ ❸ 高可用性——冗余和容错是无服务器框架的内置功能,企业没必要保留本身的服务器,使应用程序高度可用。若是存在处理节点故障,框架会自动生成一个或多个新节点,根本感受不到有任何问题。
☞ ❹ 按需付费——在无服务器环境中,无需为闲置资源付费,这是成本考虑中的一个关键优点。
无服务器是将来发展趋势
无服务器是将来发展的趋势,提供云服务的第三方云供应商的目标是将无服务器推广到全部可能场景,并让他们的客户“生活”在温馨区,确保他们只须要关注他们的业务逻辑,并可以充分发挥其潜力。
无服务器目前是一个热门话题,确定会在将来几年内成为主流。未来,咱们无需担忧基础设施问题;完整软件生命周期将由云供应商提供。关于无服务器问题的这些问题部分都是有争议的,而没有具体的定义或答案。