2018 年软件开发前五大趋势 – Igor Lebedev,SONM 首席技术官
已发表: 2021-08-09到目前为止,2018 年对开发者来说是变革性的一年。 软件开发以新版本和更高质量的解决方案超越了自身,使计算机化任务比以往任何时候都更容易、更高效。 数据库现在能够在不中断的情况下量化大量信息,服务器作为系列而不是单个单元出售,并且区块链通过使用去中心化系统打开了大门。 以下是今年席卷科技界的前五个软件开发趋势:
大数据
企业和公共数据的不断增长导致传统数据库和存储工具不再能够使用和管理数据量的情况。 旧方法不再有效,因为亲眼目睹了 RDBMS(关系数据库管理系统)不再能够容纳一切。 这导致了新工具和方法的出现,但更重要的是,这导致了传统单体数据库主导地位的终结。 新方法是存储跨多个节点共享的数据。 核心数据仍然存储在传统的中心化数据库中,但更多的数据量单独存储,减少了单体数据库的份额。 2018 年大数据的挑战在于,它需要您以新的方式重写传统应用程序,以便处理大型数据池。
水平可扩展性
传统的扩展解决方案总是购买更新、更大的服务器。 这个新服务器将拥有更多的内核、模式缓存、更高的频率、更大的内存库、更快的总线和更多的磁盘。 但是,这种缩放解决方案具有局限性,并且已经达到了这些局限性。 普通服务器机箱最多可能有2个或4个CPU,不能无限制地添加CPU,因为不能提高频率。 在某些时候,垂直缩放达到了它的极限。 下一步是水平缩放。 这意味着您不必购买更大的服务器来替换旧服务器,而是购买一台或多台相同类型的额外服务器以添加到现有池中。 这种方法看起来更灵活,但需要不同的软件架构,并且再次要求您重写软件。 如果您这样做,您将获得更好的资源管理以及共享资源的能力。 在这里,我们将微服务、无状态执行和 Kubernetes 视为趋势。
权力下放
我们看到的世界变化,带来了新的挑战。 它们可能与政治、交付成本、信任或市场状况有关,但趋势仍然是公司倾向于分散其服务和软件。 内容交付网络在您的 ISP 部署服务器,SaaS 供应商在您所在的国家/地区开设 DC,企业则考虑灾难恢复。 这导致企业不再拥有一个单一的主数据中心,而是拥有两个或更多,同时要求他们的工程师考虑改变其应用程序架构的某些方面。
雾处理
数据处理的使用每天都在增加。 物联网在网络边缘生成越来越多的数据。 这些数据传统上是在 DC 或云中处理的。 然而,考虑到现代光线路速度很快,网络吞吐量逐年增加,数据量增长速度更快。 网络一直是全球信息处理的“瓶颈”。 如果不是技术上(通过带宽和延迟),那么经济上(通过每次传输的价格)。 目前,将您的数据仓库迁移到另一个 DC 的最快和最便宜的方法是调用货车并将 HDD 实际运送到新位置。 不,这不是开玩笑。

这导致了业界关于边缘和雾处理的创始理念——这意味着必须在本地处理尽可能多的数据。 领先的 IT 公司致力于研究在设备附近处理和提供数据的解决方案。 这种处理就是雾。 这有困难。 您不能只是从云中复制代码并希望它起作用,因为在云中所有数据都可以在本地访问,而在雾中,没有一个节点拥有所有数据,必须向周围的其他节点询问所需的信息。 它要求应用程序开发人员采用他们的架构并重写代码,以便以 MPP(大规模并行处理)方式解决任务。 这为重写代码和去中心化 IaaS 提供了另一个理由; 直到它成为一个有吸引力的平台来托管您的新生应用程序。
容错
我们生活在一个销售比生产更难的时代。 市场的共识增加,运行软件的公司考虑更好的 SLA 以获得优势并建立用户的信任。 根据前面提到的几点,单个系统组件发生故障的可能性大大增加。 不能依赖 Oracle 数据库集群处理崩溃的能力,因为大部分数据都存在于外部。 不再有几个超级可靠的双电源服务器,现在可以有 10 甚至 100 台服务器,并且单个节点故障的数学期望接近 1(一个,100%)。 有些事情可能会失败,企业必须通过查看他们的应用程序架构再次为此做好准备。 世界,尤其是 IT 正在不断变化,并以惊人的速度发展。 较旧的方法不起作用。 公司正在以大数据、水平可扩展性、去中心化和雾处理为核心来重写他们的软件。 工程师一直牢记应用程序方面的容错能力。
这些软件开发趋势导致对硬件及其可用性的新要求的出现,这对于单节点故障不太重要,并且具有更多的水平扩展选项。 当我们展望未来时,我们预计会有更多的进一步发展趋势,这有望跟上我们不断发展的技术和对更大硬件支持的需求。
关于伊戈尔·列别杰夫:
Igor Lebedev 是计算机科学领域的专家,拥有超过 15 年的 IT 经验。 他的专长在于经典系统架构、系统类、数据库、雾计算、自动交易系统、智能合约和微电子。 Igor 自 2017 年 7 月起担任 SONM 开发团队的 CTO 和负责人。 .
