×î½üÎÒÔĶÁÁ˺ܶàÓйØDevOpsµÄÎÄÕ£¬ÆäÖÐһЩ·Ç³£ÓÐȤ£¬È»¶øÒ»Ð©ÄÚÈÝÒ²ºÜÇ·¿¼ÂÇ¡£Ã²ËƺܶàÈËÔ½À´Ô½¼á¶¨µØÔÚDevOpsÓëchef¡¢puppet»òDockerÈÝÆ÷µÄÊìÁ·ÔËÓ÷½Ãæ»®Á˵Ⱥš£¶Ô´ËÎÒÓв»Í¬¿´·¨¡£DevOpsµÄ·¶³ëÔ¶Ô¶³¬¹ýpuppet»òDockerµÈ¹¤¾ß¡£
ÕâÑùµÄ¿´·¨ÉõÖÁÈÃÎҸоõÓÐÐ©Æø·ß¡£DevOpsÔÚÎÒ¿´À´¼«ÎªÖØÒª£¬¹ýÈ¥15ÄêÀ´£¬ÎÒÒ»Ö±ÔÚ´óÐÍ»ú¹¹£¬Ö÷ÒªÊÇ´óÐͽðÈÚ»ú¹¹ÖдÓʹ¤³ÌÒµÎñ¡£DevOpsÊÇÒ»Öַdz£ÖØÒªµÄ·½·¨ÂÛ£¬¸Ã·½·¨½«½â¾öһЩ×î´óÐÍÎÊÌâµÄ»ù±¾ÔÔòºÍʵ¼ùÇ¡ÈçÆä·ÖµØÈÚΪһÌ壬ºÜºÃµØ½â¾öÁË´ËÀà»ú¹¹µÄÈí¼þ¿ª·¢ÏîÄ¿ÖÐÒ»ÖÖ×îÁîÈ˸оõ±¯Á¹µÄʧ°ÜÒªËØ£º¿ª·¢ÕߺÍÔËάÈËÔ±Ö®¼äµÄ»ìÂÒ֮ǽ¡£
Çë²»ÒªÎó»áÎÒµÄÕâÖֹ۵㣬³ýÁËijЩXPʵ¼ù£¬´ó²¿·Ö´ËÀà´óÐÍ»ú¹¹¶ÔÃô½Ý¿ª·¢·½·¨ÂÛµÄÔËÓû¹Óкܳ¤µÄ·Ҫ×ߣ¬Í¬Ê±»¹ÓкܶàÆäËûÔÒò»áµ¼ÖÂÈí¼þ¿ª·¢ÏîÄ¿µÄʧ°Ü»òÑÓÎó¡£
µ«ÔÚÎÒ¿´À´£¬»ìÂÒ֮ǽĿǰÒÀÈ»ÊÇËûÃÇËùÃæÁÙµÄ×îÁîÈ˾ÚÉ¥¡¢×îÀË·Ñʱ¼ä¡¢Í¬Ê±Ò²Ï൱ÓÞ´ÀµÄÎÊÌâ¡£
ÓëÆä¶À×ÔÉúÃÆÆø£¬ÎÒ¾õµÃ²»Èç˵µã¸üʵÔڵĶ«Î÷£¬Ð´Ò»Æª¾¡¿ÉÄܾ«×¼µÄÎÄÕ£¬Ïò´ó¼Ò½éÉÜDevOpsµ½µ×ÊÇʲô£¬ÄÜΪÎÒÃÇ´øÀ´Ê²Ã´¡£³¤»°¶Ì˵£¬DevOps²¢²»ÊÇijһÌ×¹¤¾ß¡£DevOpsÊÇÒ»ÖÖ·½·¨ÂÛ£¬ÆäÖаüº¬Ò»ÏµÁлù±¾ÔÔòºÍʵ¼ù£¬½ö´Ë¶øÒÑ¡£¶øËùÓõŤ¾ß£¨»òÕß˵¡°¹¤¾ßÁ´¡±°É£¬±Ï¾¹ÓÃÓÚΪÕâЩʵ¼ùÌṩ֧³ÖµÄ¹¤¾ß¼¯ÓÐ׿«¸ßµÄÀ©Õ¹ÐÔ£©Ö»ÊÇΪÁ˶ÔÕâÑùµÄʵ¼ùÌṩ֧³Ö¡£
×îÖÕÀ´Ëµ£¬ÕâЩ¹¤¾ß±¾Éí²¢²»ÖØÒª¡£Ïà±ÈÁ½Äêǰ£¬Ä¿Ç°µÄDevOps¹¤¾ßÁ´ÒѾ²úÉúÁË·Ì츲µØµÄ±ä»¯£¬¿ÉÏë¶øÖª£¬Á½Äêºó»¹»á²úÉú¸ü´óµÄ²îÒì¡£²»¹ýÕâ²¢²»ÖØÒª¡£ÖØÒªµÄÊÇÄܹ»ºÏÀíµØÀí½âÕâЩ»ù±¾ÔÔòºÍʵ¼ù¡£
±¾ÎIJ¢²»×¼±¸½éÉÜijЩ¹¤¾ßÁ´£¬ÉõÖÁÍêÈ«²»»áÌáµ½ÕâЩ¹¤¾ß¡£ÍøÉÏÌÖÂÛDevOps¹¤¾ßÁ´µÄÎÄÕÂÒѾ̫¶àÁË¡£ÎÒÏëÔÚ±¾ÎÄÖÐ̸̸×î»ù±¾µÄÔÔòºÍʵ¼ù£¬ËüÃǵÄÖ÷ҪĿµÄ£¬±Ï¾¹ÕâЩ²ÅÊǶÔÎÒ¶øÑÔ×îÖØÒªµÄ¡£
DevOpsÊÇÒ»ÖÖ·½·¨ÂÛ£¬¹éÄÉ×ܽáÁËÃæÁÙ¶ÀÒ»ÎÞ¶þµÄ»úÓöºÍÇ¿ÓÐÁ¦ÐèÇóµÄÍøÂç¾ÞÍ·ÃÇ£¬½áºÏ×ÔÉíÒµÎñ±¾Öʹ¹Ë¼³öȫй¤×÷·½Ê½µÄ¹ý³ÌÖÐËù²ÉÓõÄʵ¼ù£¬¶øËûÃǵÄÒµÎñÐèÇóÒ²ºÜÖ±½Ó£ºÒÔÊ·ÎÞǰÀýµÄ½Ú×à¶Ô×Ô¼ºµÄϵͳ½øÐÐÑݽø£¬ÓÐʱºò¿ÉÄÜ»¹ÐèÒªÒÔÌìΪµ¥Î»¶Ôϵͳ»òÒµÎñ½øÐÐÀ©Õ¹¡£
ËäÈ»DevOps¶Ô³õ´´¹«Ë¾À´ËµºÜÃ÷ÏÔÊDz»¿É»òȱµÄ£¬µ«ÎÒÈÏΪÄÇЩÓÐ×ÅÅÓ´óµÄÀÏʽIT²¿ÃŵĴóÆóÒµ²ÅÊÇÄÜ´ÓÕâЩ»ù±¾ÔÔòºÍʵ¼ùÖлñµÃ×î´óÊÕÒæµÄ¡£±¾ÎĽ«ÊÔͼ½âÊ͵óöÕâ¸ö½áÂÛµÄÔÒòºÍʵÏÖ·½·¨¡£
±¾ÎĵIJ¿·ÖÄÚÈÝÒÑ·¢²¼ÎªSlideshareÑÝʾ»ÃµÆÆ¬£¬¿ÉÔÚÕâÀïä¯ÀÀ£ºhttp://www.slideshare.net/JrmeKehrli/devops-explained-72091158
Ŀ¼
1. ¼ò½é 1.1 ¹ÜÀíÐÅÌõ 1.2 Ò»¸öµäÐ͵ÄIT×éÖ¯ 1.3 ÔËάÈËÔ±²â´ì°Ü¸Ð 1.4 »ù´¡¼Ü¹¹×Ô¶¯»¯ 1.5 DevOps£º½ö´ËÒ»´Î£¬Ò»¿ÅÉñÆæµÄÒø×Óµ¯ 2. »ù´¡¼Ü¹¹¼´´úÂë 2.1 ¸ÅÊö 2.2 DevOps¹¤¾ßÁ´ 2.3 ÊÕÒæ 3. ³ÖÐø½»¸¶ 3.1 ´Óʵ¼ùÖÐѧϰ 3.2 ×Ô¶¯»¯ 3.3 ¸üƵ·±µÄ²¿Êð 3.4 ³ÖÐø½»¸¶µÄǰÌáÐèÇó 3.5 ÁãÍ£»ú²¿Êð 4. Ð×÷ 4.1 »ìÂÒ֮ǽ 4.2 Èí¼þ¿ª·¢Á÷³Ì 4.3 ¹²Ïí¹¤¾ß 4.4 Ðͬ¹¤×÷ 5. ½áÂÛ |
1. ¼ò½é
DevOpsËù¹Ø×¢µÄ²»Êǹ¤¾ß±¾Éí£¬Ò²²»ÊǶÔchef»òDockerµÄÕÆÎճ̶ȡ£DevOpsÊÇÒ»ÖÖ·½·¨ÂÛ£¬ÊÇһϵÁпÉÒÔ°ïÖú¿ª·¢ÕߺÍÔËάÈËÔ±ÔÚʵÏÖ¸÷×ÔÄ¿±ê£¨Goal£©µÄǰÌáÏ£¬Ïò×Ô¼ºµÄ¿Í»§»òÓû§½»¸¶×î´ó»¯¼ÛÖµ¼°×î¸ßÖÊÁ¿³É¹ûµÄ»ù±¾ÔÔòºÍʵ¼ù¡£
¿ª·¢ÕߺÍÔËάÈËÔ±Ö®¼ä×î´óµÄÎÊÌâÔÚÓÚ£ºËäÈ»¶¼ÊÇÆóÒµÖдóÐÍIT²¿ÃŲ»¿É»òȱµÄ£¬µ«ËûÃÇÓÐ׎ØÈ»²»Í¬µÄÄ¿µÄ£¨Objective£©¡£

