• 详解 Linux 运维工程师打怪升级篇
    积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点。 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火。。。(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通吗,但是熟悉和熟练还是相对可以的。 初级篇 详见:详解Linux运维工程师入门级必备技能拓扑详见: 中级篇从我后面面试经历和面试别人的经历。有些人认为,其实运维就是部署某个软件,设置些基础功能,就算会运维了。举个例子:安装LAMP,LNMP,就感觉部署方法我都掌握了。其实网上大多数都有一键安装脚本啥的根本没有啥技术含量,在面试官眼里,这些都不是你的亮点。基本到了公司一般环境架构都是部署好的,很少需要你去变动环境架构。就算你安装好 LNMP 架构你熟悉里面的原理吗,熟悉 Nginx 优化吗,熟悉 MySQL 优化吗? 再举个例子:我面试遇到的问题,面试官问你既然熟悉 LNMP 架构,那么 Nginx 反向代理的作用。 你应该不是说出懂这个软件和配置,你尽可能的说怎么优化,怎么深入提高网站性能。 1、使用反向代理可以理解为7层应用层的负载均衡,使用负载均衡之后可以非常便捷的横向扩展服务器集群,实现集群整体并发能力、抗压能力的提高。 2、通常反向代理服务器会带有本地 Cache 功能,通过静态资源的 Cache,有效的减少后端服务器所承载的压力,从而提高性能。 下面说说运维在工作中需要掌握的核心技术注意,这是在工作中掌握的,在学习中很难掌握。 1、第一条最主要的排错 ● 分析部分程序不能运行或没有按预想结果运行的原因,对程序运行跟踪,查看系统调用的过程。 ● 较深入的系统瓶颈点分析。 查看剩余内存: 复制内容到剪贴板代码:free -m#-/+ buffers/cache: 6458 1649#6458M为真实使用内存 1649M为真实剩余内存(剩余内存+缓存+缓冲器)#linux会利用所有的剩余内存作为缓存,所以要保证linux运行速度,就需要保证内存的缓存大小 系统信息: 复制内容到剪贴板代码:uname -a # 查看Linux内核版本信息cat /proc/version # 查看内核版本cat /etc/issue # 查看系统版本lsb_release -a # 查看系统版本 需安装 centos-releaselocale -a # 列出所有语系locale # 当前环境变量中所有编码hwclock # 查看时间who # 当前在线用户w # 当前在线用户whoami # 查看当前用户名logname # 查看初始登陆用户名uptime # 查看服务器启动时间sar -n DEV 1 10 # 查看网卡网速流量dmesg # 显示开机信息lsmod # 查看内核模块 硬件信息: 复制内容到剪贴板代码:more /proc/cpuinfo # 查看cpu信息lscpu # 查看cpu信息cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看cpu型号和逻辑核心数getconf LONG_BIT # cpu运行的位数cat /proc/cpuinfo | grep 'physical id' |sort| uniq -c # 物理cpu个数cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l # 结果大于0支持64位cat /proc/cpuinfo|grep flags # 查看cpu是否支持虚拟化 pae支持半虚拟化 IntelVT 支持全虚拟化more /proc/meminfo # 查看内存信息dmidecode # 查看全面硬件信息dmidecode | grep "Product Name" # 查看服务器型号dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range # 查看内存插槽cat /proc/mdstat # 查看软raid信息cat /proc/scsi/scsi # 查看Dell硬raid信息(IBM、HP需要官方检测工具)lspci # 查看硬件信息lspci|grep RAID # 查看是否支持raidlspci -vvv |grep Ethernet # 查看网卡型号lspci -vvv |grep Kernel|grep driver # 查看驱动模块modinfo tg2 # 查看驱动版本(驱动模块)ethtool -i em1 # 查看网卡驱动版本ethtool em1 ●使用分析系统分析web日志。(如逆火软件,)● 分析系统性能瓶颈点(IO/memory/cpu,常用工具,top命令中shift组合键的特殊用Sar/vmstat/iostat/ipcs) 日志管理常用命令: 复制内容到剪贴板代码:history # 历时命令默认1000条HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " # 让history命令显示具体时间history -c # 清除记录命令cat $HOME/.bash_history # 历史命令记录文件lastb -a # 列出登录系统失败的用户相关信息 清空二进制日志记录文件 echo > /var/log/btmp last # 查看登陆过的用户信息 清空二进制日志记录文件 echo > /var/log/wtmp 默认打开乱码who /var/log/wtmp # 查看登陆过的用户信息lastlog # 用户最后登录的时间tail -f /var/log/messages # 系统日志tail -f /var/log/secure # ssh日志 2、优化 优化可以说是运维最吃香的技能,基本会优化的运维普遍工资很高,而且优化是要承担风险的,并不是网上搜个文章改一下配置文件或者参数就叫优化了,这样很容易造成宕机。 优化是根据实际的现场环境硬件各个参数进行部分优化,提高软件性能和网站性能。这个我只能讲半知半解,当时优化mysql和tomcat参数也是根据网上文章和官网文档查找参数在虚拟机上测试然后查看性能。 成本优化,性能优化。这里我给出 tomcat 优化 jvm 参数(做过相应测试才放到现场环境的):(记住无监控不调优) -标准参数,所有jvm都应该支持 -X 非标,每个jvm实现都不同 -XX 不稳定参数,下一版本可能会取消 serial collector 单线程 序列化 parallel collector 多线程 启动 jvisualvm.exe 监控 dump 内存溢出 -Xms:初始堆大小 -Xmx:最大堆大小 -Xss:线程栈大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值,如3, 标示年轻代:年老代比值1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中的eden区与2个Survivor区的比值。 -XX:MaxPermSize=n:设置持久代大小 收集器设置 -XX:+UseSerialGC:设置串行收集器 -XX:+UseParallelGC:设置并行收集器 -XX:+UseConcMarkSweepGC:设置并发收集器 回收统计信息 -XX:+PrintGC -XX:+PrintGCDetails -Xloggc:filename tocmat 优化 确认有几个 jvm 虚拟机 set JAVA_OPTS= -Xms4g -Xmx4g -Xss512k -XX:+AggressiveOpts 进攻型的优化选项,所有优化项都加上 -XX:+UseBiasedLocking 优化锁,基本都要选上,偏执锁 -XX:permSize=64m 原始区大小,最大300m 类多就设置大一点 -XX:MaxPermSize=300m -XX:+DisableExplicitGC //System.gc() 不显示调用gc -XX:+UseConcMarkSweepGC 使用cms缩短相应时间,并发收集,低停顿 -XX:+UseParNewGC 并行收集新生代的垃圾 -XX:+CMSParallelRemarkEnabled 在使用UseParNewGC的情况下,尽量减少mark的时间 -XX:+UseCMSCompactAtFullCollection 使用并发收集器时,开启对年老代的压缩,使碎片减少 -XX:LargePageSizelnBytes=128m 内存分页大小对性能的提升 -XX:+UseFastAccessorMethods get/set方法转成本地代码 -Djava awt headless=true 修复linux下tomcat处理图标时可能产生的bug 内存调优: 复制内容到剪贴板代码:"C:\Program Files\Java\jdk1.8.0_31\bin\java" -XX:+DoEscapeAnalysis -XX:+EliminateAllocations -XX:+UseTLAB -XX:+PrintGCDetails -Didea.launcher.port=7540 "-Didea.launcher.bin.path=E:\java\IntelliJ IDEA 2016.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_31\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_31\jre\lib\rt.jar;E:\java\new\out\production\new;E:\java\IntelliJ IDEA 2016.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain aa.T02HeapPSYoungGen total 38400K, used 3994K [0x00000000d5d80000, 0x00000000d8800000, 0x0000000100000000) eden space 33280K, 12% used [0x00000000d5d80000,0x00000000d61668b8,0x00000000d7e00000) from space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000) to space 5120K, 0% used [0x00000000d7e00000,0x00000000d7e00000,0x00000000d8300000)ParOldGen total 87552K, used 0K [0x0000000081800000, 0x0000000086d80000, 0x00000000d5d80000) object space 87552K, 0% used [0x0000000081800000,0x0000000081800000,0x0000000086d80000)Metaspace used 3072K, capacity 4494K, committed 4864K, reserved 1056768K class space used 329K, capacity 386K, committed 512K, reserved 1048576KHeapPSYoungGen total 38400K, used 1147K [0x00000000d5d80000, 0x00000000d8800000, 0x0000000100000000) eden space 33280K, 3% used [0x00000000d5d80000,0x00000000d5e9ecb8,0x00000000d7e00000) from space 5120K, 0% used [0x00000000d8300000,0x00000000d8300000,0x00000000d8800000) to space 5120K, 0% used [0x00000000d7e00000,0x00000000d7e00000,0x00000000d8300000)ParOldGen total 87552K, used 0K [0x0000000081800000, 0x0000000086d80000, 0x00000000d5d80000) object space 87552K, 0% used [0x0000000081800000,0x0000000081800000,0x0000000086d80000)Metaspace used 3072K, capacity 4494K, committed 4864K, reserved 1056768K class space used 330K, capacity 386K, committed 512K, reserved 1048576K 线程本地缓存使用eden的,开启就会使用更多 tomcat 前任何参数没参加大概每秒605 调优后大概每秒435 接近3倍的结果 3、开发技能 优选 shell 和 python,现在 shell 无法满足你的需求或者效率很低,那么选择自动化 python 是最好的选择。现在普遍招聘需求要求,会写 shell 或者 python,perl 脚本,个人选择还是选 python。 python 这门语言上手比较快,容易理解。 python 在服务器管理工具上非常丰富,配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 还有大部分系统 C 库都有 python 绑定。 对于流程确定的事情,最终一定是纳入系统管理的体系,写成程序,成为系统的一部分。而不是无法复用游离与整体的各种脚本。 随着云计算时代的来临,中小型公司,不需要运维了。大型公司,没有工程开发能力的运维,是没有竞争力的。 最重要的学好 python 可以涨工资,可以涨工资,可以涨工资。(重要的事情说三遍。) 目前本人也是在学 python,正在把以前 shell 脚本的实例转换成 python 脚本。 python笔记:python实例手册(一直在看) 下载链接:http://down.51cto.com/data/2329173 4、意识篇 1) 安全意识: 运维人员的权限很大,所以一定要保证帐号/私钥的安全。 ● 最好使用加密工具存储。比如truecrypt,lpassword● 基于本地存储。切勿用网盘,也不建议用lastpass等● ssh私钥添加密码 2) 磨刀意识: 关于任何操作配置,最好先搞明白操作或配置的原理,然后再去操作。应一句话叫做“磨刀不误砍柴功”,而且对于类似的操作可以举一反三。 3) 计划意识: 复杂的变更操作比如多台主机以及牵涉到san存储,最好先作 操作计划,写计划文档,详细致每条命令,然后请高手帮忙审核。 这样能最大程度使整个操作过程安全。如果是重要的客户业务系统,操作最好有回退方案,而一旦变更失败,客户可以在短时间内将业务回退。4) 记录分享意识: 遇到自己认为较特殊的案例时,记得要写 案例过程及分析的文档。也方便自己以后翻看,或者和其他兄弟分享,作知识的传播以便于大家以后都能少走弯路。 5) 监控意识: 运维来说,监控是非常重要的,监控是发现系统各种异常的眼睛,所以运维应该和监控紧密配合。 6) 业务意识: 尽量了解维护的各主机上业务类型,以及各主机业务之间的关联性。因为任何维护工作都是为主机能提供业务服务的,当某业务中断,能最快的知道与此业务相关的主机群,从而缩小故障排查范围,最快定位故障。 附上运维思路拓扑图: 可以看看:安全运维理念(半神半仙亦民工)意识是很重要,并不是你技术很牛,学的技术很多很熟,就不代表你不需要运维意识,其实领导很看重运维意识的,例如有没有做好备份,权限分配问题,平台测试情况,故障响应时间等,这些都是意识,而不是你学了很多技术自认大牛了,平台发现故障你又没什么大不子,以为很简单的问题喜欢处理就处理,不需要向其它部门反馈等,领导不是看你的技术如何,而是看你的运维意识如何,你没运维意识,技术再牛也没用,只会让其它部门的人跟你不协调。 要知道做IT这行是苦B的,需要无尽的学习,不学习只会被淘汰,不想被年轻的淘汰,就只能不断增值自己,不然不是你工资无法提升,而是你无法再从事这行。 这个世界,在悄悄惩罚不改变的人...
  • [运维二三事] 技术大牛老王的起伏人生
    老王是一家应用软件公司的运维人员,技术过硬,经验丰富,人称“运维老司机”。4265 几年内,软件用户激增,阶段成果喜人,老王也配了车,买了房,娶了美娇娘, 老板夸奖,同事艳羡,眼瞅着走上人生巅峰4266 然而…随着用户数上升,应用实例多,架构复杂,运维量巨大,复杂度也飙升,人工的问题定位效率远远跟不上… 很快 用户流失,老板不满;加班严重,老婆不满;压力倍增,自己不满。老王的发际线…也渐渐不满...4267 无奈之下,老王去寻医问诊大夫给他开了一个处方单,运维工具选得好,老板让我回家早!华为云APM服务 运维人员的绝杀神器4268 华为云APM服务是华为软件研发模式转型过程中沉淀出的应用性能管理服务,致力于改变传统运营和运维手工化、经验化、盲目化的现状,提供数字化全链路非侵入的应用管理服务,帮助您解决应用崩溃、性能下降、用户流失等疑难问题,在软件竞争中步步领先! 数字化运营帮您留客 华为云APM服务提供了事务分析、Apdex打分等能力,自动检测并帮您改善用户体验。从此告别低效的问卷调查、运营活动,老板再也不担心用户流失了。4269 自动化运维告别通宵! 华为云APM服务提供了自发现应用拓扑、慢SQL分析等能力,应用运行状况、故障点尽在掌握;调用栈分析、SQL诊断,轻松实现代码级运维。从此与复杂后台命令、繁琐抓包/日志分析say byebye,再也不用通宵定位问题了。4270 非侵入式埋点轻松接入华为云APM服务以色列研发团队,汇聚众多20年经验欧美IT精英为您服务,通过字节码增强技术,提供非侵入式埋点,支持8大主流框架、中间件,无需复杂开发,轻松具备华为APM能力。 4272 自从用了华为云APM服务 产品运行稳定,用户体验优秀 老王从此朝九晚五,重回人生巅峰4271 这么好的产品,在哪里?哪里?哪里?4273 2017年11月15日华为云APM服务即将上线敬请期待~更多关怀:
  • [云监控] 云监控服务在IT运维领域的发展趋势
    本帖最后由 沧海 于 2017-9-30 15:24 编辑经历了快速发展期后,各行各业在近几年都或多或少遇到了一些瓶颈,技术的发展、商业模式的创新、服务的个性化等等都是值得关注和思考的问题。在这些变化中,IT运维能为企业做些什么?云监控带来了哪些改变? 现在大家都已经接受并开始使用云计算,当然用户更多地把它理解成一种服务。越来越多的IaaS、SaaS、PaaS被企业用户所采用,并期许它们能够做为一个整体,从中得到更多的个性化服务。 云监控对整个IT运维发展的新型商业模式起到至关重要的作用,可以让用户获取更多、更快捷、更安全的运维服务,更精细地了解到自己IT系统的状态。因为IT系统越来越复杂和庞大,涉及海量的基础设施以及各种应用。IT系统自身体量已经非常庞大,云监控能进一步降低IT运维复杂度,提高运维服务水平和效率,并保证整个IT的成本可控。 行业如何看待云监控?公有云、私有云、混合云在各行业的应用正在快速增长,这让云监控也得到了长足发展,尤其是大型企业对云监控的应用开始加速。云监控最大的优势主要体现在三方面:第一,交付和成本,使用云监控可实现快速交付,并且可以减低采购成本;第二,分布式部署,使得云监控可以跨地域、跨数据中心进行运维,解决了传统监控软件的局限;第三,安全性,基于云计算的安全性,云监控增强的安全容器技术,对于企业核心业务流程和数据信息安全方面都有很高的保障。对于应用相对复杂以及安全性要求苛刻的行业,可以考虑使用私有云监控的部署方式。 云监控有哪些应用场景?大型数据中心、多数据中心都是比较典型应用的场景,定制化程度也更高。举个例子,为某金融机构两地三中心提供监控管理,这是传统监控软件通常无法完成的订单,满足不了需求容易造成不可控的风险。对于行业用户,很多应用场景都是和自身业务相关的,并且希望过对资源的监控预测未来规划、控制成本等。针对不同的用户提出特色的监控服务,这就是云监控的核心价值。 如何构建真正的混合云监控?真正互联互通的混合云监控一定是从企业战略到企业运营全方位考虑,而不是单纯的IT技术。混合云监控要具备三点功能:第一,新资源和老资源、总部和分支通过云监控平台同时进行集中管理;第二,支持多种虚拟化技术,对异构系统资源统一管理;第三,用户不关注具体构成,业务与监控实时联动。在构建混合云监控时应该注意几个问题:第一,规划需要混合云的业务和配置比例;第二,必须能够实现统一管理、统一调度;第三,符合开放性原则的同时保证安全性;第四,能够兼容已有IT环境实现有机集成。 云监控有哪些发展趋势?云监控的建设随着企业对云计算的逐渐认识,会在短期内呈现爆发趋势。公有云也将越来越多地支撑企业核心应用,并且利用公有云资源优势,企业可以丰富自身商业模式提升核心竞争力。 私有云监控将会是大型企业用户的首选,其资源利用高、安全可靠、定制性强等优势,会为他们带来更加精细、能力更强的运维服务。未来,企业在成本、信息安全,交付速度等因素的考虑下,混合云监控将会长期存在,而且其中私有云和公有云监控之间的融合也将更加深入。
  • 云主机安全宝典,运维人员给的干货,白送了
    本帖最后由 安全小兵 于 2017-9-14 22:55 编辑[color=rgba(0, 0, 0, 0)][主机安全] 主机安全防护实用攻略(持续更新中......)
  • [技术干货] 重磅!2017年度 DevOps 现状调查报告中文完整版
    本帖最后由 DevCloud 于 2017-9-22 14:42 编辑2017年度DevOps现状调查报告中文翻译完整版可以download了,附件中有地址和密码! 满满50多页,全部翻译成中文了!DevOps时代和高效运维社区第一时间组织国内知名公司的多位DevOps领域专家共同完成翻译,更有多位行业专家倾情推荐。 我们希望借此促进DevOps在国内的进一步应用和推广,帮助大家实现DevOps转型和落地,成就更多的高效能组织。 报告亮点[indent] [*]变革型领导者有五大共同特征,这些特征对塑造组织的文化和实践,提高组织效能影响巨大 [*]高效能团队在产品快速迭代和稳定性上可以兼得 [*]自动化是组织的法宝 [*]DevOps适用于所有组织 [*]松散耦合的架构和团队是持续交付最有力的预测指标 [*]精益产品管理推动组织效率提升 [/indent]变革领导力491 我们正处在DevOps转型与落地的时代,变革领导力对于组织的DevOps转型至关重要。 [indent] [*]愿景:对组织走向有明确的概念,五年后应该达到的目标很清晰。 [*]鼓舞型沟通: 采用一种鼓舞和激励的方式进行沟通,尤其是在一种不确定的环境中。 [*]智力激发:鼓励员工以全新的角度思考问题。 [*]支持型领导:设身处地地关注员工的个人需求和感受。 [*]个体认同:表彰目标达成和工作质量改进,亲自祝贺那些做出了杰出贡献的同僚。 [/indent]变更领导力和技术实践、精益产品管理、TI效能和组织效能的关系如下图: 492 变革型领导者授权和支持团队进行更多的尝试,帮助建立卓越的团队,卓越的技术和卓越的组织。 生产力和稳定性可以兼得今年的高效能组织相比去年,在生产力方面的优势缩小了,但是稳定性的优势更加明显。 493 调查报告显示低效能组织的生产力(部署频率和变更前置时间)有所提升,但是稳定性(故障恢复时间、变更失败率)下降了。原因在于在追求生产力的过程中,忽略了质量的建设。高效能组织通过内建质量和自动化降低了手工作业和返工,生产力和稳定性兼得。 494 报告中也明确指出中等效能组织因为处在转型期,正在积极消除技术债务,导致效能优势不明显,报告预测一旦经过了降低技术债务的阶段,进一步的自动化变得触手可及,团队在将迎来新的阶段。 报告指出除了企业,DevOps在非**机构和监管严格的行业中也应用广泛。可以说DevOps深深的影响着整个IT行业。 技术实践1. 持续交付在这几年的报告中,持续交付一直都是核心实践。优维科技王津银和高效运维社区张乐也多次提到持续交付是DevOps的核心工程实践。在EXIN DevOps Master认证知识体系中持续交付也是重要的一环。 495 持续交付可以帮助我们的团队的: [indent] [*]在整个软件交付生命周期中,团队可以按需部署到生产环境或终端用户。 [*]将系统质量和部署问题快速反馈给团队中的每个人,并且确保大家对此类问题高度重视并做出反应。 [/indent]影响持续交付的因素: 496 在持续交付中全面使用版本控制、持续集成和主干开发、在软件交付中集成安全机制、导入自动化测试和自动化部署都对IT效能有非常正面的影响。其中,自动化测试所带来的正向影响最为显著。 2. 松耦合架构康威定律是挥之不去的魔咒:“设计系统的组织,最终产生的设计等同于组织之内、之间的沟通结构。”报告今年也重点关注了组织和系统的架构,在松散耦合的架构中,在不依赖关联组件或服务的变更下修改独立的组件或服务是非常容易的。就组织而言,当团队不需要依赖于其他团队就能完成他们的工作时,就可以称之为松耦合团队 报告中通过以下两种方式评估服务和组件之间的耦合性: [indent] [*]受访者可以脱离集成环境进行测试。 [*]应用程序可以独立于其所依赖的应用和服务进行部署或发布。 [/indent]松耦合架构对持续交付、质量和安全都非常重要: 497 主干开发代码配置管理是DevOps工程实践的起点,而分支策略更是起点的起点。主干开发基于主干进行代码提交和集成,英文Trunk Based Development(TBD)是大型互联网企业非常青睐的分支策略。 498 报告中明确说明主干开发的要求: [indent] [*]每天向主干合并一次代码 [*]让分支生命周期尽量短(少于一天) [*]同一时间少于三条的活跃分支 [/indent]高效能和低效能团队的分支策略差异十分明显: [indent] [*]高效能研发团队拥有最短的集成周期和分支存活时间,普遍持续若干小时 [*]低效能研发团队拥有最长的集成周期和分支存活时间,普遍持续数日 [/indent]精益产品管理从2016年开始,精益产品管理出现在DevOps年度现状调查报告中,行业普遍在应用精益产品管理方法和实践,比如:看板、小批量、MVP、授权开发团队等等。 精益大神何勉老师的精益看板体系就是非常落地的体系和实践,其中管理价值流动和建立反馈循环都是 DevOps 的核心目标。 499 DevOps与商业成品软件自从2009年DevOps出现以来,我们总能听到这样的声音:”我们的环境不适合DevOps,因为我们绝大多数使用的都是商业软件。“但事实证明,越来越多的传统企业都在尝试拥抱DevOps,选择架构合理的商业软件,减少定制化,DevOps与商业成品软件也能完美契合。 500 DevOps遍地开花从统计资料显示,DevOps 正在各个行业,各种规模的企业中落地,DevOps团队的比例 2014年16%,2015年19%,2016年22%,2017年已经增长到27%,越来越多的企业和团队开始拥抱 DevOps 501 结论报告的结论说,有一件事被证明一直是正确的:因为几乎每家公司都依赖于软件,IT效能成为每个组织的核心竞争力。IT效能会受到很多因素的影响,包括领导力,工具,自动化和持续学习与改进的文化。 [indent]文章来源:DevOps时代社区 2017年度 DevOps 现状调查报告中文完整版download地址:回复可见 [hide]链接: https://pan.baidu.com/s/1i546Z6P 密码: ptqr[/hide] [/indent]
  • 【云计算干货60篇】各大公司入云**话题,老司机...
    【导读】2016年初,以Netflix、Spotify、Ghost Pro等为代表的国外行业代表公司,开始较多地分享自己是如何把业务迁移到云端的话题。2016年3月又是个特殊的时间点——恰逢 AWS S3 发布十周年;Google则迎来了Spotify、Apple、Disney等大客户;Microsoft也拿出了“Cloud第一、Windows第二”的态度,新一轮的竞争已经到来。在过去的一年里,以AWS为代表的海外云厂商不断推出了更多迁移服务;国内云厂商则提出2015是中国云计算的元年的看法,并不约而同地提供云服务“打包”的解决方案。为此,在本届QCon北京现场,我们特别策划了架构师俱乐部“入云”话题交流活动。 InfoQ邀请了涉及云迁移的上下游厂商及技术专家,一起讨论彼此真正关心的问题,了解双方的需求和规划。在本次闭门会议上,大家抛出问题、探讨方法,一同交流心得、分享经验。 【正文】本文约1700字,阅读大概需要6分钟。 ——迁移前的核心诉求与担忧——在我们看来最重要的是客户迁移的意愿和态度。用户的需求至少要从技术和行业两个维度去考虑。但不同的客户有着千差万别的需求,只有找到用户的核心诉求与担忧,才能进一步撬动业务更深层的需求。经过与会专家的讨论,我们认为现阶段大部分用户的核心诉求有以下几点: [*]获取新技术和组件的能力,包括中间件、大数据和安全; [*]提高运营效率; [*]业务转型; [*]降低成本。 而现阶段大部分用户存在以下诸方面的担忧:1、用户的数据隔离与安全;2、现有技术体系如何适应云端新技能;3、迁移过程是否平滑;4、对内部原有管控流程的影响5、云端生态系统如何完善。从当前的趋势来看,随着云厂商产品与服务的不断改进,类似的担忧正在慢慢消除。——迁移过程中遇到的问题——从现有的案例中我们发现,即便是做好了充分的需求分析和技术预案,在实际迁移过程中依然会遇到各种问题。其中大家最关心的问题有以下几个方面: [*]安全的问题; [*]数据库上云的问题; [*]运维体系的重塑; [*]应用架构的重构; [*]数据的迁移; [*]迁移工具、服务商的选择; [*]业务连续性保障; [*]业务一致性保障; [*]云应用的隔离与依赖关系; [*]云备份; [*]企业管控流程的变迁。 我们重点讨论了云安全、数据库上云两个话题。分别得出以下共识:1、传统安全和云安全的区别:首先是责任分担的问题;第二是多租户的隔离;第三是传统网络到SDN的改变;第四则是规模性效应。由迁移入云带来的这四个问题是传统安全和云安全的最大区别。2、云服务商该如何应对?首先要有保证自己云平台安全的能力,其次要为云上客户提供安全的能力。具体要从以下三方面来完善,即: [*]云产品本身要提供基础的安全功能,比如说安全防火墙、身份认证管理、审计、加密服务,等。 [*]第二,打造SaaS化的安全服务。 [*]第三,构建安全生态,接入主流安全厂商的产品和服务。 对于数据库上云的讨论则集中在以下方面:数据库上云的问题有两个: [*]第一,云上的数据库应该用哪种是首先要考虑的。企业根据自身业务特点将面临到底是继续用关系型数据库,还是非关系型数据库。云厂商需要有向用户提供选择怎么样的DB来存储自己数据的咨询服务。 [*]第二,选定一个目标后,数据迁移过程中就会遇到同步等问题。这可能会涉及应用架构重塑的问题,比如,分拆KV和MySQL的话,应用代码肯定要改。 ——迁移后的工作——如果你足够幸运,业务迁移顺利完成,在这之后依然有很多问题要面对。根据专家们的讨论,主要有以下几个方面: [*]持续优化系统,包括资源利用率、新技术、可靠性、安全性等方面; [*]云安全的不断优化,包括应用安全、数据安全、应急响应等方面; [*]云运维流程的重新梳理; [*]IT费用控制管理(预算模型)的更新; [*]技术人员职业规划和评价标准; [*]云服务提供商Lock-in的问题; [*]资源调度模型的改变; [*]云应用日志体系的落地。 我们重点讨论了前以后如何持续优化的问题。在完成了资源虚拟化和业务云化后,整个企业的技术架构相应地发生了根本的改变,企业要充分利用云服务的优势需要从以下四个方面:1、持续提升利用率,上云之后客户的诉求慢慢出来了,这是需要云服务商和客户二者一起来解决这个问题。2、可靠性的问题,随着数据备份慢慢做起来,整个系统需要不断优化。3、安全是一个攻防对抗的过程,因此我们一定要把安全从运维的角度提升到运营的角度。 [*]首先要引入一些新的安全工具,如SaaS化的安全服务; [*]除此之外,在开发层面应该引入SDL( Security Development Lifecycle)流程; [*]基于木桶原理,在安全各个层面,如网络、主机、应用、数据、业务、内容,要把短板找到,以及持续地找,从而建立纵深防护体系; [*]最后在漏洞检测方面引入社会化检测(如白帽子众测等),同时把大数据手段使用起来,来提高监测和控制的能力。 4、对新服务使用,尽量使之PaaS化,这是一个优化的方向。另外,一些客户上云之后新的需求会催生出对新服务的使用。最后,客户可能从整个应用的打包、部署,乃至应用架构的重构方面去优化整个的端到端的效果。优化的路径则十分明了,即首先是资源与环境的虚拟化,然后业务形态变身为Cloud Native App,最后,与之相应的,企业的组织架构也将改造为Cloud Native的组织。——云上的创业与创新——最后大家讨论了在云里面有什么创新、创业的机会。大家一致认为受众越广的SaaS服务越有希望,因为受众在B端越宽,资本持续需求越旺盛。此外,大家还探讨了云迁移服务、安全服务、跨云管理、雾计算、区块链、大视频、VR以及工具化服务的创业与创新可能。
  • 把时间浪费在美好的事物上,比如......
    就在刚刚~老板居然让我一个运维去干这种事情….. 首先先介绍一下作为运维的出装标配,似乎暴露了点什么~197毛球,29岁,毕业4年,某厂运维工作认真、偶尔会“开车”的胡茬大叔。早上,为了吃个鸡蛋灌饼,愿意早起一个小时,去挤个地铁。下班后为了吃到应季的水果,当然是选择京东啦,下班都特么凌晨了。更疯狂的时候,为了解解馋,我居然要去饿了么定个麻辣诱惑的外卖~其实我的梦想是这样的,特别的丰满~~早上为了喝杯口感更好的咖啡,能够早起一小时,自己亲自磨咖啡豆。下班去个超市,买点新鲜水果和应季蔬菜,吃上一顿晚餐,饭后湖边牵手漫步,晚上睡一个好觉,做一个美梦~~小伙子,你快醒醒,你的鸡蛋灌饼好了~~加肠还是鸡柳? 好吧,我要开始搬砖啦,哎,听说他们都是这样搬砖的~~198 当然我是一个想把时间浪费在美好的事务上的,比如上面这样~~ 好吧,我承认我的工作环境是这样的~~199 本以为其实,运维的生活也就如此反复,如此艰难,其实人生是可以如此的~不为过活,只为生活~生活的常态不再是为了生计而奔波,有了更多的时间和精力来提高生活水平和质量,从应付生活转变为经营生活,享受生活~ 做我们这行,其实天天和公司的服务器,网络,数据库等等这些打交道,以前都要去公司,登录设备,远程处理,夜里有点事情也都要被同事叫醒,起来处理~~平常随时要看看手机上有没有监控短信,仿佛生活在梦里~~ 就在刚刚,居然新来了一个测试~~200 哇塞,这妹纸居然是这么对我口味,我知道你们要说我无图无真相~~201 就在刚刚,老板过来和我说,这个是新来的实习生,你给他搭一套测试环境,让她熟悉一下咱们产品~~说完就走了,走了~~哎,老板,老板,我是个运维哎,我不是测试呀~~ 当然我也是乐意的,毕竟我是有神器的呀~~~202 203 华为云云目录服务(Cloud Catalog Service可以帮助企业或组织集中管理和分配IT服务(开发平台、数据库软件,完整的多层应用程序架构等),并帮助企业或组织内用户快速部署所需的已授权IT服务。让企业IT服务管理如文件夹使用一样得心应手。 这个广告打得我猝不及防~~~ 那么我就要问了,这货能干啥?能起飞呢?205 划一下重点:云目录CCS可以用于测试环境的一键式部署,自动化程度高,结合资源模板服务RTS可以轻松实现测试环境定制、升级,极大减少人工操作成本,运维同学可以维护所有资源。什么线上环境,测试环境,类线上环境,分分钟就可以一个模子里刻出来~~ 而且还可以设置不同的软件版本,运维可以统一企业软件的版本升级,降低软件版本不一致导致效率降低问题和安全问题,简直是方便到爆了~~204 这下就尴尬了~~ 你就说说你能干啥吧~~206 209 上面的解释很专业么,那么想去体验看看细节,移步这里~~ http://www.hwclouds.com/product/ccs.html208 210 并没有!!!!因为快速帮妹纸搞定测试环境,妹纸要请我吃个饭….嘻嘻嘻~~仿佛看到了春天~~ 207 文末发个福利啦~~开心一笑~~ 生活不只有苟且,把时间浪费在美好的事物上,比如使用了云目录服务,运维更高效,有更多的时间去关注生活,生活还有诗和远方~~ 211