单页应用(Single-Page Application,SPA)
云原生基础
云原生全景内容宽泛,以至于刚开始就极具挑战性。
云原生应用是高度分布式系统,它们存在于云中,并且能够对变化保持韧性。系统是由多个服务组成的,服务之间通过网络进行通信,并且会部署到一个一切都在不断变化的动态环境中。
云原生是一种旨在利用云技术的应用开发方式
云原生的3P
什么样的应用才能算是专门为云环境设计的呢?云原生计算基金会(Cloud Native Computing Foundation,CNCF)在对云原生的定义中回答了这个问题
原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
3P":
平台(Platform):云原生应用运行在基于动态化、分布式环境的平台上,也就是云(公有云、私有云和混合云)中。
属性(Property):按照设计,云原生应用是可扩展、松耦合、有韧性、可管理和可观测的。
实践(Practice):围绕云原生应用的实践包括可靠的自动化,以及频繁且可预测的变更,即自动化、持续交付和DevOps。
云和云计算模型
在关注我们的主角(云原生应用)之前,我想要先介绍一下我们这个旅程的发生地,也就是云原生应用的运行环境------云如图所示
云是一种IT基础设施,其主要特征是具有不同的计算模型,供应商会按照消费者所需的控制程度以服务的形式提供,云是一种能够按照云计算模型向消费者提供计算资源的IT基础设施。美国国家标准与技术研究院(National Institute ofStandards and Technology,NIST)是这样定义云计算的
云计算是一种模型,能够实现按需在任意位置对可配置的计算资源(如网络、服务器、存储、应用和服务)共享池进行便利的网络访问,这些计算资源可以快速获取和释放,并且要尽可能减少管理成本以及与服务供应商的沟通交流。云基础设施应该放在哪里,以及由谁来管理,并没有严格的要求。交付云服务的部署模型有多种,主要是私有云、公有云和混合云。
云基础设施应该放在哪里,以及由谁来管理,并没有严格的要求。交付云服务的部署模型有多种,主要是私有云、公有云和混合云。
私有云:提供的云基础设施只能由一个组织使用。它可以由组织自身或第三方进行管理,可以托管在企业内部或企业外部。对于处理敏感数据和高度关键系统的组织来说,私有云通常是首选方案。如果要完全控制基础设施的合规性,以符合特定的法律和要求,比如,通用数据保护条例(General DataProtection Regulation,GDPR)或加利福尼亚消费者隐私法案(California Consumer Privacy Act,CCPA),私有云也是一个常见的选择。例如,银行和医疗机构很可能会建立自己的云基础设施。
公有云:提供的云基础设施可公开使用。它通常属于某个组织,并由其进行管理,也就是所谓的云供应商,基础设施由供应商托管。公有云服务提供商如Amazon WebServices(AWS)、Microsoft Azure、Google Cloud、Alibaba Cloud和DigitalOcean。
混合云:由上述任意类型的两个或更多不同的云基础设施组合而成,并且在提供服务的时候,就像是来自一个环境一样。
总结
云原生应用是高度分布式系统,专门为云环境设计,而且会在云中运行。
云是一种IT基础设施,以商品的形式提供计算、存储和网络资源。在云中,用户只须为实际使用的资源付费。