¿ª·¢ÕߺÍÔËάÈËÔ±Ö®¼äÄ¿µÄÉϵIJîÒì¾Í½Ð×ö»ìÂÒ֮ǽ¡£ÏÂÎÄ»á½éÉÜÕâ¸ö¸ÅÄîµÄ׼ȷ¶¨Ò壬ÒÔ¼°ÎªÊ²Ã´ÎÒÈÏΪÕâÖÖ×´¿öºÜÑϾþ²¢ÇÒºÜÔã¸â¡£
DevOpsÊÇÒ»ÖÖÈÚºÏÁËһϵÁлù±¾ÔÔòºÍʵ¼ùµÄ·½·¨ÂÛ£¨²¢´ÓÕâЩʵ¼ùÖÐÅÉÉú³öÁ˸÷ÖÖ¹¤¾ß£©£¬ÒâÔÚ°ïÖúÕâЩÈËÔ±Ïò×ÅÒ»¸öͳһµÄ¹²Í¬Ä¿µÄŬÁ¦£º¾¡¿ÉÄÜΪ¹«Ë¾Ìṩ¸ü¶à¼ÛÖµ¡£
ÁîÈ˾ªÆæµÄÊÇ£¬Õâ¸öÎÊÌ⾹ȻÓÐÒ»¸ö·Ç³£¼òµ¥µÄ¡°Òø×Óµ¯¡±£ºÈÃÉú²ú¶Ë±äµÃÃô½ÝÆðÀ´£¡
¶øÕâǡǡÕýÊÇDevOpsËùÒª´ï³ÉµÄΨһĿ±ê£¡
µ«ÔÚ½øÒ»²½ÌÖÂÛÕâÒ»µã֮ǰ£¬Ê×ÏÈÐèҪ̸̸ÆäËû¼¸¼þÊ¡£
1.1 ¹ÜÀíÐÅÌõ
IT¹ÜÀíÕⳡսÕùµÄÔ¶¯Á¦µ½µ×ÊÇʲô£¿»»¾ä»°Ëµ£¬ÔÚÈí¼þ¿ª·¢ÏîÄ¿ÖУ¬¹ÜÀí¹¤×÷Ê×ÒªµÄ£¬ÒÔ¼°×îÖØÒªµÄÄ¿µÄÊÇʲô£¿
ÓÐʲôÏë·¨Âð£¿
ÎÒÀ´Ìṩһ¸öÏßË÷°É£ºÔÚ½¨Á¢Ò»¼Ò³õ´´¹«Ë¾Ê±£¬×îÖØÒªµÄÊÂÇéÊÇʲô£¿
µ±È»ÊÇÒª¼Ó¿ìÉÏÊÐʱ¼ä£¨TTM£©£¡
ÉÏÊÐʱ¼ä£¨¼´TTM£©ÊÇÖ¸Ò»¼þ²úÆ·´Ó×î³õµÄ¹¹Ë¼µ½×îÖտɹ©Óû§Ê¹Óûò¹ºÂòÕâÒ»¹ý³ÌËùÐèÒªµÄʱ¼ä¡£¶ÔÓÚ²úÆ·ºÜ¿ì»á¹ýʱµÄÐÐÒµ£¬TTMÊÇÒ»¸ö·Ç³£ÖØÒªµÄ¸ÅÄî¡£
ÔÚÈí¼þ¹¤³Ì·½Ã棬Ëù²ÉÓõķ½·¨¡¢ÒµÎñ£¬ÒÔ¼°¾ßÌå¼¼Êõ¼¸ºõÿÄê¶¼»á±ä»¯£¬Òò¶øTTM¾Í³ÉÁËÒ»¸ö·Ç³£ÖØÒªµÄKPI£¨¹Ø¼ü¼¨Ð§Ö¸±ê£©¡£
TTMͨ³£Ò²»á±»½Ð×öǰÖÃʱ¼ä£¨Lead Time£©¡£
µÚÒ»¸öÎÊÌâÔÚÓÚ£¬£¨ºÜ¶àÈËÈÏΪ£©ÔÚ¿ª·¢¹ý³ÌÖÐTTMºÍ²úÆ·ÖÊÁ¿ÊÇÁ½¸ö¶ÔÁ¢µÄÊôÐÔ¡£ÔÚÏÂÎÄ¿ÉÒÔ¿´µ½£¬¸ÄÉÆÖÊÁ¿£¨½ø¶øÌá¸ßÎȶ¨ÐÔ£©ÊÇÔËάÈËÔ±µÄÄ¿µÄ£¬¶ø¿ª·¢ÕßµÄÄ¿µÄÔÚÓÚ½µµÍǰÖÃʱ¼ä£¨½ø¶øÌá¸ßTTM£©¡£
ÇëÈÝÎÒÀ´½âÊÍһϡ£
IT×éÖ¯»ò²¿ÃÅͨ³£»áͨ¹ýÁ½¸ö¹Ø¼üµÄKPI½øÐÐÆÀ¹À£ºÈí¼þ±¾ÉíµÄÖÊÁ¿£¬Òò¶øÐèÒª¾¡¿ÉÄܼõÉÙȱÏݵÄÊýÁ¿£»´ËÍ⻹ÓÐTTM£¬Òò¶øÐèÒª½«ÒµÎñ¹¹Ï루ͨ³£ÓÉÒµÎñÓû§Ìṩ£©±äΪ×îÖճɹû£¬²¢ÒÔ¾¡¿ÉÄÜ¿ìµÄËÙ¶ÈÌṩ¸øÓû§»ò¿Í»§¡£
ÕâÀïµÄÎÊÌâÔÚÓÚ£¬´ó²¿·ÖÇé¿öÏÂÕâÁ½¸ö½ØÈ»²»Í¬µÄÄ¿µÄÊÇÓÉÁ½¸ö²»Í¬ÍŶÓÌṩ֧³ÖµÄ£º¸ºÔð¹¹½¨Èí¼þµÄ¿ª·¢Õߣ¬ÒÔ¼°¸ºÔðÔËÐÐÈí¼þµÄÔËάÈËÔ±¡£
1.2 Ò»¸öµäÐ͵ÄIT×éÖ¯
ÔÚ×éÖ¯ÄÚ²¿¸ºÔð¹ÜÀíÖØÒªIT²¿ÃŵĵäÐÍIT×é֯ͨ³£¿´ÆðÀ´ÊÇÕâÑùµÄ£º

Ö÷ÒªÓÉÓÚÀúÊ·µÄÔÒò£¨´ó²¿·ÖÔËάÈËÔ±À´×ÔÓ²¼þºÍµçÐÅÒµÎñÁìÓò£©£¬ÔËάÈËÔ±ºÍ¿ª·¢Õß·ÖÊô²»Í¬µÄ×éÖ¯½á¹¹·ÖÖ§¡£¿ª·¢ÕßÊôÓÚÑз¢²¿ÃÅ£¬¶øÔËάÈËÔ±´ó²¿·ÖʱºòÊôÓÚ»ù´¡¼Ü¹¹²¿ÃÅ£¨»òרÃŵÄÔËά²¿ÃÅ£©¡£
±ðÍüÁË£¬ËûÃÇÓÐ×Ų»Í¬µÄÄ¿µÄ£º

´ËÍâ×÷ΪÅÔ×¢£¬ÕâÁ½¸öÍŶÓÓÐʱºò»áʹÓò»Í¬µÄÔ¤ËãÀ´ÔËÓª¡£¿ª·¢ÍŶÓʹÓù¹½¨£¨Build£©Ô¤Ë㣬ÔËάÍŶÓʹÓÃÔËÓª£¨Run£©Ô¤Ëã¡£²»Í¬µÄÔ¤Ë㣬¶Ô¿ØÖÆÈ¨Ô½À´Ô½¸ßµÄÐèÇó£¬ÒÔ¼°ÆóÒµIT³É±¾µÄËõË®£¬ÕâЩÒòËØ½áºÏÔÚÒ»Æð»á½øÒ»²½·Å´óÁ½¸öÍŶӸ÷×ÔÄ¿µÄµÄ¶ÔÁ¢ÐÔ¡£
£¨ÒÀ±¾ÈËÓÞ¼û£¬Ê±ÖÁ½ñÈÕ£¬Ëæ×ÅÈËÓëÈËÖ®¼äÎÞʱÎÞ¿ÌËæÊ±ËæµØ½øÐеĽ»»¥£¬ÒÔ¼°Óɲ»Í¬Ä¿µÄÍÆ¶¯×ÅÆóÒµºÍÉç»á½øÐÐÊý×Ö»¯×ªÐÍ£¬ITÔ¤Ëã·½Ãæ¹ÅÀϵġ°¹æ»®/¹¹½¨/ÔËÐС±¿ò¼ÜÒѾ²»ÄÇôºÏÀíÁË£¬²»¹ýÕâÓÖÊÇÁíÒ»»ØÊÂÁË¡££©
1.3 ÔËάÈËÔ±²â´ì°Ü¸Ð
½ÓÏÂÀ´¿´¿´ÔËάÈËÔ±£¬Ò»Æð¿´¿´µäÐ͵ÄÔËάÍŶӰѴ󲿷Öʱ¼ä¶¼»¨ÔÚÄÄÀïÁË£º

£¨À´Ô´£ºStudy from Deepak Patil [Microsoft Global Foundation
Services] in 2006, via James Hamilton [Amazon Web Services]
Éú²úÍŶÓÓн«½üÒ»°ë£¨47%£©µÄʱ¼ä»¨ÔÚÁËÓ벿ÊðÓйصŤ×÷ÖУº
1.Ö´ÐÐʵ¼ÊµÄ²¿Êð¹¤×÷£¬»ò
2.ÐÞ¸´Ó벿Êð¹¤×÷ÓйصÄÎÊÌâ
ÕâÑùµÄKPIÆäʵÏ൱·è¿ñ£¬µ«Êµ¼ÊÉÏÎÒÃÇÔç¾ÍÓ¦¸Ã²ÉÄÉ¡£Êµ¼ÊÉÏÔçÔÚ40Äêǰ£¬¼ÆËã»ú¿ÆÑ§µÄ¡°Ôʼʱ´ú¡±¾ÍÒÑÓ¿ÏÖ³öÔËάÍŶӣ¬µ±Ê±¼ÆËã»úÖ÷ÒªÔËÓÃÔÚ¹¤Òµ½ç£¬ÔËάÈËÔ±ÐèÒªÊÖ¹¤ÔËÐдóÁ¿ÃüÁîÀ´Ö´ÐÐ×Ô¼ºµÄÈÎÎñ¡£ÎªÁËÂÄÐÐÖ°Ôð£¬ËûÃÇÒѾϰ¹ßÓÚ°´ÕÕÇåµ¥ÔËÐи÷ÖÖ¸÷ÑùµÄÃüÁî»òÊÖ¹¤Á÷³Ì¡£
ͻȻÓÐÒ»ÌìËûÃÇÖÕÓÚÒâʶµ½×Ô¼º¡°×ÜÔÚ×ö×ÅÏàͬµÄÊÂÇ顱£¬È»¶ø³¤´ïËÄÊ®¶àÄêµÄ¹¤×÷¹ý³ÌÖÐÈ´¼¸ºõûÈË¿¼Âǹý±ä¸ï¡£
¿¼Âǵ½ÕâÒ»µãÄã»á·¢ÏÖ£¬ÊµÔÚÊÇÌ«·è¿ñÁË¡£Æ½¾ùÀ´Ëµ£¬ÔËάÈËÔ±½«½üÒ»°ëµÄʱ¼ä¶¼ÔÚ´¦ÀíÓ벿ÊðÓйصÄÈÎÎñ£¡
ΪÁ˸ıäÕâÖÖ×´¿ö£¬±ØÐ뿼Âǵ½Á½¸ö×î¹Ø¼üµÄÐèÇó£º
ͨ¹ý×Ô¶¯»¯²¿Êð½«Ä¿Ç°ÕâÖÖÊÖ¹¤ÈÎÎñËùÐèµÄʱ¼ä¼õÉÙ31%¡£
ͨ¹ý²úÒµ»¯´ëÊ©£¨ÀàËÆÓÚͨ¹ýXPºÍÃô½ÝʵÏÖµÄÈí¼þ¿ª·¢²úÒµ»¯£©½«ÐèÒª´¦ÀíµÄÓëÕâЩ²¿ÊðÓйصÄÎÊÌâ¼õÉÙ16%¡£
1.4 »ù´¡¼Ü¹¹×Ô¶¯»¯
ÔÚÕâ·½ÃæÒ²ÓÐÒ»¸öÏ൱¸»ÓÐÆô·¢ÐÔµÄͳ¼Æ½á¹û£º
ÒÔÊÖ¹¤²Ù×÷µÄÊýÁ¿Ëù±íʾµÄ³É¹¦²¿Êð¸ÅÂÊ¡£

ÕâЩͳ¼Æ¸æËßÎÒÃÇ£º
1.Ö»ÐèÊÖ¹¤ÔËÐÐ5ÌõÃüÁîµÄÇé¿öÏ£¬³É¹¦²¿ÊðµÄ¸ÅÂʾÍÒѵøÖÁ86%¡£
2.ÈçÐèÊÖ¹¤ÔËÐÐ55ÌõÃüÁ³É¹¦²¿ÊðµÄ¸ÅÂʽ«µøÖÁ22%¡£
3.ÈçÐèÊÖ¹¤ÔËÐÐ100ÌõÃüÁ³É¹¦²¿ÊðµÄ¸ÅÂʽ«Ç÷½üÓÚ0£¨½ö2%£©£¡
³É¹¦²¿ÊðÒâζ×ÅÈí¼þÄܹ»°´ÕÕÔ¤ÆÚÔÚÉú²ú»·¾³ÖÐÔËÐС£Î´Äܳɹ¦²¿ÊðÒâζ×ÅÓж«Î÷³ö´í£¬¿ÉÄÜÐèÒª½øÐбØÒªµÄ·ÖÎö²ÅÄÜÁ˽ⲿÊð¹ý³ÌÖÐÄÄÀï³ö´í£¬ÊÇ·ñÐèÒªÓ¦ÓÃijÖÖ²¹¶¡£¬»òÐèÒªÐÞ¸ÄijЩÅäÖá£
Òò´ËÈÃÕâÒ»ÇÐʵÏÖ×Ô¶¯»¯²¢²»Ï§Ò»Çдú¼Û±ÜÃâÊÖ¹¤²Ù×÷ËÆºõÊǸöºÃÖ÷Ò⣬¶Ô°É£¿
ÄÇôÐÐÒµÀïÕâ·½ÃæµÄÏÖ×´ÊÇÔõÑùµÄ£º

