C# 云、云计算和云优化堆栈
开始创建完全或部分运行在云上的应用程序只是时间问题,不再是“是否创建”,而是“何时创建”。决定程序的哪些组件运行在云中、云类型和云服务模型,需要一些调查、理解和计划。对于初学者,必须清楚什么是云。云只是运行在一个数据中心的大量商品化计算机硬件,这个数据中心可以运行程序,存储大量数据。区别是弹性,即动态向上扩展的能力(例如增加CPU和内存)和/或动态向外扩展的能力(例如增加虚拟服务器实例的数量),而收缩时似乎毫不费力。这与当前的IT运营格局完全不同,在当前的IT运营格局中,被区分开来的 计算机资源在公司的一个领域往往会部分或完全未使用,而在其他领域又严重缺乏计算机资源。云解决了这个问题:云可以在需要时提供对计算机资源的访问,在不需要它们时,就将这些资源提供给别人。对于个人开发者,云可以用于部署程序,向外界公布。如果程序比较受欢迎,就可以扩展它来满足资源需求;如果程序失败了,也不必耗费太多的金钱和时间来建立专用的计算机硬件和基础设施。
•公共云:公共云是共享云提供商拥有和运营的计算机硬件和基础设施,云提供商有Microsoft Azure、 Amazon AWS, Rackspace或IBM Cloud。对于中小企业而言,如果所管理的客户和用户要求不断波动,这种云类型将非常适合。
•私有云:这是位于现场或外包数据中心的专用计算机硬件和基础设施。这种云适用于大公司、必须提供更高级别数据安全性的公司以及政府机构。
•混合云:这是公共云和私有云的组合类型,在这种类型中,要选择IT解决方案的哪些部分在私有云上运行,哪些部分在公共云上运行。理想的解决方案是在私有云上运行对业务至关重要的、需要更高安全级别的程序,在公共云上运行不敏感、可能失效的任务。
•基础设施即服务(Infrastructure as a Service, laaS):要从操作系统开始向上负责。不负责硬件或网络设施;但负责操作系统补丁和第三方依赖库。
•平台即服务(Platform as a Service, PaaS}:只负贵运行在所选操作系统上的程序及其依赖项。不负责操作系统维护、硬件或网络基础设施。
•软件即服务(Software as a Service, SaaS):通过互联网访问设备使用软件程序或服务。例如,Office 365、Salesforce- OneDrive或Box,都可通过互联网连接在任意位置进行访问,并非只有将软件安装在客户端才能起作用。只需要负责运行在平台上的软件。
总之,云是一个商品化、弹性化的计算机硬件结构,用于运行程序。在混合云、公共云或私有云类型中,这些程序运行在IaaS、PaaS或SaaS服务模型上。
云编程就是开发运行在任何云服务模型上的代码逻辑。云程序应该具有可移植性、可伸缩性和弹性模式,改善程序的性能和稳定性。没有实现这些可移植性、可伸缩性和弹性模式的程序可运行在云中,但某些情况下,诸如硬件故障或网络延迟的问题可能导致程序执行意外的代码路径,并终止。
点击加载更多评论>>