在容器技术(尤其是 Kubernetes)出现之前,企业依赖于单体应用栈来部署应用和服务。LAMP(Linux、Apache、MySQL、PHP)就是单体应用栈的一个很好的例子。几十年来,该栈一直在助力企业发展。
但是,正如我们所说,进化会发生,而且发生得非常快。
如今,完整技术栈的出现速度与简单应用程序 最近的手机号码数据 的出现速度一样快。开发人员不断将零散的技术碎片以更具创意的方式组合在一起,直到市场充斥着各种全新且不同的技术栈。
当然,这引出了我们的第一个疑问。
什么是技术栈?
简而言之,技术栈是编程语言、框架和工具的组合,它们结合在一起使开发人员能够构建 Web 或移动应用程序和服务。
我们以 LAMP 技术栈为例。这个非常流行的技术栈包括:
- 一种编程语言(具体来说,一种用于 CGI 脚本的语言)– PHP
- Web 服务器 – Apache
- 操作系统 – Linux
- 数据库 – MySQL 或 MariaDB
借助此堆栈,我们可以为多种用途部署功 通过有线线路连接到互联网 能强大且动态的应用程序。然而,这种组合并非构建所有堆栈的事实上的标准。
在当今的移动时代尤其如此。如今,软件工程师需要能够以比 LAMP 技术栈更快的速度开发和部署应用程序。这正是框架发挥作用的地方。加入框架后,工作效率更高,冗余更少。
更现代的堆栈可以分为 7 个不同的类别。每个堆栈或服务都可以堆叠在其他堆栈/服务之上,从而创建健壮且完整的应用程序或服务。
操作系统/编程语言
这将是构建其他所有技术栈的基础堆栈。对于此堆栈,您必须选择操作系统以及项目所需的编程语言。您选择的操作系统主要取决于您的适应程度或您将使用的其他堆栈的要求。在许多情况下,技术堆栈中最流行的操作系统是 Linux。
另一方面,编程语言将由项目决定。您以 布韦岛商业指南 使用Java、JavaScript、.NET、C++、Ruby、Python或任何可以开发应用程序或服务的语言。
服务器和负载平衡
这里的类别涉及服务器以及用于内容分发网络、路由、缓存服务、资源管理、RBAC 和基础服务(例如计算、存储和网络)的硬件/软件。这种特定的堆栈使应用程序和服务能够接收来自用户和应用程序的请求,平稳运行,并随着需求的增长而扩展。AzureStack 就是一个例子,它包含一个负载均衡组件。