£¨À´Ô´£ºIT Ops & DevOps
Productivity Report 2013 - Rebellabs £©
£¨ËµÊµ»°£¬Õâ¸öͳ¼ÆÐÅÏ¢±È½ÏÀÏÁË£¬ÊÇ2013ÄêµÄ½á¹û£¬ÏàÐÅÏÖÔڵĽá¹û»áÓÐËù²»Í¬£©
È»¶øÕâÒ²¿ÉÒÔÈÃÎÒÃÇÃ÷È·µÄÖªµÀ£¬ÔÚ»ù´¡¼Ü¹¹×Ô¶¯»¯·½ÃæÎÒÃÇ»¹ÓжàÔ¶µÄ·Ҫ×ߣ¬²¢ÇÒDevOpsµÄ»ù±¾ÔÔòºÍʵ¼ùÒÀÈ»ÊÇÄÇôµÄÖØÒª¡£
ÍøÂç¾ÞÍ·Ãǵ±È»»áͨ¹ýÐµķ½·¨ºÍʵ¼ù¼°Ê±Âú×ã×Ô¼ºµÄÐèÇó£¬ËûÃÇÔçÒÑ¿ªÊ¼¹¹½¨×Ô¼ºµÄ¹¤³ÌÒµÎñ£¬¶øÕýÊÇËûÃÇËùÈ·Á¢µÄʵ¼ùÖð½¥ÑÜÉú³öµ±½ñÎÒÃÇËùÊìϤµÄDevOps¡£
¿´¿´ÕâÐ©ÍøÂç¾ÞÍ·ÃÇÔÚÕâ·½ÃæÄ¿Ç°Ëù´¦µÄλÖðɣ¬¾Ù¼¸¸öÀý×Ó£º
1.FacebookÓÐÊýǧÃû¿ª·¢ºÍÔËάÈËÔ±£¬³ÉǧÉÏÍǫ̀·þÎñÆ÷¡£Æ½¾ùÀ´ËµÒ»Î»ÔËάÈËÔ±¸ºÔð500̨·þÎñÆ÷£¨»¹ÈÏΪ×Ô¶¯»¯ÊÇ¿ÉÑ¡µÄÂ𣿣©ËûÃÇÿÌ첿ÊðÁ½´Î£¨»·Ê½²¿Êð£¬Deployment
ringµÄ¸ÅÄ¡£
2.FlickrÿÌ첿Êð10´Î¡£
3.NetflixÃ÷È·Õë¶Ôʧ°Ü½øÐи÷ÖÖÉè¼Æ£¡ËûÃǵÄÈí¼þ°´ÕÕÉè¼Æ´Ó×îµ×²ã¼´¿ÉÈÝÈÌϵͳʧ°Ü£¬ËûÃÇ»áÔÚÉú²ú»·¾³ÖнøÐÐÈ«ÃæµÄ²âÊÔ£ºÃ¿Ììͨ¹ýËæ»ú¹Ø±ÕÐéÄâ»úµÄ·½Ê½ÔÚÉú²ú»·¾³ÖÐÖ´ÐÐ65000´Îʧ°Ü²âÊÔ¡¡
²¢È·±£ÕâÖÖÇé¿öÏÂÒ»ÇÐÒÀÈ»¿ÉÒÔÕý³£¹¤×÷¡£
ËûÃÇÕâÖÖ×ö·¨ÃØÃܺÎÔÚ£¿
1.5 DevOps£º½ö´ËÒ»´Î£¬Ò»¿ÅÉñÆæµÄÒø×Óµ¯
ËûÃǵÄÃØÃܼܺòµ¥£º½«Ãô½ÝÀ©Õ¹ÖÁÉú²ú¶Ë£º

DevOpsµÄ¹²´æÖ÷ÒªÊÇΪÁËÀ©Õ¹Ãô½Ý¿ª·¢Êµ¼ù£¬½øÒ»²½ÍêÉÆÈí¼þ±ä¸üÔÚ¹¹½¨¡¢ÑéÖ¤¡¢²¿Êð¡¢½»¸¶µÈ½×¶ÎÖеÄÁ÷¶¯£¬Í¬Ê±Í¨¹ýÈí¼þÓ¦ÓóÌÐòµÄÈ«ÃæËùÓÐȨÓèÁ¦¿çÖ°ÄÜÍŶÓÍê³É´ÓÉè¼Æµ½Éú²úÖ§³ÖµÈ¸÷»·½ÚµÄ¹¤×÷¡£
DevOps¹ÄÀøÈí¼þ¿ª·¢ÕߺÍITÔËάÈËÔ±Ö®¼äËù½øÐеŵͨ¡¢Ð×÷¡¢¼¯³ÉºÍ×Ô¶¯»¯£¬½è´ËÓÐÖúÓÚ¸ÄÉÆË«·½ÔÚ½»¸¶Èí¼þ¹ý³ÌÖеÄËٶȺÍÖÊÁ¿¡£
DevOpsÍŶӸü²àÖØÓÚͨ¹ý±ê×¼»¯¿ª·¢»·¾³ºÍ×Ô¶¯»¯½»¸¶Á÷³Ì¸ÄÉÆ½»¸¶¹¤×÷µÄ¿ÉÔ¤²âÐÔ¡¢Ð§ÂÊ¡¢°²È«ÐÔ£¬ÒÔ¼°¿Éά»¤ÐÔ¡£ÀíÏëÇé¿öÏ£¬DevOps¿ÉÒÔΪ¿ª·¢ÕßÌṩ¸ü¿É¿ØµÄÉú²ú»·¾³£¬°ïÖúËûÃǸüºÃµØÀí½âÉú²ú»ù´¡¼Ü¹¹¡£
DevOps¹ÄÀøÍŶÓ×ÔÖ÷½øÐÐ×Ô¼ºÓ¦ÓóÌÐòµÄ¹¹½¨¡¢ÑéÖ¤¡¢½»¸¶ºÍÖ§³Ö¡£
ÄÇôºËÐÄÔÔòµ½µ×ÊÇʲô£¿

ÏÂÎĽ«½éÉÜ×îÖØÒªµÄÈý´ó»ù±¾ÔÔò¡£
2. »ù´¡¼Ü¹¹¼´´úÂë
ÈË×ܻ᷸´í£¬ÒòΪÈËÄÔʵÔÚÊDz»Éó¤´¦ÀíÖØ¸´ÐÔµÄÈÎÎñ£¬Ïà±ÈShell½Å±¾£¬ÈËÀàµÄËÙ¶ÈʵÔÚÊÇÌ«ÂýÁË¡£±Ï¾¹ÎÒÃǶ¼ÊÇÈËÀ࣬Òò´ËÓбØÒªÏñ´¦Àí´úÂëÄÇÑù¿¼ÂǺʹ¦ÀíÓйػù´¡¼Ü¹¹µÄ¸ÅÄ
»ù´¡¼Ü¹¹¼´´úÂ루IaC£©ÊǴ󲿷ÖͨÓÃDevOpsʵ¼ùµÄǰÌáÒªÇó£¬ÀýÈç°æ±¾¿ØÖÆ¡¢´úÂëÉóÔÄ¡¢³ÖÐø¼¯³É¡¢×Ô¶¯»¯²âÊÔ¡£ÕâÒ»¸ÅÄîÉæ¼°¼ÆËã»ù´¡¼Ü¹¹£¨ÈÝÆ÷¡¢ÐéÄâ»ú¡¢ÎïÀí»ú¡¢Èí¼þ°²×°µÈ£©µÄ¹ÜÀíºÍ¹©Ó¦£¬ÒÔ¼°Í¨¹ý»úÆ÷¿É´¦ÀíµÄ¶¨ÒåÎļþ»ò½Å±¾¶ÔÆä½øÐеÄÅäÖ㬽»»¥Ê½ÅäÖù¤¾ßºÍÊÖ¹¤ÃüÁîµÄʹÓÃÒѾ²»ºÏʱÒËÁË¡£
ÕâÒ»ÔÔò¶ÔDevOpsµÄÖØÒªÐÔÔõôǿµ÷¶¼²»Îª¹ý£¬Ëü¿ÉÒÔÕæÕý½«Èí¼þ¿ª·¢Ïà¹ØµÄʵ¼ùÓ¦Óøø·þÎñÆ÷ºÍ»ù´¡¼Ü¹¹¡£
ÔÆ¼ÆËãʹµÃ¸´ÔÓµÄIT²¿Êð¿ÉÒÔ¼ÌÐøÐ§·Â´«Í³ÎïÀíÍØÆË¡£ÎÒÃÇ¿ÉÒÔÏà¶ÔÇáËɵضԸ´ÔÓÐéÄâÍøÂç¡¢´æ´¢ºÍ·þÎñÆ÷µÄ¹¹½¨ÊµÏÖ×Ô¶¯»¯¡£·þÎñÆ÷»·¾³µÄ·½·½ÃæÃ棬ÉÏÖÁ»ù´¡¼Ü¹¹ÏÂÖÁ²Ù×÷ϵͳÉèÖ㬾ù¿É±àÂë²¢´æ´¢ÖÁ°æ±¾¿ØÖƲֿ⡣
2.1 ¸ÅÊö
ÒԷdz£¸ÅÀ¨µÄ·½Ê½À´¿´£¬»ù´¡¼Ü¹¹ºÍÔËάËùÐèʵÏÖµÄ×Ô¶¯»¯³Ì¶È¿Éͨ¹ýÏÂͼÕâÖּܹ¹À´±íʾ£º

