当前位置: 首页 > news >正文

无服务器化是企业 IT 架构的未来吗?

传统来讲,Web 应用程序一般部署在 web 服务器上,运行在物理机器上。做过开发的人知道,运行软件的服务器是很复杂的。为了让应用程序运行在服务器上,需要花费数小时的时间下载、编译、安装、配置和连接各种组件。并且,机器的操作系统还需要不断升级并修补安全漏洞。管理服务器是一项耗时的任务,通常需要专门的系统,由专门的部门来操作。
/编译/ W
/原文作者/ Yos Riady 、Manjula Piyumal
*/原文链接/ https://dzone.com/articles/wi...
https://dzone.com/articles/wh...

软件工程的重点是什么?
软件工程师的目标不是提供软件,虽然这可能与一部分人的想法相反,但是软件工程师的工作是提供价值——将软件的实用性交付给用户。

所以说到底,服务器要的做的是提供软件。花费在管理服务器上的时间原本可以用来开发新功能和改进应用程序——与其担心服务器,不如关注软件的打包封装。

当你有一个好的 idea 想要实现的时候,你最不想做的就是搭建基础设施。怎样才能将软件交付时间所带来的影响最小化呢?

在过去几十年中,网络和平台层(操作系统和应用程序之间的技术)的改进使云计算变得简单。

早在20世纪90年代初,开发人员只能用裸机来运行他们的代码,获得新计算单元可能需要几天到几个月的时间。缩放资源需要非常详尽的计划才会进行,耗费大量时间,重点是还需要花费大量资金。所以,转变是必然的。虚拟机和管理程序提供的虚拟化技术,将配置新计算单元的时间缩短到了几分钟。而现在,容器能在几秒钟内为我们提供新的计算单元。

同时,DevOps 也逐渐发展成熟,IaaS 和 PaaS 供应商激增。通过这些第三方平台,用户就可以让他们来维护代码的执行环境,从而将软件开发人员从服务器管理和部署中解放出来。

今天,开发人员已经摆脱在物理服务器上部署应用的状态。与其在每个服务器实例上手动下载和搭建一系列平台级技术(随后在扩展时也必须重复此过程),不如选择在 PaaS 平台上选择简单的 Web 用户界面,单击几个选项,让应用程序自动部署到配置完全的群集。

企业用户应用程序使用量增加,单击几个按钮就可添加容量。当需要额外的基础架构组件,或者需要设置部署 pipeline 或启用数据库备份时,都只要在同一个Web 界面单击几个按钮添加就可。

现在,PaaS 平台和云计算既方便又强大——但我们还可以做得更好吗?

企业如何无服务器化?——上云
云计算的下一个重大转变将是实现 “无服务器”。

“无服务器”这个短语并不意味着跟服务器无关,而是意味着开发人员不需要过多考虑服务器这个因素。计算资源可以像自来水那样按需付费,而无需考虑物理容量或限制,节省思考时间和劳务成本。

无服务器是一种软件开发方法,旨在通过以下方式解放基础架构管理人员:
► 使用托管计算服务(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(大规模容器)

无服务器的关键特性
无服务器应用程序有四个关键特性:

☞ ❶ 无需管理——对于无服务器应用程序来说,运行不涉及任何物理服务器。

☞ ❷ 灵活伸缩——即使不了解物理服务器层,也不必担心其伸缩性。应用程序将分配到其所需的资源,以管理相应的容量(比如处理进程、内存、磁盘、数据库存储等)。

☞ ❸ 高可用性——冗余和容错是无服务器框架的内置功能,企业不必保留自己的服务器,使应用程序高度可用。如果存在处理节点故障,框架会自动生成一个或多个新节点,根本感觉不到有任何问题。

☞ ❹ 按需付费——在无服务器环境中,无需为闲置资源付费,这是成本考虑中的一个关键优势。

无服务器是未来发展趋势
无服务器是未来发展的趋势,提供云服务的第三方云供应商的目标是将无服务器推广到所有可能场景,并让他们的客户“生活”在舒适区,确保他们只需要关注他们的业务逻辑,并能够充分发挥其潜力。

无服务器目前是一个热门话题,肯定会在未来几年内成为主流。将来,我们无需担心基础设施问题;完整软件生命周期将由云供应商提供。关于无服务器问题的这些问题部分都是有争议的,而没有具体的定义或答案。

相关文章:

  • Fiddler证书安装(查看HTTPS)
  • 算法之广度优先搜索
  • 常用的集成学习方法
  • SpringMVC-异常处理器
  • IDEA安装Go,创建Go项目
  • 文件操作之File 和 Path
  • Linux虚拟机中搭建PHP服务
  • 使用IDEA部署项目到远程服务器
  • 使用lottie 模仿san的动画
  • Python3求英文文档中每个单词出现的次数并排序
  • 【享受工作系列】我们为什么工作之自我意识管理
  • 深入理解spring生命周期与BeanPostProcessor的实现原理
  • JS基础学习
  • 一个可以更好地调试的 Perl 模块
  • 系统认识JavaScript正则表达式
  • 【EOS】Cleos基础
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Fastjson的基本使用方法大全
  • golang中接口赋值与方法集
  • Hibernate最全面试题
  • java多线程
  • js ES6 求数组的交集,并集,还有差集
  • JS字符串转数字方法总结
  • Lucene解析 - 基本概念
  • Meteor的表单提交:Form
  • mysql 数据库四种事务隔离级别
  • oldjun 检测网站的经验
  • orm2 中文文档 3.1 模型属性
  • Python连接Oracle
  • Ruby 2.x 源代码分析:扩展 概述
  • spring + angular 实现导出excel
  • 基于组件的设计工作流与界面抽象
  • 如何优雅地使用 Sublime Text
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 跳前端坑前,先看看这个!!
  • 微信支付JSAPI,实测!终极方案
  • 延迟脚本的方式
  • 一个SAP顾问在美国的这些年
  • 用Visual Studio开发以太坊智能合约
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (003)SlickEdit Unity的补全
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2)Java 简介
  • (九)信息融合方式简介
  • (一) springboot详细介绍
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转) ns2/nam与nam实现相关的文件
  • 、写入Shellcode到注册表上线