devops学习

DevOps对应用程序发布的影响

在很多企业中,应用程序发布是一项涉及多个团队、压力很大、风险很高的活动。然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下 [2] :

(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

性能监控: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

在工具的选择上,需要结合公司业务需求和技术团队情况而定。(注:更多关于工具的详细介绍可以参见此文:51 Best DevOps Tools for #DevOps Engineers)

软性需求:文化和人

DevOps成功与否,公司组织是否利于协作是关键。开发人员和运维人员可以良好沟通互相学习,从而拥有高生产力。并且协作也存在于业务人员与开发人员之间。

出席了2016年伦敦企业级DevOps峰会的ITV公司在2012年就开始落地DevOps,其通用平台主管Clark在接受了InfoQ的采访,在谈及成功时表示,业务人员非常清楚他们希望在最小化可行产品中实现什么,工程师们就按需交付,不做多余工作。

这样,工程师们使用通用的平台(即打通的工具链)得到更好的一致性和更高的质量。此外,DevOps对工程师个人的要求也提高了,很多专家也认为招募到优秀的人才也是一个挑战。

Original: https://www.cnblogs.com/fengli9998/p/12103260.html
Author: 小虾米的java梦
Title: devops学习

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537030/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Windows下Nginx的启动、停止、重启等命令

    Windows下Nginx的启动、停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一…

    Java 2023年5月30日
    048
  • SpringBoot 2.x 集成QQ邮箱、网易系邮箱、Gmail邮箱发送邮件

    在Spring中提供了非常好用的 JavaMailSender接口实现邮件发送,在SpringBoot的Starter模块中也为此提供了自动化配置。 项目源码已托管在Gitee-S…

    Java 2023年5月30日
    063
  • 题目:模拟网站的登录,客户端录入账号密码,然后服务器端进行验证(TCP)

    题目:模拟网站的登录,客户端录入账号密码,然后服务器端进行验证(TCP) 封装的类 package com.gao.Project.Pro4; import java.io.Ser…

    Java 2023年6月5日
    087
  • JavaWeb开发——软件国际化(动态元素国际化)

    软件国际化的第二个部分,就是动态元素国际化。 数值,货币,时间,日期等数据由于可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理。Jav…

    Java 2023年5月29日
    071
  • linux安装electron

    遇到权限问题执行 npm i –unsafe -perm 安装electron的命令 sudo npm install electron -g –unsaf…

    Java 2023年6月8日
    042
  • Java基础学习笔记(2)

    二、流程控制 1、用户交互Scanner java.util.Scanner是Java5的新特性, 我们可以通过Scanner类来获取用户输入。 *基本语法: Scanner s …

    Java 2023年6月13日
    067
  • WC2022入职集训课程【企业文化】

    治企理念 20字治企方针:制度透明,监督有效,办事公道,以上率下,文化引领 1.1 文化引领:约法三章 1.2 制度透明 1.3 监督有效 1.4 办事公道 1.5 以上率下 坚定…

    Java 2023年6月5日
    068
  • (WebFlux)003、多数据源R2dbc事务失效分析

    一、背景 最近项目持续改造,然后把SpringMVC换成了SpringWebflux,然后把Mybatis换成了R2dbc。中间没有遇到什么问题,一切都那么的美滋滋,直到最近一个新…

    Java 2023年6月15日
    069
  • Ubuntu 20.04 查看显示器信息

    安装 ddcutil apt install ddcutil 输入命令 ddcutil detect –verbose 输出类似如下: Output level: Verbose…

    Java 2023年6月7日
    037
  • springboot使用@data注解,减少不必要代码

    一、idea安装lombok插件 二、重启idea三、添加maven依赖 12345四、书写一个实体类import lombok.Data; @Datapublic class M…

    Java 2023年5月30日
    053
  • linux安装elasticsearch

    Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎…

    Java 2023年6月8日
    097
  • 一文了解Cookie

    Cookie 什么是 Cookie? 先要了解HTTP是 无状态的Web服务器,什么是无状态呢?一次对话完成后下一次对话完全不知道上一次对话发生了什么。如果在Web服务器中只是用来…

    Java 2023年6月15日
    063
  • [Java]HashMap源码解析

    构造函数 // 默认构造函数。 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fie…

    Java 2023年6月5日
    065
  • Linux命令(二)

    压缩、解压缩 tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩 -c:创建一个新tar文件 -v:显示运行过程的信息 -f:指定文件名 -z:…

    Java 2023年6月6日
    086
  • Java-SpringBoot实现AOP (@Around)

    AOP基本总结 连接点(JoinPoint): 连接点是程序运行的某个阶段点,如方法调用、异常抛出等 切入点(Pointcut): 切入点是JoinPoint的集合 是程序中需要注…

    Java 2023年6月8日
    075
  • Maven还停留在导jar包?快来探索Nexus私服的新世界

    写在前面 Maven,学习框架之前我们都会接触到的一个工具,感觉他的定位,似乎就跟git一样,只是方便我们开发?于是自然而然的,很多小猿对于Maven都只是停留在会用的阶段,利用他…

    Java 2023年6月5日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球