ÉÏÊö¼Ü¹¹Í¼ÖÐ×÷ΪʾÀýµÄ¹¤¾ßÖ÷ÒªÃæÏò²»Í¬²ãµÄ¹¹½¨¹¤×÷£¬Êµ¼ÊÉÏDevOps¹¤¾ßÁ´µÄ×÷ÓÃÔ¶²»Ö¹Èç´Ë¡£
ÎÒ¾õµÃÔÚÕâÀï¿ÉÒÔÂÔ΢ÉîÈëµØÌ¸Ì¸DevOpsµÄ¹¤¾ßÁ´ÁË¡£
2.2 DevOps¹¤¾ßÁ´
DevOpsʵ¼ÊÊÇÒ»ÖÖÎÄ»¯ÉϵıäǨ£¬´ú±íÁË¿ª·¢¡¢ÔËά¡¢²âÊԵȻ·½ÚÖ®¼äµÄÐ×÷£¬Òò´ËDevOps¹¤¾ßÊǷdz£¶àÖÖ¶àÑùµÄ£¬ÉõÖÁ¿ÉÒÔÓɶàÖÖ¹¤¾ß×é³ÉÒ»¸öÍêÕûµÄDevOps¹¤¾ßÁ´¡£´ËÀ๤¾ß¿ÉÒÔÓ¦ÓÃÓÚÒ»ÖÖ»ò¶àÖÖÀà±ð£¬²¢¿ÉÌåÏÖ³öÈí¼þ¿ª·¢ºÍ½»¸¶¹ý³ÌµÄ²»Í¬½×¶Î£º
1.±àÂ룺´úÂ뿪·¢ºÍÉóÔÄ£¬°æ±¾¿ØÖƹ¤¾ß¡¢´úÂëºÏ²¢¹¤¾ß
2.¹¹½¨£º³ÖÐø¼¯³É¹¤¾ß¡¢¹¹½¨×´Ì¬Í³¼Æ¹¤¾ß
3.²âÊÔ£ºÍ¨¹ý²âÊԺͽá¹ûÈ·¶¨¼¨Ð§µÄ¹¤¾ß
4.´ò°ü£º³ÉÆ·²Ö¿â¡¢Ó¦ÓóÌÐò²¿ÊðǰÔÝ´æ
5.·¢²¼£º±ä¸ü¹ÜÀí¡¢·¢²¼ÉóÅú¡¢·¢²¼×Ô¶¯»¯
6.ÅäÖ㺻ù´¡¼Ü¹¹ÅäÖúͲ¿Ê𣬻ù´¡¼Ü¹¹¼´´úÂ빤¾ß
7.¼àÊÓ£ºÓ¦ÓóÌÐòÐÔÄܼàÊÓ¡¢×îÖÕÓû§ÌåÑé
ËäÈ»¿ÉÓù¤¾ßÓкܶ࣬µ«ÆäÖÐһЩ»·½ÚÊÇ×éÖ¯ÄÚ²¿Ó¦ÓÃDevOps¹¤¾ßÁ´²»¿É»òȱµÄ¡£
ÖîÈçDocker£¨ÈÝÆ÷»¯£©¡¢Jenkins£¨³ÖÐø¼¯³É£©¡¢Puppet£¨»ù´¡¼Ü¹¹¹¹½¨£©¡¢Vagrant£¨ÐéÄ⻯ƽ̨£©µÈ³£Óᢹ㷺ʹÓõŤ¾ß¶¼ÊÇ2016ÄêµÄDevOpsÈÈÃŹ¤¾ß¡£
»ù´¡¼Ü¹¹×é¼þµÄ°æ±¾¿ØÖÆ¡¢³ÖÐø¼¯³ÉºÍ×Ô¶¯»¯²âÊÔ
»ù´¡¼Ü¹¹µÄ°æ±¾¿ØÖÆÄÜÁ¦£¨¶ø·Ç»ù´¡¼Ü¹¹µÄ¹¹½¨½Å±¾»òÅäÖÃÎļþ£©¼°¶ÔÆä½øÐÐ×Ô¶¯»¯²âÊÔµÄÄÜÁ¦¼«ÆäÖØÒª¡£
DevOps×îÖջὫ30ÄêǰÈí¼þ¹¤³ÌÁìÓòËù²ÉÓõÄͬһÌ×XPʵ¼ù´øÖÁÉú²ú¶Ë¡£
´ËÍâ»ù´¡¼Ü¹¹ÔªËØÓ¦¸ÃÄÜÏòÈí¼þ½»¸¶ÎïÒ»Ñù½øÐгÖÐø¼¯³É¡£
2.3 ÊÕÒæ
DevOpsµÄÊÕÒæÓкܶ࣬°üÀ¨µ«²»ÏÞÓÚ£º
1.¿ÉÖØ¸´ÐÔÓë¿É¿¿ÐÔ£ºÊ±ÖÁ½ñÈÕ£¬¹¹½¨Éú²úÓüÆËã»úÖ»ÐèÒªÔËÐнű¾»ò±ØÒªµÄpuppetÃüÁî¼´¿É¡£Í¨¹ýÇ¡µ±µØÊ¹ÓÃDockerÈÝÆ÷»òVagrantÐéÄâ»ú£¬Ö»ÐèÔËÐÐÒ»ÌõÃüÁî¼´¿ÉÅäÖúðüº¬²Ù×÷ϵͳ²ãÒÔ¼°ËùÐèÈí¼þºÍÅäÖõÄÉú²úÓüÆËã»ú¡£µ±È»£¬Ëæ×Ÿ÷ÖÖ±ä¸ü»òÈí¼þ¿ª·¢¡¢³ÖÐø¼¯³É£¬²¢×Ô¶¯²âÊÔ£¬ÕâÌ×¹¹½¨½Å±¾»ò»úÖÆÒ²»á½øÐгÖÐø¼¯³É¡£
×îÖÕÐÒ¿÷ÓÐÁËXP»òÃô½Ý£¬ÎÒÃÇÔÚÈí¼þ¿ª·¢¶ËËùʹÓõÄͬһÌ×ʵ¼ùÒ²ÄÜÈÃÔËά¶Ë»ñÒæ¡£
2.Éú²úÁ¦£ºÒ»¼ü²¿Êð£¬Ò»¼ü¹©Ó¦£¬Ò»¼ü´´½¨Ð»·¾³¡¡Õû¸öÉú²ú»·¾³¿ÉÒÔͨ¹ýÒ»ÌõÃüÁî»òÒ»¼üµã»÷µÄ·½Ê½´´½¨¡£ÕâÑùµÄÒ»ÌõÃüÁîÒ²Ðí»áÔËÐг¤´ïÊýСʱ£¬µ«ÔÚÕâ¹ý³ÌÖÐÔËάÈËÔ±¿ÉÒÔ´ÓÊÂÆäËû¸üÓÐȤµÄ¹¤×÷£¬¶øÎÞÐèµÈ´ýÒ»ÌõÃüÁîÖ´ÐÐÍê±Ïºó¼ÌÐøÊäÈëÏÂÒ»ÌõÃüÁ±Ï¾¹ÕâÑùµÄ¹ý³ÌÓÐʱºò¿ÉÄÜÐèÒª»¨·Ñ¼¸Ììʱ¼ä²ÅÄÜÍê³É¡¡
3.»Ö¸´Ê±¼ä£¡£ºÒ»¼üµã»÷¼´¿É»Ö¸´Éú²ú»·¾³£¬¾ÍÊÇÕâô¼òµ¥¡£
4.È·±£»ù´¡¼Ü¹¹µÄͬÖÊ£º³¹µ×±ÜÃâÔËάÈËԱÿ´Î¹¹½¨»·¾³»ò°²×°Èí¼þʱ×îÖÕ»ñµÃµÄ½á¹ûÓëÔ¤ÆÚÓÐËù²îÒ죬ÕâÊÇÈ·±£»ù´¡¼Ü¹¹¾ø¶ÔͬÖÊ£¨Homogeneous£©²¢ÇÒ¿ÉÔÙÏÖµÄΨһ¿ÉÐз½·¨¡£ÒÔ´ËΪ»ù´¡£¬Í¨¹ý¶Ô½Å±¾»òPuppetÅäÖÃÎļþʹÓð汾¿ØÖÆ»úÖÆ£¬ÎÒÃÇÉõÖÁ¿ÉÒÔÖØ½¨³öÓëÉÏÖÜ¡¢ÉϸöÔ£¬»òÈí¼þÌØ¶¨°æ±¾·¢²¼Ê±ÍêȫһÖµÄÉú²ú»·¾³¡£
5.ά³ÖÕûÆë»®Ò»µÄ±ê×¼£º»ù´¡¼Ü¹¹±ê×¼ÉõÖÁ¿ÉÒÔ²»¸´´æÔÚ£¬´úÂë±¾Éí¾ÍÊDZê×¼¡£
6.Èÿª·¢Õß×ÔÐÐÍê³É´ó²¿·Ö¹¤×÷£ºÈç¹û¿ª·¢Õß×Ô¼ºÍ»È»¿ÉÒÔÔÚ×Ô¼ºµÄ»ù´¡¼Ü¹¹ÉÏÒ»¼üµã»÷ÖØ½¨Éú²ú»·¾³£¬ËûÃÇÒ²¾Í¿ÉÒÔ×ÔÐÐÍê³ÉºÜ¶àÓëÉú²ú»·¾³ÓйصÄÈÎÎñ£¬ÀýÈç¸üºÃµØÀí½âÉú²úʧ°Ü£¬Ìṩ¸üÇ¡µ±µÄÅäÖã¬ÊµÏÖ²¿Êð½Å±¾µÈ¡£
ÕâÖ»ÊÇÎÒ¸öÈ˸оõIaC¿ÉÌṩµÄ²¿·ÖÊÕÒæ£¬ÏàÐÅ»¹ÓкܶàÆäËûÊÕÒæ¡£
3. ³ÖÐø½»¸¶
³ÖÐø½»¸¶ÊÇÒ»ÖÖ¿ÉÒÔ°ïÖúÍŶÓÒÔ¸ü¶ÌµÄÖÜÆÚ½»¸¶Èí¼þµÄ·½·¨£¬¸Ã·½·¨È·±£ÁËÍŶӿÉÒÔÔÚÈκÎʱ¼ä·¢²¼³ö¿É¿¿µÄÈí¼þ¡£¸Ã·½·¨ÒâÔÚÒÔ¸ü¿ìËٶȸü¸ßƵÂʽøÐÐÈí¼þµÄ¹¹½¨¡¢²âÊԺͷ¢²¼¡£
ͨ¹ý¶ÔÉú²ú»·¾³ÖеÄÓ¦ÓóÌÐò½øÐиü¸ßƵ´ÎµÄÔöÁ¿¸üУ¬ÕâÖÖ·½·¨ÓÐÖúÓÚ½µµÍ½»¸¶±ä¸ü¹ý³ÌÖÐÉæ¼°µÄ³É±¾¡¢Ê±¼äºÍ·çÏÕ¡£×ã¹»¼òµ¥Ö±½Ó²¢ÇÒ¿ÉÖØ¸´µÄ²¿ÊðÁ÷³Ì¶Ô³ÖÐø½»¸¶¶øÑÔÖÁ¹ØÖØÒª¡£
×¢Ò⣺³ÖÐø½»¸¶ ¡Ù ³ÖÐø²¿Êð - ÓÐʱºòºÜ¶àÈË»á°Ñ³ÖÐø½»¸¶ÎóÈÏΪ³É³ÖÐø²¿Êð¡£³ÖÐø²¿ÊðÊÇָÿ¸ö±ä¸ü¿ÉÒÔ×Ô¶¯²¿Êðµ½Éú²ú»·¾³¡£³ÖÐø½»¸¶ÊÇÖ¸ÍŶÓÈ·±£Ã¿¸ö±ä¸ü¿ÉÒÔ²¿ÊðÖÁÉú²ú»·¾³£¬µ«Ò²Ðí²¢²»ÐèҪʵ¼Ê²¿Êð£¬Õâͨ³£¿ÉÄÜÊdzöÓÚÒµÎñ·½ÃæµÄÔÒò¡£Ö»Óгɹ¦ÊµÏÖ³ÖÐø½»¸¶µÄǰÌáÏ£¬²ÅÄܽøÐгÖÐø²¿Êð¡£
³ÖÐø½»¸¶µÄÖ÷ÒªÏë·¨ÔÚÓÚ£º
1.²¿ÊðԽƵ·±£¬¶Ô²¿ÊðÁ÷³Ì¾Í»áÔ½ÊìϤ£¬×Ô¶¯»¯»úÖÆ¾ÍÄÜ»ñµÃ¸üºÃµÄ½á¹û¡£Èç¹ûͬһ¼þÊÂÿÌìÐèÒªÖ´ÐÐ3´Î£¬ºÜ¿ìÄ㽫±äµÄÎÞ±ÈæµÊ죬µ«ºÜ¿ìÒ²»áÒòΪÈÕ¸´Ò»ÈÕ½â¾öͬÑùµÄÎÊÌâ¶ø¸Ðµ½Ñá·³¡£
2.²¿ÊðԽƵ·±£¬Ëù²¿ÊôµÄ±ä¸ü¼¯¾ÍԽ΢²»×ãµÀ£¬¶øÕâЩ΢²»×ãµÀµÄÄÚÈÝ×îÓпÉÄܳö´í£¬ÉõÖÁ¿ÉÄܵ¼Ö¶ªÊ§¶ÔÕû¸ö±ä¸ü¼¯µÄ¿ØÖÆÁ¦¡£
3.²¿ÊðԽƵ·±£¬TTR£¨ÐÞ¸´£¯½â¾öËùÐèʱ¼ä£©Ö¸±ê¾Í»áÔ½³öÉ«£¬´ÓÒµÎñÓû§´¦»ñµÃÓйع¦Äܵĸ÷Àà·´À¡µÄËÙ¶ÈÔ½¿ì£¬×÷³ö¸Ä½øÒÔ±ãÍêÃÀÂú×ã¶Ô·½ÐèÇóµÄ¹ý³ÌÒ²»áÔ½¼òµ¥£¨Õâ·½ÃæTTRÓëTTMÆäʵ·Ç³£ÏàËÆ£©¡£

