±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½²½âÁËÃô½Ý¿ª·¢¡¢³£¹æÃô½Ý¿ª·¢°¸ÀýÓëÔÆÔÉú¼¼ÊõÕ»¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«ÖÚºÅDevOps£¬ÓÉLinda±à¼¡¢ÍƼö¡£ |
|
Ö»¿´µ½×Ô¼ºÏë¿´µ½µÄ¶«Î÷£¬Ö»×öÀϰ尲ÅŵÄÈÎÎñ¡£ÕâÊǺܶഫͳITÒѾ±»ÌÔÌ»¹²»ÖªÈçºÎÊÊÓ¦µÄ¹Ø¼üÔÒòÖ®Ò»¡£ÒªÊ±¿Ì¶ÔÍâÃæ·¢ÉúÁËʲô±£³ÖÃô¸Ð¶È¡£ÕâЩÄê£¬ÔÆÔÉúÒÑÔÚ²»¶Ï²Ïʳ´«Í³IT£¬Ò»¸öÓÖÒ»¸öÆóÒµµÄÄÚ²¿ITÔ±¹¤Ó봫ͳIT³§ÉÌÏûʧÔÚÎÒÃǵÄÊÓÒ°À´ÓÑз¢Ä£Ê½µ½·þÎñģʽ¶¼±ØÐë×öµ÷Õû¡£ÎÒÃǽñÌìÀ´Ì¸Ãô½Ý¿ª·¢ÓëÔÆÔÉú¼¼ÊõÕ»¡£
Ò»¡¢¹ØÓÚÃô½Ý¿ª·¢
Ãô½Ý¿ª·¢ÓëÆä˵ÊÇÑϽ÷µÄ·½·¨Ìåϵ£¬²»Èç˵ÊÇÒ»×éÐÐÊÂÔÔò¡£·ûºÏÃô½Ý¼ÛÖµ¹ÛºÍÔÔòµÄ¿ª·¢·½·¨°üÀ¨£º¼«ÏÞ±à³Ì£¨XP£©£¬Scrum£¬¾«ÒæÈí¼þ¿ª·¢£¨Lean
Software Development£©£¬¶¯Ì¬ÏµÍ³¿ª·¢·½·¨£¨DSDM£©£¬ÌØÕ÷Çý¶¯¿ª·¢£¨Feature
Driver Development£©£¬Ë®¾§¿ª·¢£¨Crystal Clear£©µÈµÈ¡£
ËùÓÐÕâЩ·½·¨¶¼¾ßÓÐÒÔϹ²Í¬ÌØÕ÷£º
µü´úʽ¿ª·¢¡£¼´Õû¸ö¿ª·¢¹ý³Ì±»·ÖΪ¼¸¸öµü´úÖÜÆÚ£¬Ã¿¸öµü´úÖÜÆÚÊÇÒ»¸ö¶¨³¤»ò²»¶¨³¤µÄʱ¼ä¿é£¬Ã¿¸öµü´úÖÜÆÚ³ÖÐøµÄʱ¼äÒ»°ã½Ï¶Ì£¬Í¨³£ÎªÒ»µ½ÁùÖÜ¡£
ÔöÁ¿½»¸¶¡£²úÆ·ÊÇÔÚÿ¸öµü´úÖÜÆÚ½áÊøÊ±±»Öð²½½»¸¶Ê¹Ó㬶ø²»ÊÇÔÚÕû¸ö¿ª·¢¹ý³Ì½áÊøµÄʱºòÒ»´ÎÐÔ½»¸¶Ê¹Óá£Ã¿´Î½»¸¶µÄ¶¼ÊÇ¿ÉÒÔ±»²¿Êðµ½Óû§Ó¦Óû·¾³Öб»Óû§Ê¹Óõġ¢ÄܸøÓû§´øÀ´¼´Ê±Ð§ÒæºÍ¼ÛÖµµÄ²úÆ·¡£
¿ª·¢ÍŶӺÍÓû§·´À¡Íƶ¯²úÆ·¿ª·¢¡£Ãô½Ý¿ª·¢·½·¨Ö÷ÕÅÓû§Äܹ»È«³Ì²ÎÓëµ½Õû¸ö¿ª·¢¹ý³ÌÖС£ÕâʹÐèÇó±ä»¯ºÍÓû§·´À¡Äܱ»¶¯Ì¬¹ÜÀí²¢¼°Ê±¼¯³Éµ½²úÆ·ÖС£Í¬Ê±£¬ÍŶӶÔÓÚÓû§µÄÐèÇóÒ²Äܼ°Ê±Ìṩ·´À¡Òâ¼û¡£
³ÖÐø¼¯³É¡£ÐµĹ¦ÄÜ»òÐèÇó±ä»¯×ÜÊǾ¡¿ÉÄÜÆµ·±µØ±»ÕûºÏµ½²úÆ·ÖС£Ò»Ð©ÏîÄ¿ÊÇÔÚÿ¸öµü´úÖÜÆÚ½áÊøµÄʱºò¼¯³É£¬ÓÐЩÏîÄ¿ÔòÿÌì¶¼ÔÚÕâô×ö¡£
¿ª·¢ÍŶÓ×ÔÎÒ¹ÜÀí¡£ÓµÓÐÒ»¸ö»ý¼«µÄ¡¢×ÔÎÒ¹ÜÀíµÄ¡¢¾ß±¸×ÔÓɽ»Á÷·ç¸ñµÄ¿ª·¢ÍŶӣ¬ÊÇÿ¸öÃô½ÝÏîÄ¿±Ø²»¿ÉÉÙµÄÌõ¼þ¡£ÈËÊÇÃô½Ý¿ª·¢µÄºËÐÄ¡£Ãô½Ý¿ª·¢×ÜÊÇÒÔÈËΪÖÐÐĽ¨Á¢¿ª·¢µÄ¹ý³ÌºÍ»úÖÆ£¬¶ø·Ç°Ñ¹ý³ÌºÍ»úÖÆÇ¿¼Ó¸øÈË¡£
¶þ¡¢³£¹æÃô½Ý¿ª·¢°¸Àý
ÐèÇóÆÀÉ󣨲ÎÓëÈËÔ±ÊÇ ¿Í»§+²úÆ·+UI+¿ª·¢+²âÊÔ£¬Ò²¾ÍÊÇËùÓÐÈËÔ±£©
Ö÷ÒªÊDzúÆ·ÈËÔ±½²½âÐèÇó£¬Óû§ÐèÒª¸ø³ö·´À¡»òÕßÌá³öÒâ¼û£¬ÆäËûÈËÔ±¿ÉÒÔÏàÓ¦µÄÌá³ö×Ô¼ºµÄ¼û½â¡£
Story»®·Ö£¨²úÆ·+UI+¿ª·¢£©
²úÆ·¸ù¾ÝUI×ö³öÀ´µÄÔÐÍͼ¸ø¿ª·¢ÈËÔ±½²½âϵͳ¹¹³ÉºÍÔËÐУ¬½«Õû¸öÍøÕ¾°´ÕÕ¹¦ÄÜ»®·Ö³ÉÒ»¸ö¸öϸÁ£¶ÈµÄstoryÀ´ËµÃ÷£¬¿ª·¢ÈËÔ±£¨Ç°¶ËºÍºó¶Ë£©Ò²ÐèÒªÃ÷°××Ô¼ºÓ¦¸Ã¹Ø×¢ÄÇЩ¹Ø¼üµã¡£
ÈËÔ±»®·Ö£¨leader+¿ª·¢£©
Ö÷ÒªÊÇÏîĿС×éµÄleader ¸ù¾Ýstory»®·Ö£¬¸øÇ°¶ËºÍºó¶Ë¿ª·¢ÈËÔ±»®·Östory£¬¿ª·¢ÈËÔ±¸ù¾Ý×Ô¼ºµÄÇé¿öÈ¥¹ÀËãËùÐèʱ¼ä¡£
·½°¸Éè¼Æ£¨Êý¾Ý¿âÉè¼ÆÎĵµ¡¢½Ó¿ÚÉè¼ÆÎĵµ¡¢·½°¸Éè¼ÆÎĵµ£©
Ïȸù¾ÝϵͳµÄʵ¼ÊÇé¿öÈ¥Éè¼ÆDB£¬°üÀ¨Êý¾Ý¿âºÍ±íµÄÃû×Ö£¬ÒÔ¼°¾ßÌåµÄ×ֶΡ£È»ºóÉè¼Æ½Ó¿ÚÎĵµ£¬°´ÕÕÒ³ÃæºÍ¹¦ÄܽøÐÐÉè¼Æ£¬°üÀ¨¾ßÌåµÄÇëÇóµØÖ·ºÍÈë²Î³ö²Î¡£×îºóÊǸù¾Ý½Ó¿ÚÎĵµÖгöÏÖµÄÒÉÄѵãÈ¥×ö·½°¸Éè¼ÆÎĵµ£¬¶ÔÓöµ½µÄÎÊÌâ½øÐзÖÎö²¢ÄóöÖÁÉÙÁ½ÖÖ¾ßÌåµÄ½â¾ö·½°¸¡£
·½°¸ÆÀÉó£¨ËùÓÐÈËÔ±£©
¶Ôǰ¶ËºÍºó¶Ë¸ø³öµÄ·½°¸ÆÀÉóÆäËüÈËÔ±¸ø³ö¸÷×ÔµÄÒâ¼û£¬ÓÐÎÊÌâµÄ»°Ï´ÎÔٴοªÊ¼¡£
ìøµÀÈÎÎñ²ð·Ö£¨¿ª·¢ÈËÔ±£©
·½°¸ÆÀÉóͨ¹ýÒԺ󿪷¢ÈËÔ±¾ÍÐèÒª°´ÕÕÔ¤¹ÀµÄ×Ü¿ª·¢Ê±¼äÈ¥²ð·Östory£¬¿ÉÒԷֳɶà¸öСµÄÈÎÎñ£¬µ«ÊÇÒ»¸öÈÎÎñµÄʱ¼ä×îºÃ²»Òª³¬¹ý4¸öСʱ¡£
¿ª·¢£¨ÏîÄ¿ÈÕ±¨+¹¤×÷ÈÕ±¨+½ø¶ÈÓʼþ£©
ÿÌìʵ¼Ê¿ª·¢¹ý³ÌÖÐÓöµ½ÎÊÌâ¿ÉÒÔд³ÉÏîÄ¿ÈÕ±¨£»Ã¿ÌìµÄÈÎÎñÍê³ÉÇé¿öд³É¹¤×÷ÈÕ±¨£»Ïà±È½ÏÕû¸öϵͳµÄ½ø¶ÈÍê³ÉÇé¿öÐèҪд½ø¶ÈÓʼþ¡£
¶Ë¶Ô¶Ë£¨½Ó¿Ú£©²âÊÔ£¨¿ª·¢ÈËÔ±£©
ǰ¶ËдºÃÁËÒ³Ãæ£¬ºó¶ËÍêʵÏÖÁ˽ӿڣ¬¾Í¿ÉÒÔ½øÐж˵½¶ËµÄ²âÊÔ£¬¿ÉÒÔÔ¶³Ì²âÊÔ£¬Ò²¿ÉÒÔ±¾µØ²âÊÔ¡£
ѹÁ¦²âÊÔ+¼¯³É²âÊÔ
ϵͳÍê³ÉÒÔºóÐèÒªÓÃJmeter ½øÐÐÄ£ÄâÓû§·ÃÎÊ£¬Í¨¹ýÉèÖÃÏß³ÌÀ´Ìá¸ß²¢·¢Á¿µÄ·½Ê½´ïµ½Ò»¶¨µÄЧ¹û£¬²âÊÔÉú³ÉµÄÊý¾ÝÐèÒª×ܽá³É²âÊÔ±¨¸æ¡£
Demo
¶ÔÓÚ¸´ÅÌÀ´Ëµ£¬Õâ¾ÍÊÇ×îºóÒ»¸ö³ÌÐòÁË£¬ÔÚǰºó¶Ë´óʦÐֵįÀÉóÏ£¬Ö÷ÒªÊÇǰ¶ËÈËÔ±½øÐÐϵͳÑÝʾ£¬¸÷¸ö¹¦ÄÜÊÇ·ñʵÏÖ¡¢Ò³ÃæÊÇ·ñ´ïµ½Óû§ÒªÇó¡¢ÓÐûÓÐʲôÐèÒªÍêÉÆµÄµØ·½¡£µãÆÀ¹ýÖ®ºóÈç¹ûÓÐÎÊÌâÄǾÍÐÞ¸ÄÖ®ºóÔÙ´ÎÆÀÉó£»Èç¹ûûÓÐÎÊÌâÄǾÍËãÍê³É¸´ÅÌÏîÄ¿ÁË¡£
Èý¡¢ÔÆÔÉú¼¼ÊõÕ»
3.1 CNCF landscape

