传统模式下,如果有一家企业想要开发一款软件,需要准备以下资源:
① 服务器资源:开发的软件需要部署在服务器上,需要相应的服务器资源,如硬件、网络带宽、操作系统、数据库等。包括:
硬件设备:包括物理服务器、存储设备、网络设备等。
自建或租赁机房:服务器需要一定的空间来存放硬件设备、机柜、配线架、电源等。
操作系统资源:操作系统是服务器上运行软件程序的基础,包括Windows Server、Linux等。
应用程序资源:应用程序是运行在服务器上的软件,包括Web服务器、数据库服务器等。
数据库资源:数据库是存储数据的软件,包括MySQL、Oracle、SQL Server等。
网络资源:网络资源包括网络带宽、网络拓扑结构、安全防护等。
其他资源:对服务器的电力供应、专业的管理和运维团队等。
② 开发资源:电脑、开发工具(编辑器、编译器等)、API和开发文档、开发团队和资金等
而在云计算模式下,该企业无需自购服务器资源,可以按需付费租赁云服务提供商(阿里云、腾讯云等)拥有和管理的服务器资源,直接投入软件的开发。
企业或个人可根据自身的建设预算、IT基础、安全性和合规性要求等,选择哪种云服务模式和云部署形式。
常见的三种云服务模式:IaaS、Paas、Saas(X as a Service),区别是服务范围不同,IaaS提供基础设施级别的服务,PaaS提供平台级别的服务,SaaS提供软件应用程序级别的服务。
IaaS(Infrastructure,基础设施即服务):提供基础设施级别的云服务,包括计算、存储、网络等资源。IaaS提供商如亚马逊AWS、谷歌云平台和微软Azure等,用户需要自己部署和管理操作系统和应用程序。
PaaS(Platform,平台即服务):提供应用程序的开发、测试、部署和管理等完整的平台级别的服务。PaaS提供商如谷歌App Engine、微软Azure App Service和IBM Bluemix等,用户只需要关注应用程序的开发和运行,而不需要担心底层的基础设施。
SaaS(Software,软件即服务):提供基于互联网的软件应用程序,用户可以通过浏览器或API访问这些应用程序。SaaS提供商如Salesforce、Slack和Zoom等,用户只需要使用应用程序,不需要管理底层基础设施和平台。
下表列出了IaaS、PaaS、SaaS三种云服务类型的服务范围及对比,包括提供的资源类型和服务内容:
云服务类型提供的资源类型服务内容IaaS(基础设施即服务)虚拟化的计算、存储、网络资源提供基础设施,用户负责安装、配置和管理操作系统、应用程序和中间件等内容PaaS(平台即服务)操作系统、数据库、Web服务器等基础设施资源提供基础设施和中间件,用户负责开发、部署、运行和管理应用程序SaaS(软件即服务)应用程序和数据提供完整的应用程序和数据,用户只需使用即可,无需担心底层基础设施和中间件的管理和维护