£¨À´Ô´£ºOps Meta-Metrics: The Currency You Pay For Change
£©
µ«³ÖÐø½»¸¶²¢²»½ö½öÊǾ¡¿ÉÄÜÆµ·±µØ¹¹½¨¿É·¢²¼¡¢Éú²ú¾ÍÐ÷°æ±¾µÄÈí¼þ²úÆ·ÄÇô¼òµ¥¡£³ÖÐø½»¸¶°üº¬3¸ö¹Ø¼üʵ¼ù£º
1.´Óʵ¼ùÖÐѧϰ
2.×Ô¶¯»¯
3.¸üƵ·±µÄ²¿Êð
3.1 ´Óʵ¼ùÖÐѧϰ
³ÖÐø½»¸¶µÄ¹Ø¼üÔÚÓÚÒªÄÜ´Óʵ¼ùÖÐѧϰ¡£ÕæÀí²¢²»´æÔÚÓÚ¿ª·¢ÍŶÓÖУ¬¶øÔÚÓÚÒµÎñÓû§ÖС£È»¶øÎÞÂÛ»¨¶à³¤Ê±¼ä£¬Ã»ÈËÄÜÕæÕýÇå³þµØ±í´ï×Ô¼ºµÄÏë·¨£¬»òÕß½«×Ô¼ºµÄÏë·¨ÓÃÇåÎúµÄÎĵµ¸ÅÀ¨³öÀ´¡£Ò²ÕýÊÇÒò´Ë£¬Ãô½Ý·½·¨ÂÛÇ¿µ÷½«¹¦ÄÜÌṩ¸øÓû§£¬²¢²»Ï§Ò»Çдú¼Û´ÓÓû§´¦»ñµÃ¾¡¿ÉÄܶàµÄ·´À¡¡£
³ÖÐø½»¸¶Óë³ÖÐø²¿ÊðÀàËÆ£¬ÐèÒª¾¡¿ÉÄܼõÉÙǰÖÃʱ¼ä£¬ÕâÒ²ÊǾ¡¿ì´ÓÓû§´¦»ñµÃ¡°ÕæÀí¡±µÄ¹Ø¼ü¡£
µ«ÕæÀí¾ø¶Ô²»»áÀ´×ÔÕý¹æÐÎʽµÄÓû§·´À¡¡£ÎÒÃǾø²»Äܾ¡ÐÅ×Ô¼ºµÄÓû§»ò¼ÄÏ£ÍûÓÚͨ¹ýÕý¹æÐÎʽµÄ·´À¡Á˽âÓû§¡£ÎÒÃÇÖ»ÄÜÏàÐÅ×Ô¼ºµÄ¶ÈÁ¿¡£
³ÕÃÔÓÚ¶ÈÁ¿ÊǾ«Òæ´´Òµ£¨Lean Startup£©»î¶¯ÖÐÒ»¸öÖØÒªµÄ¸ÅÄµ«ÕâÒ»¸ÅÄî¶ÔDevOpsͬÑùÖØÒª¡£ÎÒÃÇÓ¦¸Ã¶ÈÁ¿Ò»ÇУ¡È·¶¨×îÇ¡µ±µÄ¶ÈÁ¿Ö¸±ê¿ÉÒÔÈÃÍŶÓÁ˽âijÖÖ·½·¨×îÖÕÄÜ·ñ³É¹¦»òʧ°Ü£¬Á˽âÔõÑù×ö¿ÉÒÔ»ñµÃ¸üºÃµÄ½á¹û£¬ÒÔ¼°ÄÄЩ×î³É¹¦µÄ×ö·¨Í¬Ê±Ò²Ô̺¬×ÅÒ»¶¨µÄ·çÏÕ¡£ÎªÁ˰ïÖúÍŶÓ×ö³ö¸üÃ÷Öǵľö²ß£¬ÔÚÈ·¶¨ÒªºâÁ¿µÄÖ¸±êʱ£¬Ò»¶¨Òª±§×Å¡°Äþ¶àÎðÉÙ¡±µÄÔÔò¡£
²»ÐèÒª¡°¿¼ÂÇ¡±£¬Ö»ÐèÒª¡°ÖªµÀ¡±£¡¡°ÖªµÀ¡±µÄΨһ·½·¨¾ÍÊǶÈÁ¿£¬¶ÈÁ¿Ò»ÇУºÏìӦʱ¼ä¡¢Óû§Ë¼¿¼Ê±¼ä¡¢Õ¹Ê¾´ÎÊý¡¢APIµ÷ÓôÎÊý¡¢µã»÷Âʵȣ¬µ«ÕâЩ²¢·ÇÐèÒª¶ÈÁ¿µÄÈ«²¿¡£ÕÒ³öËùÓÐÄÜÈÃÄã¸ü½øÒ»²½Á˽âÓû§¶Ô¹¦ÄÜ¿´·¨µÄ¶ÈÁ¿Ö¸±ê£¬¶ÔËùÓÐÕâЩָ±ê½øÐжÈÁ¿£¡
ÕâÖÖ·½·¨¿ÉÒÔ±íʾΪÈçÏÂÐÎʽ£º

3.2 ×Ô¶¯»¯
×Ô¶¯»¯ÒѾÔÚÉÏÎÄ2. »ù´¡¼Ü¹¹¼´´úÂëÒ»½Ú½øÐÐÁËÌÖÂÛ¡£
ÔÚÕâÀïÎÒÏëÇ¿µ÷µÄÊÇ£¬ÔÚûÓн«Óë»ù´¡¼Ü¹¹ÓйصÄËùÓй©Ó¦ºÍÈÎÎñʵÏÖÍ×ÉÆ¡¢È«ÃæµÄ×Ô¶¯»¯Ö®Ç°£¬³ÖÐø½»¸¶¸ù±¾ÎÞ´Ó̸Æð¡£
ÕâÒ»µãºÜÖØÒª£¬Òò´ËÓбØÒªÔÙÖØ¸´Ò»±é£º»·¾³µÄ´î½¨ºÍÉú²ú¾ÍÐ÷°æ±¾Èí¼þµÄ²¿ÊðÖ»ÐèÒªÒ»¼üµã»÷£¬Ö»ÐèÒªÔËÐÐÒ»ÌõÃüÁÕû¸ö¹ý³ÌÓ¦¸Ã×Ô¶¯Íê³É¡£·ñÔò¸ù±¾ÎÞ·¨ÉèÏëÄÜÒ»Ìì¶à´Î²¿Êðͬһ¸öÈí¼þ¡£
ÔÚÏÂÎĵÄ3.5 ÁãÍ£»ú²¿ÊðÒ»½ÚÖУ¬»¹½«½éÉÜÓÐÖúÓÚ×Ô¶¯»¯½»¸¶µÄÆäËûÖØÒª¼¼Êõ¡£
3.3 ¸üƵ·±µÄ²¿Êð
DevOpsµÄÐÅÌõÔÚÓÚ£º
¡°Ô½ÊÇÀ§ÄѵÄÊ£¬ÐèÒª¸üƵ·±µØ½øÐУ¡¡±
Ãô½Ý˼άÖУ¬À§ÄÑÈÎÎñ¸üÒªÓÄѶøÉÏ£¬¸üƵ·±µØÈ¥×ö£¬ÕâÖÐÏë·¨·Ç³£ÖØÒª¡£
×Ô¶¯»¯²âÊÔ¡¢Öع¹¡¢Êý¾Ý¿âÇ¨ÒÆ¡¢ÃæÏò¿Í»§µÄ²úÆ·¹æ¸ñ¡¢¹æ»®¡¢·¢²¼ - ËùÓÐÕâЩ»î¶¯¶¼Òª¾¡¿ÉÄÜÆµ·±µØ½øÐС£
ÔÒòÖ÷ÒªÓÐÈýµã£º
1.Ê×ÏÈ£¬Ëæ×ÅÒª×öµÄ¹¤×÷Á¿Öð½¥Ôö¼Ó£¬ÕâЩÈÎÎñÒ²»á±äµÄÓú¼ÓÀ§ÄÑ£¬µ«Èç¹ûÄܲð½âΪС¿é£¬Ôò»á±äµÄÏà¶ÔÈÝÒ×Щ¡£
ÒÔÊý¾Ý¿âÇ¨ÒÆÎªÀý£ºÒ»Ð©Éæ¼°´óÁ¿±íµÄ´ó¹æÄ£Êý¾Ý¿âÇ¨ÒÆ¹¤×÷ºÜÂé·³£¬ÈÝÒ׳ö´í¡£µ«Èç¹ûÒ»´ÎÖ»Ç¨ÒÆÒ»²¿·Ö£¬Ôò¿ÉÒÔÏà¶Ô½ÏÈÝÒ׵سɹ¦Íê³ÉÕû¸öÇ¨ÒÆÈÎÎñ¡£´ËÍ⻹¿ÉÒÔÇáËɵؽ«¶à¸öС¹æÄ£µÄÇ¨ÒÆÈÎÎñ°²ÅųÉÒ»¶¨µÄÐòÁУ¬ÔÚ½«Ò»¸ö¼èÄѵĴóÈÎÎñ²ð½âΪһϵÁÐÈÝÒ×ʵÏÖµÄСĿ±êºó£¬´¦ÀíÆðÀ´¾Í¼òµ¥¶àÁË¡££¨ÕâÒ²ÊÇÊý¾Ý¿âÖØ¹¹µÄ±¾ÖÊ£©
2.µÚ¶þ¸öÔÒòÔÚÓÚ·´À¡¡£´ó²¿·ÖÃô½Ý˼ά¹Ø×¢µÄÊÇÉèÖ÷´À¡»·Â·£¬½è´ËÈÃÎÒÃǸü¿ìËÙµØÑ§Ï°Á˽⡣·´À¡ÒѾÊǼ«ÏÞ±à³Ì£¨Extreme
Programming£©ÖÐÒ»¸ö·Ç³£ÖØÒª£¬Ô̺¬¾Þ´ó¼ÛÖµµÄ¸ÅÄî¡£ÔÚÖîÈçÈí¼þ¿ª·¢µÈ¸´ÔÓÁ÷³ÌÖУ¬ÎÒÃÇÐèÒª¸üƵ·±µØ¼ì²é×Ô¼ºµÄ×îнøÕ¹£¬²¢½øÐбØÒªµÄ¾ÀÕý¡£Îª´ËÎÒÃDZØÐ뾡һÇпÉÄÜ´´½¨·´À¡»·Â·£¬²¢Ìá¸ß·´À¡µÄƵÂÊ£¬ÕâÑù²ÅÄܸü¿ìËÙµØ×ÃÇé×ö³öµ÷Õû¡£
3.µÚÈý¸öÔÒòÊÇʵ¼ù¡£¶ÔÓÚÈκλ£¬Ô½Æµ·±µØ´ÓʾÍÔ½ÄÜ»ñµÃÍêÉÆ¡£Êµ¼ù¿ÉÒÔ°ïÖúÎÒÃÇÀíÇåÕû¸öÁ÷³Ì£¬ÈÃÎÒÃǸüÊìϤ´ú±íÓÐÊÂÇé³ö´íµÄÕ÷Õס£Ö»ÒªÈÏÕæ×ÁÄ¥×Ô¼º´ÓÊµĹ¤×÷£¬¾ÍÄÜÌáÁ¶³ö½üÒ»²½ÍêÉÆËùÐèµÄʵ¼ù¡£
¶ÔÓÚÈí¼þ¿ª·¢£¬Ò²ÓпÉÄÜʵÏÖÒ»¶¨³Ì¶ÈµÄ×Ô¶¯»¯¡£Ò»µ©ÓÐÈ˽«Ä³¼þÊÂ×öÁ˶à´Î£¬¾Í¿ÉÒÔ¸üÈÝÒ×µØÈ·¶¨¸ÃÈçºÎ½øÐÐ×Ô¶¯»¯£¬¸üÖØÒªµÄÊÇ£¬ÕâÑùµÄÈËÔÚ¶ÔÕâЩÊÂÇéʵÏÖ×Ô¶¯»¯·½Ã潫Óиü´óµÄ¶¯»ú¡£´Ëʱ×Ô¶¯»¯ÓÈÎªÖØÒª£¬ÒòΪ¿ÉÒÔ¼Ó¿ìËٶȲ¢½µµÍ³ö´íµÄ¸ÅÂÊ¡£