ÕâÀïÖ÷Òª·Ö³ÉÁ˼¸¸ö¼¼Êõ°å¿é£¬¼¼Êõ˼άÆäʵûÄÇô¸´ÔÓ£¬ÎÞÍâºõÊÇÓÃITÔÚÖØ¹¹·þÎñ¹ý³Ì£¬ÊµÏÖÉϲãÓ¦Ó㬶ԽӺÃϲã×ÊÔ´£¬Òò´ËIT±¾ÉíÒ²¼´·þÎñ£º
Ó¦Óö¨Òå¼°²¿Êð(App Definition and Development)
±àÅÅÓë¹ÜÀí(Orchestration & Management)
ÔËÐл·¾³(Runtime)
ÅäÖÃ(Provisioning)
ƽ̨(Platform)
¿É¹Û²âÐԺͷÖÎö(Observability and Analysis)
ÎÞ·þÎñ(Serverless)
Õ⼸´ó°å¿é»ù±¾°ÑÔÆÔÉú¼¼ÊõËùÉæ¼°ÁìÓò¶¼ºÀ¨½øÈ¥ÁË£¬ÏÂÃæÏêϸ½éÉÜϸ÷°å¿éËùÉæ¼°µ½µÄ¼¼ÊõÕ»¡£´Óϵͳ²ã´ÎÀ´¿´£¬´ÓÉϵ½Ï·ֱðÊÇ£º
Ó¦Óò㣺ӦÓö¨Òå¼°²¿Êð(App Definition and Development)¡¢ÅäÖÃ(Provisioning)¡¢¿É¹Û²âÐԺͷÖÎö(Observability
and Analysis)¡¢ÎÞ·þÎñ(Serverless)
¼¯Èº£º±àÅÅÓë¹ÜÀí(Orchestration & Management)
µ×²ãÔËÐл·¾³£ºÔËÐл·¾³(Runtime)
Õâ¸ö°å¿éµÄ¼¼ÊõÕ»Ö÷ÒªÊÇÓ¦Óÿª·¢¹ý³ÌÖж¼»áÓõ½µÄ£¬ÏñÊý¾Ý¿â¡¢Á÷ʽ´¦ÀíºÍÏûÏ¢¶ÓÁС¢Ó¦Óö¨ÒåºÍ¾µÏñ¹¹½¨¡¢³ÖÐø¼¯³ÉºÍ³ÖÐø²¿Êð¡£
1£©Ó¦Óö¨Òå¼°²¿Êð 
Êý¾Ý¿â(Database) 
Á÷ʽ´¦ÀíºÍÏûÏ¢¶ÓÁÐ(Streaming and Messaging) 
Ó¦Óö¨ÒåºÍ¾µÏñ¹¹½¨(App Definition and Image Build) 
³ÖÐø¼¯³ÉÓë³ÖÐø²¿Êð(Continuous Integration and Continuous Delivery)
2£©±àÅÅÓë¹ÜÀí 
±àÅÅÓë¹ÜÀí°å¿é¿ÉÒÔ˵ÊÇÔÆÔÉúµÄºËÐÄ£¬Æä°üÀ¨ÁËÈÝÆ÷±àÅÅ¡¢Ò»ÖÂÐÔÓë·þÎñ·¢ÏÖ¡¢Ô¶³Ì³ÌÐòµ÷ÓÃ(RPC)¡¢·þÎñ´úÀí¡¢APIÍø¹Ø¡¢·þÎñÍø¸ñ¡£
ÈÝÆ÷±àÅÅÓëµ÷¶È(Orchestration and Scheduling) 
Ò»ÖÂÐÔÓë·þÎñ·¢ÏÖ(Coordination and Service Discovery) 
Ô¶³Ìµ÷Ó÷þÎñ(Remote Procedure Call) 
·þÎñ´úÀí(Service Proxy) 
APIÍø¹Ø(API Gateway) 
·þÎñÍø¸ñ(Service Mesh) 
3£©ÔËÐл·¾³ 
ÕâÀïµÄÔËÐÐʱ°å¿éÖ¸µÄ¾ÍÊÇÈÝÆ÷ÔËÐл·¾³£¬°üÀ¨ÁËÈÝÆ÷´æ´¢¡¢ÈÝÆ÷¼ÆËã¡¢ÈÝÆ÷ÍøÂçÈý´ó¹¤¾ß£¬ÔÚk8s·Ö±ð¶ÔÓ¦µÄÊÇCSI¡¢CRIºÍCNIÈýÀà½Ó¿Ú¶¨Òå¡£
ÔÆÔÉú´æ´¢(Cloud Native Storage) 
ÈÝÆ÷ÔËÐÐʱ(Container Runtime) 
ÔÆÔÉúÍøÂç(Cloud Native Network)
4£©ÅäÖà 
×Ô¶¯»¯ÓëÅäÖÃ(Automation & Configuration)
ÈÝÆ÷×¢²á(Container Registry)
°²È«ÓëºÏ¹æÐÔ(Security & Compliance)
ÃÜÔ¿¹ÜÀí(Key Management)
5£©Æ½Ì¨
´Ó·þÎñµ½°²×°µ½Ö÷»úµ½·Ö²¼¹ÜÀíµÄ¸÷³§¼Ò¼¼Êõ·Ö²¼Èçͼ 
6£©¿É¹Û²âÐÔÓë·ÖÎö
´Ó»ìãçµ½×·×Ùµ½ÈÕÖ¾·ÖÎöµ½¼à¿ØµÄ¸÷³§¼Ò¼¼Êõ·Ö²¼Èçͼ 
¿É¹Û²âÐÔÓë·ÖÎö°å¿éÖ÷Òª°üÀ¨:
¼à¿Ø(Monitoring)
ÈÕÖ¾(Logging)
×·×Ù(Tracing)
»ìã繤³Ì(Chaos Engineering)
7£©ÎÞ·þÎñ 
ServerlessÊÇÒ»¸öºÜ´óµÄÁìÓò£¬Òò´ËÕë¶Ô serverless ÕâÀïרÃÅÓÖϸ·ÖÁËÎå¸öÄ£¿é£º¹¤¾ß¡¢°²È«¡¢¿ò¼Ü¡¢×¢²áƽ̨ºÍ¿É°²×°Æ½Ì¨¡£
¹¤¾ß(Tools)
°²È«(Security)
¿ò¼Ü(Framework)
×¢²áƽ̨(Hosted Platfrom)
¿É°²×°Æ½Ì¨(Installable Platform)

|