初识云计算和DevOps,了解其基本概念。先介绍云计算基本概念以及什么是私有云,公有云,什么是Iaas,Paas,Saas等科普知识。然后介绍DevOps的历史以及DevOps是什么,让大家认识云计算和DevOps

云计算

什么是云计算

狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以,“云”就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以。

广义上说,云计算是与信息技术、软件、互联网相关的一种服务,这种计计算,存储,网络等资源共享池叫做“云”,云计算把许多计算资源集合起来,通过软件实现自动化管理,只需要很少的人参与,就能让资源被快速提供。也就是说,计算能力作为一种商品,可以在互联网上流通,就像水、电、煤气一样,可以方便地取用,且价格较为低廉。

云计算的特点和优势

1、虚拟化技术。

2、动态可扩展。

3、按需部署。

4、灵活性高。

5、可靠性高。

6、性价比高。

云计算的服务类型

云计算是将计算资源等产品服务化,常规服务类型有laas、Paas、Saas 除此而外,还有Xaas、BaaS、DaaS等新兴概念。

常规服务

  •   软件即服务(SaaS):消费者使用应用程序,但并不掌控操作系统、硬件或运作的网络基础架构。是一种服务观念的基础,软件服务供应商,以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组账号密码。例如:Microsoft CRM与Salesforce.com。代表提供商如http://Salesforce.com、ERP系统、OA系统、Google Apps、苹果iCloud等等。
  •   平台即服务(PaaS):消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或运作的网络基础架构。平台通常是应用程序基础架构。例如:Google App Engine。
  •   基础设施即服务(IaaS):消费者使用“基础计算资源”,如处理能力、存储空间、网络组件或中间件。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载平衡器等),但并不掌控云基础架构。例如:Amazon AWS、Rackspace。常见的IaaS服务提供商如亚马逊AWS(Amazon Web Service)、阿里云服务器、腾讯云服务器等。

新兴服务

  • XaaS一词是「一切即服务(Everything/Aanything as a Service)」的简称,用于描述与云计算和远程访问服务的大类术语。随着云计算技术的发展,不同供应商为客户提供通过网络或类似的网络不同种类的服务。从这个意义上说,所有的云服务都叫XaaS。

  • BPaaS,即Business Process as a service,业务流程即服务,是按预定步骤完成交付到云平台上的业务任务的过程,例如在云平台上为制造业企业完成"从下订单到收取现金"这样的流程。

  • BaaS与DaaS

    • BaaS(Backend as a Service,后端即服务)是另一种云服务,连接移动应用和它的后端系统的新模型,包括云端数据/ 文件存储、账户管理、数据采集,运营分析,消息推送、社交媒体整合等。

    • DaaS(Data as a Service,数据即服务)也是继IaaS、PaaS、SaaS之后发展起来的一种新型服务。通过对数据资源的集中化管理,并把数据场景化,为企业自身和其他企业的数据共享提供了一种新的方式。通过使用DaaS服务,让不同企业之间的数据资源流通起来,发挥数据的最大价值,通过分工协作提高企业竞争力。

  • 除了上文提到的几种XaaS服务,还有许多其他的服务模式,如aPaaS(Application Platform as a Service,应用程序平台即服务),CaaS(Content as a Service,容器即服务),FaaS(Function as a Services,功能即服务),AI PaaS(Artificial Intelligence Platform as a Service,人工智能平台即服务)等等。

云计算分类

  • 公有云(AWS,阿里云,Azure等)
  • 私有云(Vmware、HP、IBM等)
  • 混合云(Azure,Rackspace)

公有云

  • 云服务提供商对基础设施维护
  • 多租户
  • Pay For Use

私有云

  • 自己维护云基础设施
  • 单租户或狭义上的多租户
  • Pay For Cloud

混合云(专属云)

  • 云服务提供商维护自己的云设施
  • 用户范围内租户隔离
  • Pay For Use of Cloud

DevOps

什么是DevOps

简单理解:DevOps = Development + Operations

DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过需要澄清的一点是,从开发到运维,中间还有测试环节。DevOps其实包含了三个部分:开发、测试和运维。

DevOps完整研发周期

DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。专家们总结出了下面这个DevOps能力图,良好的闭环可以大大增加整体的产出。

怎么看待DevOps

回顾软件行业的研发模式,可以发现大致有三个阶段:瀑布式开发、敏捷开发、DevOps。

DevOps今天的快速发展和应用得益于有越来越多的技术支撑。微服务架构理念、容器技术使得DevOps的实施变得更加容易,计算能力提升和云环境的发展使得快速开发的产品可以立刻获得更广泛的使用。

DevOps硬性要求:工具上的准备

上文提到了越来越多的技术支撑,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下:

  • 代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion

  • 构建工具:Ant、Gradle、maven

  • 自动部署:Capistrano、CodeDeploy

  • 持续集成(CI):Bamboo、Hudson、Jenkins

  • 配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail

  • 容器:Docker、LXC、第三方厂商如AWS

  • 编排:Kubernetes、Core、Apache Mesos、DC/OS

  • 服务注册与发现:Zookeeper、etcd、Consul

  • 脚本语言:python、ruby、shell

  • 日志管理:ELK、Logentries

  • 系统监控:Datadog、Graphite、Icinga、Nagios

  • 性能监控:AppDynamics、New Relic、Splunk

  • 压力测试:JMeter、Blaze Meter、loader.io

  • 预警:PagerDuty、pingdom、厂商自带如AWS SNS

  • HTTP加速器:Varnish

  • 消息总线:ActiveMQ、RabbitMQ、Kafka、SQS,学习参考:消息总线/消息中间件/消息队列/服务总线

  • 应用服务器:Tomcat、JBoss

  • Web服务器:Apache、Nginx、IIS

  • 数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库

  • 项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