ÄÇôÕâ¾Í²úÉúÁËÒ»¸öÎÊÌ⣺ʹÓÃDevOps·½·¨Ê±£¬¸ÃÑ¡ÔñÔõÑùµÄ½»¸¶ÆµÂÊ£¿
Õâ¸öÎÊÌâûÓбê×¼´ð°¸£¬¶øÊÇÈ¡¾öÓÚ²úÆ·¡¢ÍŶӡ¢Êг¡¡¢¹«Ë¾¡¢Óû§¡¢ÔËάÐèÇóµÈ¸÷ÖÖÒòËØ¡£
ÎÒÈÏΪ×î¼Ñ´ð°¸Ó¦¸ÃÊÇ£ºÈç¹û²»ÄÜʵÏÖÖÁÉÙÿÁ½ÖÜÒ»´Î½»¸¶£¬»òÔÚ³å´Ì½×¶Î½áÊøÊ±½»¸¶£¬ÄÇôÁ¬Ãô½Ý¶¼Ì¸²»ÉÏ£¬DevOpsÓÖ´ÓºÎ̸ÆðÄØ£¿
DevOps¹ÄÀøÎÒÃǾ¡¿ÉÄÜÆµ·±µÄ½»¸¶¡£ÔÚÎÒ¿´À´£¬ÄãÐèÒª¶ÔÍŶӽøÐÐÅàѵ£¬ÈÃËûÃÇÄܹ»×öµ½¾¡¿ÉÄÜÆµ·±µÄ½»¸¶¡£ÎÒÔÚÎÒµÄÍŶÓÖÐʹÓõÄÒ»ÖÖ½ÏΪ¿ÉÐеķ½·¨ÊÇÔÚQA»·¾³ÖÐÿÌì½»¸¶Á½´Î¡£½»¸¶¹ý³ÌÊÇÍêÈ«×Ô¶¯»¯µÄ£ºÃ¿ÌìÁ½´Î£¬ÖÐÎçºÍÎçÒ¹¸÷Ò»´Î£¬¼ÆËã»úÆô¶¯ÆðÀ´£¬¹¹½¨Èí¼þ×é¼þ£¬ÔËÐм¯³É²âÊÔ£¬¹¹½¨²¢Æô¶¯ÐéÄâ»ú£¬²¿ÊðÈí¼þ×é¼þ£¬¶ÔÆä½øÐÐÅäÖã¬ÔËÐй¦ÄܲâÊԵȡ£
3.4 ³ÖÐø½»¸¶µÄǰÌáÐèÇó
ÔÚ¸ÄΪʹÓóÖÐø½»¸¶·½Ê½Ö®Ç°£¬ÐèÒªÂú×ãÄÄЩҪÇó£¿
ÎÒ²ÝÄâµÄÐèÇóÇåµ¥ÈçÏ£º
1.¶ÔÈí¼þ×é¼þµÄ¿ª·¢ºÍƽ̨µÄ¹©Ó¦ºÍÉèÖýøÐгÖÐø¼¯³É¡£
2.TDD - ²âÊÔÇý¶¯µÄ¿ª·¢¡£ÕâÒ»µã»¹ÓдýÉÌȶ¡¡µ«Ê¼ÖÕ»¹ÊÇÐèÒªÃæ¶Ô£ºTDDÊÇĿǰΨһÄÜͨ¹ýµ¥Ôª²âÊÔ¶Ô´úÂëºÍ·ÖÖ§½øÐпɽÓÊ̶ܳȸ²¸ÇµÄ·½·¨£¨µ¥Ôª²âÊÔʹµÃÎÊÌâµÄÐÞ¸´¹ý³Ì±È¼¯³É²âÊÔ»ò¹¦ÄܲâÊÔÈÝÒ׺ࣩܶ¡£
3.´úÂëÉóÔÄ£¡ÖÁÉÙÒª½øÐдúÂëÉóÔÄ¡¡Èç¹ûÄܽøÐнá¶Ô±à³Ì£¨Pair programming£©µ±È»¾Í¸üºÃÁË¡£
4.Èí¼þµÄ³ÖÐøÉó¼Æ - ÀýÈçʹÓÃSonar¡£
5.ÔÚÉú²ú¼¶»·¾³ÊµÏÖ¹¦ÄܲâÊÔµÄ×Ô¶¯»¯¡£
6.¸üÇ¿´óµÄ·Ç¹¦ÄܲâÊÔ×Ô¶¯»¯£¨ÐÔÄÜ¡¢¿ÉÓÃÐԵȣ©¡£
7.¶ÀÁ¢ÓÚÄ¿±ê»·¾³µÄ×Ô¶¯»¯´ò°üºÍ²¿Êð¡£
ÁíÍâÔÚ¹ÜÀíÖØ´ó¹¦ÄܺÍÑݽøÊ±£¬»¹ÐèÒª¾ß±¸½¡È«µÄÈí¼þ¿ª·¢Êµ¼ù£¬ÀýÈçÁãÍ£»ú²¿Êð¼¼Êõ¡£
3.5 ÁãÍ£»ú²¿Êð
¡°ÁãÍ£»ú²¿Êð£¨ZDD£©¿ÉÔÚ²»ÖжÏÏÖÓзþÎñµÄÇé¿öϲ¿ÊðаæÏµÍ³¡£¡±
ͨ¹ýZDD·½Ê½²¿ÊðÓ¦ÓóÌÐòʱ£¬¿ÉÔÚÈ·±£Óû§²»»áÔâÓöÓ¦ÓóÌÐòÍ£»úµÄǰÌáϽ«Ð°æÓ¦ÓÃÒýÈëÉú²ú»·¾³¡£´ÓÓû§ºÍ¹«Ë¾µÄ½Ç¶ÈÀ´¿´£¬ÕâÓ¦¸ÃÊÇ×î¼Ñ²¿Êð·½Ê½£¬ÒòΪ¿ÉÒÔÔÚ²»Ôì³ÉÈκÎÖжϵÄÇé¿öÏÂÒýÈëй¦Äܲ¢ÐÞ¸´Bug¡£
ÏÂÎĽ«½éÉÜ4ÖÖ¼¼Êõ£º
1.¹¦ÄÜ¿ª¹Ø£¨Feature Flipping£©
2.ÃþºÚÆô¶¯£¨Dark launch£©
3.À¶£¯Â̲¿Êð£¨Blue/Green Deployment£©
4.½ð˿ȸ·¢²¼£¨Canari release£©
¹¦ÄÜ¿ª¹Ø
¹¦ÄÜ¿ª¹Ø¿É¹©ÎÒÃÇÔÚÈí¼þÔËÐйý³ÌÖÐÆôÓ㯽ûÓÃÏàÓ¦µÄ¹¦ÄÜ¡£ÕâÖÖ¼¼ÊõÆäʵ·Ç³£ÈÝÒ×Àí½âºÍʹÓãºÎªÉú²ú°æ±¾Ìṩһ¸öÄܳ¹µ×½ûÓÃijÏÄܵÄÅäÖ㬲¢Ö»ÔÚ¶ÔÓ¦¹¦Äܳ¹µ×Í깤¿ÉÒÔÕý³£¹¤×÷ºó²Å½«¸ÃÊôÐÔ¼¤»î¡£
¾ÙÀýÀ´Ëµ£¬ÈôÒª½«Ä³¸öÓ¦ÓóÌÐòÄÚµÄÒ»¸ö¹¦ÄÜÈ«¾Ö½ûÓûò¼¤»î£º
if Feature.isEnabled('new_awesome_feature') # Do something new, cool and awesome else # Do old, same as always stuff end |
»òÕßÈç¹ûÒªÕæ¶Ô¾ßÌåÓû§ÊµÏÖÀàËÆÄ¿µÄ£º
if Feature.isEnabled('new_awesome_feature', current_user) # Do something new, cool and awesome else # Do old, same as always stuff end |
ÃþºÚÆô¶¯
ÃþºÚÆô¶¯µÄÄ¿µÄÔÚÓÚͨ¹ýÉú²ú»·¾³½øÐиºÔØÄ£Ä⣡
ÔÚ²âÊÔ»·¾³ÖУ¬Í¨³£ºÜÄÑΪÈí¼þÄ£Äâ³ö³É°ÙÉÏǧÍòÓû§¹æÄ£µÄ¸ºÔØ¡£
Èç¹û²»½øÐÐÇÐʵµÄ¸ºÔزâÊÔ£¬¾ÍÎÞ·¨ÖªµÀ»ù´¡¼Ü¹¹ÄÜ·ñ³ÐÊÜס×îÖÕÃæÁÙµÄѹÁ¦¡£
´Ëʱ²¢²»ÐèҪģÄâ¸ºÔØ£¬¶øÊÇ¿ÉÒÔʵ¼Ê²¿ÊðÕâÑùµÄ¹¦ÄÜ£¬È»ºó¿´¿´ÔÚ²»Ó°Ïì¿ÉÓÃÐÔµÄǰÌáϵ½µ×»á·¢Éúʲô¡£
Facebook½«ÕâÖÖ×ö·¨³ÆÖ®Îª¹¦Äܵġ°ÃþºÚÆô¶¯¡±¡£
¼ÙÉèÎÒÃÇÒª½«Ò»¸öÓÐ5ÒÚÓû§Ê¹Óõľ²Ì¬ËÑË÷×ֶαä³ÉÒ»¸ö°üº¬×Ô¶¯²¹È«¹¦ÄܵÄ×ֶΣ¬½è´ËÈÃÓû§¿ÉÒÔ¸ü¿ìËÙ»ñµÃËÑË÷½á¹û¡£Îª¸Ã¹¦Äܹ¹½¨Ò»¸öWeb·þÎñ£¬²¢ÇÒÏ£ÍûÄ£ÄâËùÓÐÓû§Í¬Ê±ÊäÈëÎÄ×Ö£¬Ïò¸ÃWeb·þÎñÉú³É´óÁ¿ÇëÇóµÄ³¡¾°¡£
´Ëʱ¼´¿Éͨ¹ýÃþºÚÆô¶¯²ßÂÔΪÏÖÓÐ±íµ¥Ìí¼ÓÒ»¸öÒþ²ØµÄºǫ́½ø³Ì£¬Í¨¹ý¸Ã½ø³Ì½«ÊäÈëµÄËÑË÷¹Ø¼ü×Ö·¢Ë͸øÐÂÔöµÄ×Ô¶¯²¹È«·þÎñ£¬²¢×Ô¶¯·¢ËͶà´Î¡£
¾ÍËãÐÂÔöµÄWeb·þÎñ³¹µ×±ÀÀ£ÁË£¬Ò²²»»áÔì³ÉÈκÎʵÖÊË𺦡£ÍøÒ³ÉÏ¿ÉÒÔÍêÈ«ºöÂÔ·þÎñÆ÷´íÎó¡£¶ø¾ÍËã¸Ã·þÎñ±ÀÀ£ÁË£¬ÎÒÃÇÖÁÉÙ»¹¿ÉÒԶԸ÷þÎñ½øÐÐÓÅ»¯ºÍÍêÉÆ£¬Ö±µ½ÄܳÐÊÜÈç´Ë´óÁ¿µÄ¸ºÔØ¡£
Õâ¾ÍµÈÓÚÔÚÏÖʵÊÀ½çÖнøÐÐÁËÒ»´Î¸ºÔزâÊÔ¡£
À¶£¯Â̲¿Êð
À¶£¯Â̲¿ÊðÊÇָΪÏÂÒ»°æ²úÆ·¹¹½¨ÁíÒ»¸öÍêÕûµÄÉú²ú»·¾³¡£¿ª·¢ºÍÔËάÍŶӿÉÒÔÔÚÕâ¸öµ¥¶ÀµÄÉú²ú»·¾³ÖзÅÐĵع¹½¨ÏÂÒ»°æ²úÆ·¡£
µ±ÏÂÒ»°æ²úÆ·È«²¿Íê³Éºó£¬¿ÉÒÔÐ޸ĸºÔؾùºâÆ÷µÄÅäÖã¬ÒÔ͸Ã÷µÄ·½Ê½½«Óû§×Ô¶¯Öض¨ÏòÖÁз¢²¼µÄÏÂÒ»°æ¡£
Ëæºó¿É½«ÉÏÒ»°æµÄÉú²ú»·¾³»ØÊÕ£¬ÓÃÓÚ¹¹½¨ÏÂÏÂÒ»°æµÄ²úÆ·¡£
ÒÔ´ËÀàÍÆ¡£

