- 概念:Amazon Web Servies, 亚马逊云科技 - 云计算平台 。
- 背景介绍:
早在十几年前 ,云计算的概念被提出,当时还没有一个清晰的定义或者描述。基本思想是替代现有的部署结构,但是如何提供服务,确保数据的安全性,稳定性,可靠性还没有清晰明确的目标。
亚马逊把亚马逊云科技做成了一套具有自身生态系统的环,联合大学,培训亚马逊云科技课程,提供资质认证考试。非常友好的培训资料,视频教学,免费的使用学习环境。都给市场的从业人员带来了良好的学习环境。也因此,使用学习亚马逊云科技的人可以拥有从事相关工作的机会。
1)点击创建亚马逊云科技账户(输入邮箱和账户名):
9)安全检查,输入验证码。
10)登录进入亚马逊云科技控制台
到这里,我们已经完成了免费账号的建立和登录工作。下一步就是开始学习使用亚马逊云科技。从下一篇文章开始,我会先开始介绍一些亚马逊云科技的某些基本概念。了解这些基本概念对于正确理解和使用亚马逊云科技服务是必不可少的。
亚马逊云科技为我们提供了免费的使用学习环境,都给市场的从业人员带来了良好的学习环境。也因此,使用学习亚马逊云科技的人可以拥有从事相关工作的机会。
5)课程安排如下:
什么是云计算?
云计算通过互联网按需提供IT资源,并且采用按使用量付费的定价方式。您可以根据需要从云提供商那里获得技术服务,例如计算能力、存储和数据库,而无需购买、拥有和维护物理数据中心及服务器。
公有云:
- 无前期投资
- 低持续成本
- 集中精力在创新上
- 灵活的容量
- 速度和敏捷性
- 全球范围内按需提供
私有云:
- 较大的前期投资
- 人工、补丁和升级周期
- 系统管理
- 固定容量
- 较长的采购周期和安装
- 有限的物理地域
今天从宽泛的角度谈谈亚马逊云科技的分布式概念。首先,亚马逊云科技是一个基于分布式架构构建的云服务,我想这一点是最清楚最明白,人人皆知不过的了。但是,当我们开始使用亚马逊云科技以后就会发现分布式远不像我们想象中那么清晰,而是经常会忘记,并且需要时时提醒自己我正在使用的是一个分布式系统。当我们后面讨论一些亚马逊云科技当中最流行的服务,比如DynamoDB,比如S3,我们会涉及到一个很有趣的概念,叫做consistency。我们会需要深入理解eventually consistency的概念,和使用这样的服务时需要克服的一些陷阱。而这些问题的出现,都是因为亚马逊云科技是一个分布式的系统。
什么叫分布式系统?按照维基百科的定义:
分布式系统是一种系统,其组件位于不同的联网计算机上,这些计算机通过相互传递消息来通信和协调其动作。这些组件相互交互以实现一个共同的目标。分布式系统的三个重要特征是:组件并发,缺少全局时钟和组件独立故障。
亚马逊云科技可以带给我们很多好的使用特性,可以说都是借助于分布式系统完成的。比如,亚马逊云科技可以动态调整我们要使用的资源。只有在我们使用的资源不够时才会分配给我们更多的资源,以达到节省费用的目的。那么正是因为亚马逊云科技的基础架构是基于多个小的组件完成的,使得亚马逊云科技提供动态分配资源的功能。还有很多很多特性都是基于分布式系统带来的好处,在这里先不细说。
我们先来从最高层理解一下亚马逊云科技是怎么体现出分布式的。首先,我们应该注意到亚马逊云科技里的region的概念。如果我们打开亚马逊云科技 console界面右上角在 “support” 左边的region下拉菜单,我们可以看到所有的亚马逊云科技已经部署了的region。每一个region的信息包括 “大地区 (小地区)region名称”,比如 “US East (N. Virginia) us-east-1”,大地区是美国东部,小地区是弗吉尼亚北部,region名称是us-east-1。当我们使用亚马逊云科技服务时,第一要选择的就是region,也就是说我们要使用哪个region里的该服务。这里要考虑的问题包括与该服务交互的其他服务会部署在什么region里,我们会倾向于将互相通信的服务部署在相同的region,这样减少他们之间通信的时延。第二要考虑我们要使用哪些服务,因为有些服务只部署在了某些region里。第三要考虑亚马逊云科技服务使用者所在的区域。比如我们使用亚马逊云科技部署一个web portal,假如我们的目标客户基本以中国大陆为主,我们当然应该选择一个离我们近的region,比如日本,韩国,新加坡等。
再下来的一个概念是Availability Zones,也就是可用区,或者也叫AZ。亚马逊云科技几乎所有的服务不会只部署在region的一个区域里,而是至少部署在region的两个及以上的区域里,并且可用区之间要求一定的距离。这样做的好处明显是提高了服务面对物理破坏带来的服务瘫痪的危险,比如地震,网线被破坏,等等。对于某些服务在建立的时候我们会被要求指定要使用那些AZ,us-east-1a,us-east-1b,us-east-1c就是在ue-east-里的3个AZ。还有相当多的服务是不需要用户指定AZ的,而是AWS会自动分配AZ,但是肯定是2个或以上。
当我们访问某个服务时,该服务的功能将由所有在该region上的部署了该服务的AZ共同完成。以后在我们谈到更具体的亚马逊云科技服务时,我们再详细谈一些由分布式带来的好处和陷阱。
亚马逊云科技云服务的产品有很多(如图一所示),每一种产品都有特殊用途,一般情况下我们需要将不同类型的产品组合在一起(如图二所示)才能够构建一个可扩展,高性能,可容错的系统,因此这一章的内容将介绍亚马逊云科技经常被使用的服务。
EC2(Elastic Compute Cloud)是亚马逊云科技非常基础的一款服务,其主要功能是提供计算服务,比如你可以通过亚马逊控制台自己创建一个EC2资源,你可以把这个计算资源看成一台虚拟机,它能够计算,能够读写存储,能够通信。你可以同时创建多个EC2资源,这些EC2可能运行在一台物理机器上也可能分布在多台物理机器上。
通过以上描述,你可以把计算资源想象成有多台物理设备放在一起形成了一个整体,这个整体拥有了强大的运算能力,而这些运算能力可以通过成千上万个EC2资源进行分解,并独立地提供给想要使用的企业或个人。当企业或个人不需要这些计算资源的时候就可以将其释放给其它企业或个人使用。
EC2是一台虚拟机,它能够运行Python写的程序,能够运行数据库,能够运行网页应用比如digolds.cn就是运行在亚马逊云科技的EC2上的。在现实的项目中,EC2一般是用来运行程序的,因此你可以使用C++、C、JavaScript、Java、Python、Ruby等等语言来编写程序,然后在EC2上准备程序依赖的运行环境,此时EC2就可以运行这个程序。
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,这个服务的特性是具有可扩展性、数据可用性、安全性和高性能。通过S3,我们可以把文件以对象的形式存进去并得到一个唯一标识这个文件的Key,通过这个Key便可以从S3中获得该文件的内容。这个对象除了文件内容本身,还包括描述该文件的元数据(比如该文件的大小)。比如我们向S3中存储了大小为23KB的文件,那么S3中将有一个对象包含了23K以及该文件内容。
Amazon CloudFront 是一个基于云的内容交付网络(CDN),提供并与亚马逊 Amazon Web Services 套件集成。由亚马逊网络服务系统提供基础服务的一个内容分发网络。其在欧洲、亚洲、北美、澳洲、南美、美国多个主要大城市多地拥有自己的数据中心,共 107 个网络边际服务点提供服务。
Amazon CloudFront 内容交付网络允许通过在主要商业中心运营的区域中心全球分发数字内容。它减少了通过其分布式内容传递通道访问静态和流数据的延迟,这确保了数据从最近的 CDN 服务器传递给收件人。Amazon CloudFront 是一种即用即付模式,可以轻松地与所有 Amazon Web Services 集成。
Amazon CloudFront 专为需要向亚马逊许多不同区域用户快速传送内容的 Web 发布公司和应用程序而设计。Amazon CloudFront 通过在其不同的 CDN 位置缓存每个对象的实例来运行,从而减少了传递内容所需的时间。
Amazon CloudFront 通过支持的应用程序编程接口访问 Amazon S3 中的数据,并将其置于区域数据存储区中。其他亚马逊网络服务,包括亚马逊 EC2,也可以通过 EC2 处理流数据并通过 CloudFront 将其传递给最终用户。与所有其他亚马逊网络服务产品一样,CloudFront 具有可扩展性,灵活性,可作为即用即付服务提供。
VPC是AWS提供的一种虚拟网络服务,其它AWS资源都可以放在这个虚拟网络里构成一个逻辑单元,这个逻辑单元作为一个完整的服务提供给外部世界使用。当你使用VPC服务的时候,就需要使用其提供的gateways, route tables, network access control lists (ACL), subnets and security groups等功能,通过这些功能来配置虚拟网络。
此时去浏览器输入:,可以访问到发布页面即可 。
- 创建一个名为 test 的数据库。 ,,,此时在浏览器输入,就会自动进入配置页面。【注意:访问浏览器时使用的是公网ip,在控制台上连接时使用的是私网ip】,点击左下角的进入,就可以进入到配置页面。
- 进入后的数据库名称处就是前面创建的数据库,用户名和密码可以使用管理员的,也可以创建新的;在 database host处,需要将数据库的 endpoint复制进去,其他默认,点击提交;提交后会提示没有写的权限,将所显示的代码复制,点击run。此时需要回到控制台,进入 s目录,,将刚才复制的内容写入,然后再回到留恋其页面,点击run即可。
- 此时就进入到了这个 博客站点,这里需要自定义名称。输入用户名,这里的密码是随机生成的,需要自己保存,输入邮箱后,点击 即可。
- 此时就可以登录进入,可以点击 ,写一些内容,然后发布。此时进入数据库查看,会发现自动创建了一些表格:,。
亚马逊云科技的视频资料细致且丰富:
- 学习到云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。
- 学习到 亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务Amazon Relational Database Service (RDS)
- 学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。
- 学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 如何授权给 EC2 实例,允许其访问 S3 上的资源。
- 学会使用 Amazon CloudWatch,Amazon EC2 Elastic Load Balancing (ELB) , Auto Scaling,在亚马逊云科技上构建一个弹性高可用的架构,讲师会通过演示带领您完成这个弹性高可用架构的构建过程。最后本模块会向您介绍什么是 Well Architected Framework(WAF),对本系列课程做一个总结,提供进一步的学习路径,方便您学习在云平台上构建微服务架构、无服务器应用、大数据应用等。
更多开发者相关内容推荐:
- 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。
- 构建者库:了解亚马逊云科技如何构建和运营软件。
- 开发工具包
根据亚马逊云科技的政策,所有的个人用户可以创建一个为期1年的免费账号并且还有一部分永久免费套餐可以使用,足够满足新手练习亚马逊云科技所有的需求!!!
创建用户指南将引导您设置 亚马逊云科技 账户和开发环境。让 亚马逊云科技 账户交互并预置以编程方式构建系统所需的任何资源。