• Devops 介绍


      ##Devops定义

    devops就是为了让开发、运维和QA可以高效协作的流程。(可以把DevOps看作开发、技术运营和质量保障(QA)三者的交集。)

      ##DevOps对应用程序发布的影响

    在很多企业中,应用程序发布是一项涉及多个团队、压力很大、风险很高的活动。然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下  :
    
    (1)减少变更范围
    
    与传统的瀑布模式模型相比,采用敏捷或迭代式开发意味着更频繁的发布、每次发布包含的变化更少。由于部署经常进行,因此每次部署不会对生产系统造成巨大影响,应用程序会以平滑的速率逐渐生长。
    
    (2)加强发布协调
    
    靠强有力的发布协调人来弥合开发与运营之间的技能鸿沟和沟通鸿沟;采用电子数据表、电子数据表、电话会议和企业门户(wiki、sharepoint)等协作工具来确保所有相关人员理解变更的内容并全力合作。
    
    (3)自动化
    
    强大的部署自动化手段确保部署任务的可重复性、减少部署出错的可能性。

      ##实现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、zabbix
    
    性能监控:AppDynamics、New Relic、Splunk
    
    压力测试:JMeter、Blaze Meter、loader.io
    
    预警:PagerDuty、pingdom、厂商自带如AWS SNS
    
    HTTP加速器:Varnish
    
    消息总线:ActiveMQ、SQS
    
    应用服务器:Tomcat、JBoss
    
    Web服务器:Apache、Nginx、IIS
    
    数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
    
    项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
    
    在工具的选择上,需要结合公司业务需求和技术团队情况而定。
    软性需求:文化和人
    
    DevOps成功与否,公司组织是否利于协作是关键。开发人员和运维人员可以良好沟通互相学习,从而拥有高生产力。并且协作也存在于业务人员与开发人员之间。
  • 相关阅读:
    depression...
    Childhood is certainly not the happiest time of your time
    我在上海的日子(前言)
    struts国际化的一点尝试
    脚本(js)控制页面输入
    db2和oracle的一些区别
    工作几年是个坎?
    来深圳这半个月
    10年编程无师自通
    初试java mail
  • 原文地址:https://www.cnblogs.com/liangzhenghong/p/11499114.html
Copyright © 2020-2023  润新知