£¨À´Ô´£ºLes Patterns des
G¨¦ants du Web ¨C Zero Downtime Deployment £©
ÕâÊÇÒ»ÖÖÏ൱ÓÐЧ¼òµ¥µÄ·½·¨£¬µ«ÎÊÌâÔÚÓÚÕâÖÖ·½Ê½ÐèҪ˫±¶µÄ»ù´¡¼Ü¹¹ÒÔ¼°¸ü¶àµÄ·þÎñÆ÷µÈ¡£
¼ÙÉèÒ»ÏÂFacebookÏ£Íû½«°üº¬³ÉǧÉÏÍǫ̀·þÎñÆ÷µÄ»·¾³¡°ÕÕÔÑùÔÙÀ´Ò»Ìס±¡¡
Æäʵ»¹ÓиüºÃµÄ·½·¨¡£
½ð˿ȸ·¢²¼
´Ó±¾ÖÊÀ´¿´£¬½ð˿ȸ·¢²¼ÓëÀ¶£¯Â̲¿Êð·Ç³£ÀàËÆ£¬µ«ÎÞÐè×¼±¸¶îÍâµÄÒ»Ì×Éú²ú»·¾³¡£
ÕâÖÖ·½Ê½µÄÄ¿±êÔÚÓÚÒÔÔöÁ¿µÄ·½Ê½½«Óû§Çл»ÖÁа汾£ºËæ×ÅÔ½À´Ô½¶àµÄ·þÎñÆ÷´Óµ±Ç°°æ±¾Ç¨ÒÆÖÁÏÂÒ»°æ£¬Ïàͬ±ÈÀýµÄÓû§Ò²»á±»Í¬Ê±Ç¨ÒÆ¡£
ͨ¹ýÕâÖÖ·½Ê½£¬Ã¿¸öÉú²ú»·¾³¶¼ÄÜ»ñµÃÓë¸ºÔØÐèÇóÏàÆ¥ÅäµÄ·þÎñÆ÷ÊýÁ¿¡£
Ê×ÏÈ£¬Ö»½«ÉÙÁ¿·þÎñÆ÷ºÍÉÙ²¿·ÖÓû§Ç¨ÒÆÖÁÏÂÒ»°æ£¬½è´Ë»¹¿ÉÒÔÔÚÎÞÐëðÏÕÓ°ÏìËùÓÐÓû§µÄǰÌá϶ÔÐÂ°æ½øÐвâÊÔ¡£
µ±ËùÓзþÎñÆ÷×îÖÕ´Óµ±Ç°°æÇ¨ÒÆÖÁÏÂÒ»°æºó£¬·¢²¼¹¤×÷ÒѾÍê³É£¬ÓÖ¿ÉÒÔ´ÓÍ·¿ªÊ¼×¼±¸ÏÂÏÂÒ»°æÁË¡£

£¨À´Ô´£ºLes Patterns des
G¨¦ants du Web ¨C Zero Downtime Deployment £©
4. Ð×÷
Ãô½ÝÈí¼þ¿ª·¢ÆÆ³ýÁËÐèÇó·ÖÎö¡¢²âÊԺͿª·¢Ö®¼äµÄһЩ¸ôºÒ¡£²¿Êð¡¢ÔËάºÍά»¤µÈÆäËû»î¶¯ÓëÈí¼þ¿ª·¢¹ý³ÌÖÐµÄÆäËû»·½ÚÒ²´æÔÚÀàËÆµÄ·Ö¸ô¡£DevOps·½·¨ÒâÔÚÆÆ³ýËùÓÐÕâЩ¸ôºÒ£¬¹ÄÀø¿ª·¢ºÍÔËάÈËÔ±Ö®¼äµÄÐ×÷¡£
Èç¹ûûÓÐÅàÑø³öÕýÈ·µÄÎÄ»¯£¬¾ÍËãÓÐ×î°ôµÄ¹¤¾ß£¬DevOps¶ÔÄã¶øÑÔÒ²²»¹ýÊÇÁíÒ»¸öÈÈÃÅ´Ê»ã°ÕÁË¡£
DevOpsÎÄ»¯µÄÖ÷ÒªÌØÕ÷ÔÚÓÚ¿ª·¢ºÍÔËά½Çɫ֮¼äÈÕÒæÔö¼ÓµÄÐ×÷¡£ÕâÊÇÒ»ÖÖÔÚÍŶÓÄÚ²¿ÒÔ¼°×éÖ¯²ãÃæÉϺÜÖØÒªµÄÎÄ»¯±äǨ£¬Í¨¹ýÕâÑùµÄ±äǨ²ÅÄÜ´Ù½ø¸üºÃµÄÐ×÷¡£
ÕâÖÖ·½Ê½½â¾öÁËÒ»¸ö·Ç³£ÖØÒªµÄÎÊÌ⣬¶øÕâ¸öÎÊÌâÍêÈ«¿ÉÒÔÓÃÏÂÃæÕâ¸öÍøÂçÁ÷Ðл°À´ÌåÏÖ£º

£¨À´Ô´£ºDevOps Memes @ EMCworld
2015 £©
ÍŶӺÏ×÷¶ÔDevOpsÊÇÈç´ËµÄÖØÒª£¬´ó²¿·Ö·½·¨ÂÛËùҪʵÏÖµÄ×îÖÕÄ¿±ê×ܵÄÀ´Ëµ¿ÉÒÔͨ¹ýÁ½¸öCÀ´ÊµÏÖ£ºÐ×÷£¨Collaboration£©ºÍ¹µÍ¨£¨Communication£©¡£ËäÈ»µ¥´¿×öµ½ÕâЩ¾àÀëÕæÕýµÄDevOps¹¤×÷»·¾³»¹ÓкܴóµÄ²î¾à£¬µ«Èκι«Ë¾Ö»ÒªÄܼá³ÖÕâÁ½¸öC£¬¾ÍµÈÓÚÂõ³öÁË×îÕýÈ·µÄµÚÒ»²½¡£
µ«ÎªÊ²Ã´»áÄÇôÄÑ×öµ½£¿
4.1 »ìÂÒ֮ǽ
ÒòΪÓÐÒ»¶Â»ìÂÒ֮ǽ£º

ÔÚ´«Í³¿ª·¢ÖÜÆÚÖУ¬¿ª·¢ÍŶӽ«Ð·¢²¼µÄÈí¼þ¡°¸ôǽÈÓ¸ø¡±ÔËάÈËÔ±£¬Òâζ×Å×Ô¼ºµÄ¹¤×÷ÒѾ˳ÀûÍê³É¡£
ÔËάÈËÔ±½ÓÊÖ¿ª·¢Õߵijɹû£¬×¼±¸¿ªÊ¼½øÐв¿Êð¡£ÔËάÈËÔ±ÊÖ¹¤ÐÞ¸ÄÓÉ¿ª·¢ÕßÌṩµÄ²¿Êð½Å±¾£¬µ±È»¸ü¶àʱºòÕâЩ½Å±¾¶¼ÊÇÔËάÈËÔ±×Ô¼ºÎ¬»¤µÄ¡£
ÔËάÈËÔ±»¹ÐèÒªÊÖ¹¤ÐÞ¸ÄÅäÖÃÎļþ£¬ÒÔ·´Ó³Éú²ú»·¾³µÄÐèÇ󣬶øÉú²ú»·¾³ÍùÍùÓ뿪·¢»òQA»·¾³Óкܴó²îÒì¡£
¾ÍËã×îÀíÏëµÄÇé¿ö£¬ÔËάÈËÔ±¿ÉÄÜÖ»ÊÇ×öÁËһЩÔÚÉÏÒ»¸ö»·¾³ÖÐÒѾ×ö¹ýµÄÖØ¸´¹¤×÷£¬¶ø×îÔã¸âµÄÇé¿ö£¬¿ÉÄÜ»áÒýÈë»ò·¢ÏÖеÄBug¡£
ËæºóITÔËάÍŶӿªÊ¼ÌÖÂÛËûÃÇËùÈÏΪµÄ£¬Ä¿Ç°×îÕýÈ·µÄ²¿ÊðÁ÷³Ì£¬È»¶øÓÉÓÚ¿ª·¢ºÍÔËάÔڽű¾¡¢ÅäÖá¢Á÷³Ì£¬ÉõÖÁ»·¾³µÈ·½ÃæµÄ²îÒ죬»ù±¾ÉϵÈͬÓÚÒª´ÓÁ㿪ʼ½«ËùÓй¤×÷ÖØÐÂÖ´ÐÐÒ»±é¡£
µ±È»ÕâÒ»¹ý³ÌÖв»¿É±ÜÃâ»áÓöµ½ÎÊÌ⣬ËûÃÇÁªÏµ¿ª·¢ÕßÏ£Íû½øÐÐÅÅ´í¡£ÔËά³Æ¿ª·¢ÕßÌṩµÄ´úÂë±¾ÉíÓÐÎÊÌ⣬¿ª·¢ÕßÔò»ØÓ¦³Æ´úÂëÔÚ×Ô¼ºµÄ»·¾³ÖÐÒ»ÇÐÕý³££¬Òò´Ë´íÎó¿Ï¶¨Ô´×ÔÔËά¶Ë¡£
ÓÉÓÚÅäÖá¢ÎļþλÖã¬ÒÔ¼°ÃæÁÙÕâÖÖ״̬ËùÖ´ÐеIJÙ×÷Óë×Ô¼ºµÄÔ¤ÆÚµÈÒòËØ´æÔڽϴó²îÒ죬¿ª·¢ÕßÉõÖÁºÜÄѶÔÕâÑùµÄÎÊÌâ½øÐÐÕï¶Ï¡£±ä¸ü´°¿ÚÁôϵÄʱ¼äËùÊ£ÎÞ¼¸£¬µ±È»Ò²Ã»Ê²Ã´×ã¹»¿¿Æ×µÄ·½·¨½«»·¾³»Ø¹öÖÁÉÏÒ»¸öÕý³£×´Ì¬¡£
ÄÇôԱ¾Ó¦¸ÃÒ»·«·ç˳µÄ²¿Êð¹ý³Ì£¬ÎªÊ²Ã´×îºóÈ´±ä³ÉÁË¡°ÖÚÖ¾³É³Ç¡±µÄÓ¦¼±ÑÝϰ£¿±ØÐë¾Àú´óÁ¿Ö¸ÔðºÍ´íÎó²ÅÄÜ×îÖÕÈÃÉú²ú»·¾³»Ö¸´¿ÉÓÃ״̬£¿
ÕâÖÖÇé¿ö¾³£·¢Éú£¬¾³££¡
DevOpsÀ´¾È³¡ÁË
ͨ¹ýÔÚ¹²Í¬µÄÒµÎñÄ¿µÄÇé¾³ÖÐÈÿª·¢ºÍÔËά½ÇÉ«ÓëÁ÷³Ì±äµÄÒ»Ö£¬DevOpsÓÐÖúÓÚ´Ù½øITµÄͳһ¡£¿ª·¢ºÍÔËά¶¼ÐèÒªÃ÷È·£¬×Ô¼ºÊÇͳһҵÎñÁ÷³ÌµÄÒ»·Ý×Ó¡£DevOps˼άȷ±£ÁËÎÞÂÛ×éÖ¯½á¹¹ÊÇÔõÑùµÄ£¬¸öÌå¾ö²ßÓëÐÐΪÐèÒª¾¡Á¦ÎªÍ³Ò»µÄÒµÎñÁ÷³ÌÌṩ֧³ÖºÍ´Ù½ø×÷Óá£
ÑÇÂíÑ·CTOWerner VogelÉõÖÁÔÚ2014Äê˵¹ý£º
¡°Ë¿ª·¢£¬ËÔËÐС£¡±
4.2 Èí¼þ¿ª·¢Á÷³Ì
ÏÂͼ¼òÒªÃèÊöÁËÃô½ÝÈí¼þ¿ª·¢Á÷³Ìͨ³£µÄÑù×Ó¡£
×ʼ£¬ÒµÎñ´ú±íÓë²úÆ·¸ºÔðÈËÒÔ¼°¼Ü¹¹ÍŶӺÏ×÷¶¨ÒåÈí¼þ£¬ÕâÒ»¹ý³Ì¿ÉÄÜ»áʹÓÃStory MappingºÍÓû§¹ÊÊ£¬»òÕßʹÓøüÍêÕûµÄ¹æ·¶¡£
Ëæºó¿ª·¢ÍŶÓͨ¹ý¶ÌÔݵĿª·¢³å´Ì¿ª·¢³öÈí¼þ£¬²¢ÔÚÿ¸ö³å´Ì½áÊøºó½«Éú²ú¾ÍÐ÷°æ±¾µÄÈí¼þ·¢²¼¸øÒµÎñÓû§£¬½ø¶øÊÕ¼¯·´À¡²¢¾¡¿ÉÄÜÆµ·±µØµ÷Õû·½Ïò¡£
×îºó£¬¾Àú¹ýÿ¸öеÄÀï³Ì±®ºó£¬½«Èí¼þ²¿Êð¸øÕû¸öÒµÎñÏ߸ü¹ã·ºµÄÓû§ÈºÌå¡£

