关于云计算:SaaS技术栈有多复杂

53次阅读

共计 1783 个字符,预计需要花费 5 分钟才能阅读完成。

【特地申明:本文基于 Tools and Services I Use to Run My SaaS 进行批改。】

软件 SaaS 化因为须要考量架构的各个方面,所以须要的技术栈十分全面。
以一个客户治理 SaaS 利用为例,可能波及的技术栈包含:

开发

开发就是把零碎做进去的意思。开发波及编码、项目管理、测试等多个环境。其中为了创作一个产品,不仅仅是本人编写代码,还须要引入大量的第三方库或开发框架,帮忙本人疾速构建利用。

在软件开发的畛域,有人将它与制造业进行了一个类比,发现有殊途同归之妙。因而,软件生产,软件供应链等类比词汇开始风行。

  • 后端:Java, Maven 等。
  • 前端:JS, Vue 框架,Bootstrap 界面,SCSS,Webpack,Express,Babel,Hugo 等。
  • API:node-canvas,Java web 等。
  • 库:ffmpeg,popper 等。
  • IM:Crisp。
  • 开发工具:VSCode,prettier(代码排版丑化)。
  • 项目管理:Trello,Kanban,禅道。
  • 文档合作:语雀,Notion,Typora。
  • 调试:Postman。

云设施

能够选用一站式云设施提供商,如 Azure,AWS,阿里云等,也能够选用各个领域的业余服务商。

  • 云服务器:Azure,AWS,阿里云,DigitalOcean 等。
  • 域名零碎:Namecheap。
  • 动态托管:Netlify。
  • 邮件推送:Postmark,SendGrid。
  • 短息推送:OneSignal。

数据存储

数据库存储包含数据库、缓存和对象存储集中形式。数据库用于存储结构化的业务数据和系统配置数据,缓存用于晋升利用的访问速度,对象存储用于存储非结构化数据(文档、图片和视频音频等)

  • 数据库:MySQL,PostgreSQL。
  • 缓存:Redis。
  • 文档数据库:MongoDB。
  • 对象存储:minio。
  • 日志数据库:InfluxDB。

运行环境

  • 操作系统:CentOS。
  • HTTP 服务器:Nginx。
  • 负载平衡:HAProxy。
  • 过程治理:Systemd, PM2。
  • Web 服务器:Tomcat。

Devops 工具

SaaS 零碎须要应答疾速迭代的业务,部署必须引入 DevOps 工具,以晋升部署的效率。

  • 主动配置软件环境:Ansible 或 Terraform。
  • 构建工具:Jenkins。
  • 代码仓库:Gitlab 或 Github。
  • 镜像制作工具:Packer。

日志 & 监控

传统个的单机部署利用,监控往往投入较少,大部分时候都是被动的事件响应机制。而 SaaS 软件因为其多租户的特殊性,提前发现问题显得十分的重要,因而监控业务也是工作的重点之一。

  • 全栈工具:ELK。
  • 日志剖析:Grafana,Graylog。
  • 采集转发:Telegraf。
  • 谬误跟踪:Sentry,Statuscake,Papertrail。

利用剖析

利用剖析简称 APM,是指应用程序性能治理或应用程序性能监督,是帮忙优化和监督应用程序性能的必要工具。在 IT 基础架构畛域,APM 曾经是十分成熟的商业市场。

  • 用户拜访剖析:百度统计,Google Analytics,Matomo。
  • 应用程序性能剖析:OpenAPM。
  • 代码级性能剖析:Stackify Retrace, New Relic, AppDynamics, and Dynatrace。
  • 网络性能剖析:Extrahop。

领取

全方面反对企业用户的各种付款形式,包含:PayPal、信用卡、微信领取、支付宝等,也能够应用一种集成化的两头领取平台解决所有的领取形式,例如:Stripe

设计工具

  • 原型设计工具:Sketch,Axure。
  • 原型设计平台:墨刀、Figma。
  • 图标库:Boostrap,Font Awesome,Nucleo。

另外,还须要一些图片压缩工具,图片格式转换工具。

通过以上技术栈,咱们发现大部分都是开源组件,也有少部分收费(或靠近收费)的 SaaS 和 PaaS 类服务。搭建一个 SaaS 化利用,须要从如下几个角度开始工作:

  1. 构造业务,剖析技术栈;
  2. 迭代式开发,疾速实现业务性能;
  3. 迷信应用各种不同的组件;
  4. 组件之间的集成;
  5. 引入 DevOps 实际;
  6. 服务器运维;
  7. 平安。

SaaS 利用是一个宏观架构,对产品经理的业务能力、技术能力和哲学思考能力提出了极高的要求。如果 SaaS 我的项目的产品经理不具备宏观思维,没有全栈的开发教训,那么结构一个 SaaS 利用简直是不可能实现的工作。
本文由 Websoft9 原创公布,转载请注明出处。

正文完
 0