DevOpsÔì³ÉµÄ×î´óÌôÕ½ÔÚÓÚÐèÒªÀí½âÔËάÈËÔ±ÊÇÈí¼þµÄÁíÒ»¸öÓû§ÈºÌ壡Òò´ËËûÃÇÒ²Ó¦¸Ã±»È«ÃæÄÉÈëÈí¼þ¿ª·¢Á÷³ÌÖС£
ÔÚÔ¤¶¨µÄʱ¼äÀÔËάӦ¸Ã¸ø³ö×Ô¼ºµÄ·Ç¹¦ÄÜÐèÇ󣬾ÍÈçͬҵÎñÓû§¸ø³ö×Ô¼ºµÄ¹¦ÄÜÐèÇóÒ»Ñù¡£¿ª·¢ÍŶÓÓ¦¸Ã°´ÕÕͬµÈ³Ì¶ÈµÄÖØÒªÐÔºÍÓÅÏȼ¶´¦ÀíÕâÖַǹ¦ÄÜÐèÇó¡£
ÔÚʵÏֵĹý³ÌÖУ¬ÔËάӦ¸Ã³ÖÐøÌṩ·´À¡ºÍ·Ç¹¦ÄܲâÊԹ淶£¬¾ÍÏñÒµÎñÓû§Õë¶Ô¹¦ÄÜÌØÐÔÌṩ·´À¡Ò»Ñù¡£
×îºó£¬ÔËάºÍÒµÎñÓû§Ò»Ñù£¬³ÉΪÁËÈí¼þµÄÓû§¡£

ͨ¹ý²ÉÓÃDevOps·½·¨£¬ÔËά¿ÉÒÔÈ«ÃæÈÚÈëÈí¼þ¿ª·¢Á÷³ÌÖС£
4.3 ¹²Ïí¹¤¾ß
ÔÚ´«Í³µÄ´óÐÍÆóÒµÖУ¬ÔËάÍŶӺͿª·¢ÍŶӷֱðʹÓÃרÓõģ¬Ã»ÓÐʲô½»¼¯µÄ¹¤¾ß¼¯¡£
ÔËάÈËԱͨ³£²¢²»ÏëÁ˽⿪·¢ÍŶÓËùʹÓõÄSCMϵͳÒÔ¼°³ÖÐø¼¯³É»·¾³¡£ËûÃÇÈÏΪÕâЩ²¢·Ç×Ô¼ºµÄ±¾Ö°¹¤×÷£¬º¦ÅÂ×Ô¼ºÔÚ´¥¼°ÕâЩϵͳºó»á±»¿ª·¢Õߵĸ÷ÖÖÇëÇóËùÑÍû¡£±Ï¾¹ËûÃÇΪÁËÕÕÁÏÉú²úϵͳ¾ÍÓÐæ²»ÍêµÄ¹¤×÷ÁË¡£
ÁíÒ»·½Ã棬¿ª·¢Õßͨ³£ÎÞ·¨·ÃÎÊÉú²úϵͳµÄÈÕÖ¾ºÍ¼àÊÓÈÕÖ¾£¬ÓÐʱÕâÊÇÒòΪûÓÐÕâÑùµÄÒâÔ¸£¬ÓÐʱÔòÊÇÒòÎªÖÆ¶È»ò°²È«·½ÃæµÄ¹ËÂÇ¡£
ÕâÖÖ×´¿öÐèÒª¸Ä±ä£¡DevOpsÓ¦Ô˶øÉú¡£

Õâ¸öÄ¿±êÆäʵºÜÄÑʵÏÖ¡£¾ÙÀýÀ´Ëµ£¬³öÓÚÖÆ¶È»ò°²È«·½ÃæµÄÔÒò£¬ÈÕÖ¾¿ÉÄܻᱻʵʱÄäÃû»¯£¬Í¬Ê±ÐèÒª¶Ô¼à¹Ü¹¤¾ß½øÐбØÒªµÄ±£»¤£¬ÒÔ±ÜÃâδ¾Åàѵ»ò±¾Ó¦±»½ûÖ¹µÄ¿ª·¢Õ߸ü¸ÄÉú²ú»·¾³µÄÅäÖá£Òò´ËʵÏÖÕâһĿ±êÐèÒª¸¶³ö´óÁ¿Ê±¼äºÍ³É±¾×ÊÔ´¡£µ«ÕâÑù×öËùÄÜ»ñµÃµÄÊÕÒæÔ¶´óÓÚËùÐè½øÐеÄͶÈ룬ÕâÖÖ·½·¨¶ÔÕû¸ö¹«Ë¾µÄͶ×ʻر¨·Ç³£Ã÷ÏÔ¡£
4.4 Ðͬ¹¤×÷
DevOpsµÄÒ»ÖÖ»ù±¾ÕÜѧÊÇÈÏΪ£¬¿ª·¢ÕߺÍÔËάÈËÔ±±ØÐ붨ÆÚ½øÐÐÃÜÇеĺÏ×÷¡£
Õâ¾ÍÒâζ×ÅËûÃDZØÐ뽫¶Ô·½ÊÓ×÷ÖØÒªµÄÀûÒæÏà¹ØÕߣ¬²¢»ý¼«Ö÷¶¯µØÑ°ÇóºÏ×÷¡£
Êܵ½XPʵ¼ùÖС°ÏÖ³¡¿Í»§¡±µÄÆô·¢£¬Ãô½Ý¿ª·¢ÕßÊܴ˼¤Àø¿ÉÒÔÓëÒµÎñ½øÐиü½ôÃܵĺÏ×÷£¬×ÔÂɵÄÃô½ÝÕß»¹¿ÉÒÔ¸ü½øÒ»²½½«ÕâÑùµÄʵ¼ùÔËÓøø¸ü¹ã·ºµÄÀûÒæÏà¹ØÕߣ¬ÀýÈç¿ÉÒÔÈÿª·¢ÕßÓëËùÓÐÆäËûÏà¹ØÕß½øÐкÏ×÷£¬°üÀ¨ÔËάºÍÖ§³ÖÈËÔ±¡£
ÕâÊÇÒ»ÌõË«ÐеÀ£ºÔËάºÍÖ§³ÖÈËÔ±Ò²±ØÐëÔ¸ÒâÓ뿪·¢Õß½øÐÐÃÜÇеĺÏ×÷¡£

´ËÍ⻹¿ÉÒÔͨ¹ýÐ×÷£º
1.ÈÃÔËάÈËÔ±²ÎÓëÃô½ÝÒÇʽ£¨Ã¿ÈÕScrum¡¢³å´Ì¹æ»®¡¢Ôٴγå´ÌµÈ£©
2.Èÿª·¢Õß²ÎÓëÉú²ú»·¾³µÄÍÆ³öÈÎÎñ
3.ÔÚ¿ª·¢ºÍÔËά֮¼ä´òÔìͳһµÄ³ÖÐø¸Ä½øÄ¿±ê
5. ½áÂÛ
DevOpsÊÇÒ»´Î¸ïÃü£¬Ö÷ÒªÊÇΪÁËÏû³ýÓµÓдó¹æÄ£IT²¿ÃŵĴóÐÍÆóÒµÖУ¬¿ª·¢ÍŶӺÍÔËάÍŶÓÖ®¼äÓÉÓÚÀúÊ·ÔÒò²úÉúµÄ¸ôºÒÓë¹ÂÁ¢ËùÔì³ÉµÄ»ìÂÒÏÖ×´¡£
ÔÚÎÒ15ÄêµÄÖ°ÒµÉúÑÄÖУ¬2/3µÄʱ¼ä¾ÍÖ°ÓÚ´ËÀà´óÐлú¹¹£¬ÆäÖд󲿷ÖÊǽðÈÚ»ú¹¹£¬Ã¿ÌìÎÒ¶¼ÔÚ¼ûÖ¤ÕßÕâ¶Â»ìÂÒ֮ǽµÄ´æÔÚ¡£ÀýÈçÎÒ¾³£»áÌýµ½ÕâÑùµÄ˵·¨£º
1.¡°ÔÚÎÒµÄTomcatÉϹ¤×÷ºÜÕý³££¬ºÜ±§Ç¸£¬µ«ÎÒÍêÈ«²»¶®ÄãËùÓõÄWebsphere£¬°ï²»ÉÏÄãÁË¡£¡±£¨¿ª·¢Õß˵£©
2.¡°ÎÒÃÇÕæµÄ²»ÄÜ´ÓÉú²úÊý¾Ý¿âÖиøÄãÌáÈ¡ÕâÕÅ±í£¬ÀïÃæ°üº¬ÁËÓë¿Í»§ÓйصĻúÃÜÊý¾Ý¡£¡±£¨ÔËάÈËԱ˵£©
ÿÌì¶¼»áÓöµ½ÆäËûºÜ¶àÀàËÆµÄ¶Ô»°¡¡ÌìÌìÈç´Ë£¡
ºÃÔÚDevOpsÈÕ½¥³ÉÊ죬ԽÀ´Ô½¶à´«Í³ÆóÒµÒ²ÔÚ¿ªÊ¼Öð½¥×ßÉÏÕý;£¬¿ªÊ¼½ÓÊÜDevOpsµÄÔÔòºÍʵ¼ù¡£µ«»¹ÓкܶàÆóÒµÎÞ¶¯ÓÚÖÔ¡£
ÄÇô¶ÔÓÚÄÇЩС¹æÄ£µÄ£¬¿ª·¢ºÍÔËάְÄÜÖ®¼äͨ³£²»»á²úÉúÄÇô´ó·ÖÆçµÄÆó񵀯£¿
ÕâÑùµÄÆóÒµÓ¦ÓÃDevOpsÔÔòºÍʵ¼ù£¬ÀýÈç×Ô¶¯»¯²¿Êð¡¢³ÖÐø½»¸¶ºÍ¹¦ÄÜ¿ª¹Ø£¬Ò»ÑùÄÜ»ñÒæ·Ëdz¡£
ÎÒÈÏΪDevOpsÔÔò¿ÉÒÔ×ܽáΪ£º

|