| ±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜʲôÊÇÔÆÔÉú£¿ÔÆÔÉúµÄ·¢Õ¹Àú³Ì¡¢ÔÆÔÉú¼¼ÊõÉú̬ÏÖ×´¡¢ÎÒÃÇÕý´¦ÓÚʱ´úµÄ¹Ø¼ü½Úµã¡¢2019
Äê£¬ÔÆÔÉú¼¼ÊõÆÕ¼°ÔªÄê¡¢ÔÆÔÉú´ú±í¼¼Êõ¡¢¡°12ÒªËØ¡±¡¢ÔÆÔÉúÓ¦ÓõÄÂß¼ÒÀÀµ¹ØÏµÒÔ¼°Èí¼þÉúÃüÖÜÆÚά¶È¿´ÔÆÔÉúµÈ¡£
±¾ÎÄÀ´×ÔÓÚpianshen.com£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ÈÝÆ÷»¯°ü×°£ºÈí¼þÓ¦ÓõĽø³ÌÓ¦¸Ã°ü×°ÔÚÈÝÆ÷ÖжÀÁ¢ÔËÐС£
¶¯Ì¬¹ÜÀí£ºÍ¨¹ý¼¯ÖÐʽµÄ±àÅŵ÷¶ÈϵͳÀ´¶¯Ì¬µÄ¹ÜÀíºÍµ÷¶È¡£
΢·þÎñ»¯£ºÃ÷È··þÎñ¼äµÄÒÀÀµ£¬»¥Ïà½âñî¡£

https://dzone.com/articles/

ʲôÊÇÔÆÔÉú£¿
ÔÆÔÉú׼ȷÀ´ËµÊÇÒ»ÖÖÎÄ»¯£¬¸üÊÇÒ»ÖÖ³±Á÷£¬ËüÊÇÔÆ¼ÆËãµÄÒ»¸ö±ØÈ»µ¼Ïò¡£ÒâÒåÔÚÓÚÈÃÔÆ³ÉÎªÔÆ»¯Õ½ÂԳɹ¦µÄ»ùʯ£¬¶ø²»ÊÇÕϰ¡£

FaaS Landscape
ÔÆÔÉú֮ǰ

ÔÆÔÉú


Service Mesh µÄ˼·£¬ÌåÏÖÔÚ½« SDK ¿Í»§¶ËµÄ¹¦ÄܰþÀë³öÀ´£¬·Åµ½ Sidecar ÖС£Í¨¹ýÕâÖÖ·½Ê½£¬ÊµÏÖÓ¦ÓõÄÇáÁ¿»¯¡£´Ëʱ¾ø´ó²¿·ÖµÄ¹¦Äܶ¼ÔÚ°þÀ룬ӦÓÃÖÐÖ»ÁôÏÂÒ»¸öÇáÁ¿¼¶µÄ¿Í»§¶Ë¡£Õâ¸öÇáÁ¿¼¶¿Í»§¶ËÖл¹±£ÁôÓÐÉÙÊý¹¦ÄܺÍÐÅÏ¢£¬±ÈÈçÄ¿±ê·þÎñµÄ±êʶ£¨Ö¸³öÒªµ÷ÓõÄÄ¿±ê£©£¬ÐòÁл¯µÄʵÏÖ¡£


ÔÆÔÉú¼ò½é
Cloud Native ·ÒëÎªÔÆÔÉú£¬ÊÇMatt StineÌá³öµÄÒ»¸ö¸ÅÄËüÊÇÒ»¸ö˼ÏëµÄ¼¯ºÏ£¬°üÀ¨DevOps¡¢³ÖÐø½»¸¶£¨Continuous
Delivery£©¡¢Î¢·þÎñ£¨MicroServices£©¡¢Ãô½Ý»ù´¡ÉèÊ©£¨Agile Infrastructure£©¡¢¿µÍþ¶¨ÂÉ£¨Conways
Law£©µÈ£¬ÒÔ¼°¸ù¾ÝÉÌÒµÄÜÁ¦¶Ô¹«Ë¾½øÐÐÖØ×é¡£Cloud Native¼È°üº¬¼¼Êõ£¨Î¢·þÎñ£¬Ãô½Ý»ù´¡ÉèÊ©£©£¬Ò²°üº¬¹ÜÀí£¨DevOps£¬³ÖÐø½»¸¶£¬¿µÍþ¶¨ÂÉ£¬ÖØ×éµÈ£©¡£Cloud
NativeÒ²¿ÉÒÔ˵ÊÇһϵÁÐCloud¼¼Êõ¡¢ÆóÒµ¹ÜÀí·½·¨µÄ¼¯ºÏ¡£
Cloud NativeÊǸüºÃµÄ¹¤¾ß¡¢×ÔÎÒÐÞ¸´ÏµÍ³¡¢ºÍ×Ô¶¯»¯ÏµÍ³µÄ¼¯ºÏ£¬¿ÉÒÔÈÃÓ¦Óúͻù´¡ÉèÊ©µÄ²¿ÊðºÍ¹ÊÕÏÐÞ¸´¸ü¼Ó¿ìËÙºÍÃô½Ý£¬¼«´óµÄ½µµÍÆóÒµÔÚÔÆ¼ÆËã·½ÃæµÄ²¿Êð³É±¾¡£
Ŀǰҵ½ç¹«ÈϵÄÔÆÔÉúÖ÷Òª°üÀ¨ÒÔϼ¸¸ö²ãÃæµÄÄÚÈÝ¡£

ÈÝÆ÷£¬·þÎñÍø¸ñ£¬Î¢·þÎñ£¬²»¿É±äµÄ»ù´¡ÉèÊ©£¬¹«¿ªµÄAPI¶¼½Ó½üÔÆÔÉúÏà¹Ø¸ÅÄî¡£
ÔÆÔÉú¼¼Êõ¿ÉÒÔÈÃϵͳËÉñîºÏ£¬Ö§³Öµ¯ÐÔÉìËõ¡¢¿É¹ÜÀíµÄ¡¢ÇåÎúµÄ¡£Í¨¹ýÕûºÏ½¡×³ÇÒÓÐЧµÄ×Ô¶¯»¯£¬¹¤³Ìʦ¿ÉÒÔÓúÜÉÙµÄÀͶ¯À´Íê³ÉƵ·±µÄ¡¢Ô¤ÆÚÖеĸßΣ´úÂëÐ޸ġ£
΢·þÎñ
΢·þÎñ½â¾öµÄÊÇÎÒÃÇÈí¼þ¿ª·¢ÖÐÒ»Ö±×·ÇóµÄµÍñîºÏ+¸ßÄÚ¾Û£¬¼ÇµÃÓÐÒ»´ÎÎÒÃÇϵͳµÄ½Ó¿Ú³öÁËÎÊÌ⣬½á¹ûÓ°ÏìÁËÓû§µÄǰ̨²Ù×÷£¬ÓÚÊÇÀèÊåÅݸ¶øÆð£¬Áé»ê·¢ÎÊ£º¡°ÎªÉ¶ÕâÁ½¸ö»á»¥ÏàÓ°Ï죿£¡¡±
΢·þÎñ¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣬΢·þÎñµÄ±¾ÖÊÊǰÑÒ»¿é´ó±ý·Ö³ÉÈô¸É¿éµÍñîºÏµÄС±ý£¬±ÈÈçÒ»¿éС±ýרߺÔð½ÓÊÕÍⲿµÄÊý¾Ý£¬Ò»¿éС±ýרߺÔðÏìӦǰ̨µÄ²Ù×÷£¬Ð¡±ý¿ÉÒÔ½øÒ»²½²ð·Ö£¬±ÈÈ縺Ôð½ÓÊÕÍⲿÊý¾ÝµÄС±ý¿ÉÒÔ¼ÌÐø·Ö³É¶à¿é¸ºÔð½ÓÊÕ²»Í¬ÀàÐÍÊý¾ÝµÄС±ý£¬ÕâÑùÿ¸öС±ý³öÎÊÌâÁË£¬ÆäËüС±ý»¹ÄÜÕý³£¶ÔÍâÌṩ·þÎñ¡£
Ëæ×Å΢·þÎñ»¯¼Ü¹¹µÄÓÅÊÆÕ¹ÏֺͿìËÙ·¢Õ¹£¬2013Ä꣬MartinFlower¶Ô΢·þÎñ¸ÅÄî½øÐÐÁ˱ȽÏϵͳµÄÀíÂÛ²ûÊö£¬×ܽáÁËÏà¹ØµÄ¼¼ÊõÌØÕ÷¡£Ê×ÏÈ£¬Î¢·þÎñÊÇÒ»Öּܹ¹·ç¸ñ£¬Ò²ÊÇÒ»ÖÖ·þÎñ£»Æä´Î£¬Î¢·þÎñµÄ¿ÅÁ£±È½ÏС£¬Ò»¸ö´óÐ͸´ÔÓÈí¼þÓ¦ÓÃÓɶà¸ö΢·þÎñ×é³É£¬±ÈÈçNetflixĿǰÓÉ500¶à¸öµÄ΢·þÎñ×é³É£»×îºó£¬Ëü²ÉÓÃUNIXÉè¼ÆµÄÕÜѧ£¬Ã¿ÖÖ·þÎñÖ»×öÒ»¼þÊ£¬ÊÇÒ»ÖÖËÉñîºÏµÄÄܹ»±»¶ÀÁ¢¿ª·¢ºÍ²¿ÊðµÄÎÞ״̬»¯·þÎñ£¨¶ÀÁ¢À©Õ¹¡¢Éý¼¶ºÍ¿ÉÌæ»»£©¡£Î¢·þÎñ¼Ü¹¹Èçͼ1-8Ëùʾ¡£

ͼ£º ΢·þÎñ¼Ü¹¹Ê¾Àý
ÓÉ΢·þÎñµÄ¶¨Òå·ÖÎö¿ÉÖª£¬Ò»¸ö΢·þÎñ»ù±¾ÊÇÒ»¸öÄܶÀÁ¢·¢²¼µÄÓ¦Ó÷þÎñ£¬Òò´Ë¿ÉÒÔ×÷Ϊ¶ÀÁ¢×é¼þÉý¼¶¡¢»Ò¶È»ò¸´Óõȣ¬¶ÔÕû¸ö´óÓ¦ÓõÄÓ°ÏìÒ²½ÏС£¬Ã¿¸ö·þÎñ¿ÉÒÔÓÉרÃŵÄ×éÖ¯À´µ¥¶ÀÍê³É£¬ÒÀÀµ·½Ö»Òª¶¨ºÃÊäÈëºÍÊä³ö¿Ú¼´¿ÉÍêÈ«¿ª·¢£¬ÉõÖÁÕû¸öÍŶӵÄ×éÖ¯¼Ü¹¹Ò²»á¸ü¾«¼ò£¬Òò´Ë¹µÍ¨³É±¾µÍ¡¢Ð§Âʸߡ£¸ù¾ÝÒµÎñµÄÐèÇ󣬲»Í¬µÄ·þÎñ¿ÉÒÔ¸ù¾ÝÒµÎñÌØÐÔ½øÐв»Í¬µÄ¼¼ÊõÑ¡ÐÍ£¬ÊǼÆËãÃܼ¯ÐÍ»¹ÊÇI/OÃܼ¯ÐÍÓ¦Óö¼¿ÉÒÔÒÀÀµ²»Í¬µÄÓïÑÔ±à³ÌÄ£ÐÍ£¬¸÷ÍŶӿÉÒÔ¸ù¾Ý±¾ÉíµÄÌØÉ«¶À×ÔÔË×÷¡£·þÎñÔÚѹÁ¦½Ï´óʱ£¬Ò²¿ÉÒÔÓиü¶àÈÝ´í»òÏÞÁ÷·þÎñ¡£
΢·þÎñ¼Ü¹¹È·ÊµÓкܶàÎüÒýÈ˵ĵط½£¬È»¶øËüµÄÒýÈëÒ²ÊÇÓгɱ¾µÄ£¬Ëü²¢²»ÊÇÒøµ¯£¬Ê¹ÓÃËü»áÒýÈë¸ü¶à¼¼ÊõÌôÕ½£¬±ÈÈçÐÔÄÜÑÓ³Ù¡¢·Ö²¼Ê½ÊÂÎñ¡¢¼¯³É²âÊÔ¡¢¹ÊÕÏÕï¶ÏµÈ·½Ã棬ÆóÒµÐèÒª¸ù¾ÝÒµÎñµÄ²»Í¬µÄ½×¶Î½øÐкÏÀíµÄÒýÈ룬²»ÄÜÍêȫΪÁË΢·þÎñ¶ø¡°Î¢·þÎñ¡±
DevOps
DevOpsµÄÒâ˼¾ÍÊÇ¿ª·¢ºÍÔËά²»ÔÙÊÇ·Ö¿ªµÄÁ½¸öÍŶӣ¬¶øÊÇÄãÖÐÓÐÎÒ£¬ÎÒÖÐÓÐÄãµÄÒ»¸öÍŶӡ£ÎÒÃÇÏÖÔÚ¿ª·¢ºÍÔËάÒѾÊÇÒ»¸öÍŶÓÁË£¬µ«ÊÇÔËά·½ÃæµÄ֪ʶºÍ¾Ñ黹ÐèÒª³ÖÐøÌá¸ß¡£
DevOpsÈç¹û´Ó×ÖÃæÉÏÀ´Àí½âÖ»ÊÇDev£¨¿ª·¢ÈËÔ±£©+Ops£¨ÔËάÈËÔ±£©£¬Êµ¼ÊÉÏ£¬ËüÊÇÒ»×é¹ý³Ì¡¢·½·¨ÓëϵͳµÄͳ³Æ£¬Æä¸ÅÄî´Ó2009ÄêÊ×´ÎÌá³ö·¢Õ¹µ½ÏÖÔÚ£¬ÄÚÈÝÒ²·Ç³£·á¸»£¬ÓÐÀíÂÛÒ²ÓÐʵ¼ù£¬°üÀ¨×éÖ¯ÎÄ»¯¡¢×Ô¶¯»¯¡¢¾«Òæ¡¢·´À¡ºÍ·ÖÏíµÈ²»Í¬·½Ãæ¡£Ê×ÏÈ£¬×éÖ¯¼Ü¹¹¡¢ÆóÒµÎÄ»¯ÓëÀíÄîµÈ£¬ÐèÒª×ÔÉ϶øÏÂÉè¼Æ£¬ÓÃÓÚ´Ù½ø¿ª·¢²¿ÃÅ¡¢ÔËά²¿ÃźÍÖÊÁ¿±£Õϲ¿ÃÅÖ®¼äµÄ¹µÍ¨¡¢Ð×÷ÓëÕûºÏ£¬¼òµ¥¶øÑÔ×éÖ¯ÐÎʽÀàËÆÓÚϵͳ·Ö²ãÉè¼Æ¡£Æä´Î£¬×Ô¶¯»¯ÊÇÖ¸ËùÓеIJÙ×÷¶¼²»ÐèÒªÈ˹¤²ÎÓ룬ȫ²¿ÒÀÀµÏµÍ³×Ô¶¯Íê³É£¬±ÈÈçÉÏÊöµÄ³ÖÐø½»¸¶¹ý³Ì±ØÐë×Ô¶¯»¯²ÅÓпÉÄÜÍê³É¿ìËÙµü´ú¡£ÔٴΣ¬DevOpsµÄ³öÏÖÊÇÓÉÓÚÈí¼þÐÐÒµÈÕÒæÇåÎúµØÈÏʶµ½£¬ÎªÁ˰´Ê±½»¸¶Èí¼þ²úÆ·ºÍ·þÎñ£¬¿ª·¢²¿ÃźÍÔËά²¿ÃűØÐë½ôÃܺÏ×÷¡£×ÜÖ®£¬DevOpsÇ¿µ÷µÄÊǸßЧ×éÖ¯ÍŶÓÖ®¼äÈçºÎͨ¹ý×Ô¶¯»¯µÄ¹¤¾ßÐ×÷ºÍ¹µÍ¨À´Íê³ÉÈí¼þµÄÉúÃüÖÜÆÚ¹ÜÀí£¬´Ó¶ø¸ü¿ì¡¢¸üƵ·±µØ½»¸¶¸üÎȶ¨µÄÈí¼þ¡£ÈçͼËùʾ£¬

ͼ DevOpsÇ¿µ÷×éÖ¯µÄ¹µÍ¨ÓëÐ×÷

³ÖÐø½»¸¶
³ÖÐø½»¸¶µÄÒâ˼¾ÍÊÇÔÚ²»Ó°ÏìÓû§Ê¹Ó÷þÎñµÄǰÌáÏÂÆµ·±°Ñй¦ÄÜ·¢²¼¸øÓû§Ê¹Óã¬Òª×öµ½Õâµã·Ç³£·Ç³£ÄÑ¡£ÎÒÃÇÏÖÔÚÁ½ÖÜÒ»¸ö°æ±¾£¬Ã¿´ÎÉÏÏßÖ®ºó¶¼»á¸ø²»Í¬µÄÓû§Ôì³É²»Í¬³Ì¶ÈµÄÓ°Ïì¡£
Ëü¸ü¶àÊÇ´ú±íÒ»ÖÖÈí¼þ½»¸¶µÄÄÜÁ¦£¬¹ý³ÌʾÀýÇë²Î¿¼Í¼£º

ͼ ³ÖÐø½»¸¶Á÷³Ì
ÈÝÆ÷»¯
ÈÝÆ÷»¯µÄºÃ´¦ÔÚÓÚÔËάµÄʱºò²»ÐèÒªÔÙ¹ØÐÄÿ¸ö·þÎñËùʹÓõļ¼ÊõÕ»ÁË£¬Ã¿¸ö·þÎñ¶¼±»ÎÞ²î±ðµØ·â×°ÔÚÈÝÆ÷À¿ÉÒÔ±»ÎÞ²î±ðµØ¹ÜÀíºÍά»¤£¬ÏÖÔڱȽÏÁ÷ÐеŤ¾ßÊÇdockerºÍk8s¡£

»ùÓÚÐéÄâ»ú¼¼Êõ£¬Â½Ðø³öÏÖÁË IaaS/PaaS/FaaS µÈÐÎ̬£¬ÒÔ¼°ËûÃǵĿªÔ´°æ±¾¡£

2013 Äê docker ³öÏÖ£¬ÈÝÆ÷¼¼Êõ³ÉÊ죬ȻºóÎ§ÈÆÈÝÆ÷±àÅÅÒ»³¡´óÕ½£¬×îºóÔÚ 2017 Äêµ×£¬kubernetes
ʤ³ö¡£2015 Äê CNCF ³ÉÁ¢£¬²¢ÔÚ½üÄêÐγÉÁË cloud native Éú̬¡£

ÔÆÔÉúµÄ·¢Õ¹Àú³Ì
ÔÆÔÉú£¨Cloud Native£©×î³õÀ´ÃèÊöÔÆÉÏÓ¦ÓõĵäÐͼܹ¹ÓëÌØÐÔ£¬Ëæ×ÅÈÝÆ÷¡¢kubernetes¡¢Serverless¡¢FaaS¼¼ÊõµÄÑݽø£¬CNCF£¨Cloud
Native Computing Foundation £¬ÔÆÔÉú¼ÆËã»ù½ð»á£©°ÑÔÆÔÉúµÄ¸ÅÄî¸ü¹ã·ºµØ¶¨ÒåΪ¡°ÈÃÓ¦ÓøüÓе¯ÐÔ¡¢ÈÝ´íÐÔ¡¢¹Û²âÐԵĻù´¡¼¼Êõ£¬ÈÃÓ¦ÓøüÈÝÒײ¿Êð¡¢¹ÜÀíµÄ»ù´¡Èí¼þ¡¢ÈÃÓ¦ÓøüÈÝÒ×±àд¡¢±àÅŵÄÔËÐпò¼ÜµÈ¡±£¬Ï£ÍûÄܹ»Èÿª·¢Õß×îºÃµÄÀûÓÃÔÆµÄ×ÊÔ´¡¢²úÆ·ºÍ½»¸¶ÄÜÁ¦¡£
ϱߴóÖÂÊáÀíÒ»ÏÂÔÆÔÉúµÄ·¢Õ¹¹ý³Ì¡£
2004 Äê ~ 2007 Ä꣬Google ÒÑÔÚÄÚ²¿´ó¹æÄ£µØÊ¹ÓÃÏñ Cgroups ÕâÑùµÄÈÝÆ÷¼¼Êõ£»
2008 Ä꣬Google ½« Cgroups ºÏ²¢½øÈëÁË Linux ÄÚºËÖ÷¸É¡£
2013 Ä꣬Docker ÏîÄ¿Õýʽ·¢²¼¡£
2014 Ä꣬Kubernetes ÏîĿҲÕýʽ·¢²¼¡£
2015 Ä꣬CNCF ³ÉÁ¢¡£
2017 Ä꣬CNCF ´ïµ½ 170 ¸ö³ÉÔ±ºÍ 14 ¸ö»ù½ðÏîÄ¿¡£
2018 Ä꣬CNCF ³ÉÁ¢ÈýÖÜÄêÓÐÁË 195 ¸ö³ÉÔ±£¬19 ¸ö»ù½ð»áÏîÄ¿ºÍ 11 ¸ö·õ»¯ÏîÄ¿£¬Èç´ËÖ®¿ìµÄ·¢Õ¹ËÙ¶ÈÔÚÕû¸öÔÆ¼ÆËãÁìÓò¶¼ÊǷdz£º±¼ûµÄ¡£
2014 Äê Kubernetes ÏîÄ¿·¢²¼µÄÔÒòÒ²·Ç³£ÈÝÒ×Àí½â£¬ÒòΪÓÐÁËÈÝÆ÷ºÍ Docker Ö®ºó£¬¾ÍÐèÒªÓÐÒ»ÖÖ·½Ê½È¥°ïÖú´ó¼Ò·½±ã¡¢¿ìËÙ¡¢ÓÅÑŵعÜÀíÕâЩÈÝÆ÷£¬Õâ¾ÍÊÇ
Kubernetes ÏîÄ¿µÄ³õÖÔ¡£ÔÚ Google ºÍ Redhat ·¢²¼ÁË Kubernetes
Ö®ºó£¬Õâ¸öÏîÄ¿µÄ·¢Õ¹Ëٶȷdz£Ö®¿ì¡£
2015 ÄêÓÉ Google¡¢Redhat ÒÔ¼°Î¢ÈíµÈ´óÐÍÔÆ¼ÆËã³§ÉÌÒÔ¼°Ò»Ð©¿ªÔ´¹«Ë¾¹²Í¬Ç£Í·³ÉÁ¢ÁË
CNCF ÔÆÔÉú»ù½ð»á¡£CNCF ³ÉÁ¢Ö®³õ£¬¾ÍÓÐ 22 ¸ö´´Ê¼»áÔ±£¬¶øÇÒ Kubernetes Ò²³ÉΪÁË
CNCF ÍйܵĵÚÒ»¸ö¿ªÔ´ÏîÄ¿¡£ÔÚÕâÖ®ºó£¬CNCF µÄ·¢Õ¹Ëٶȷdz£Ñ¸ÃÍ¡£
ÔÆÔÉú¼¼ÊõÉú̬ÏÖ×´
Òò´Ë£¬Èç½ñÎÒÃÇËùÌÖÂÛµÄÔÆÔÉú¼¼ÊõÉú̬ÊÇÒ»¸öÅÓ´óµÄ¼¼Êõ¼¯ºÏ¡£CNCF ÓÐÒ»ÕÅÔÆÔÉúÈ«¾°Í¼£¨https://github.com/cncf/landscape£©£¬ÔÚÕâ¸öÈ«¾°Í¼ÀïÒѾÓÐ
200 ¶à¸öÏîÄ¿ºÍ²úÆ·ÁË£¬ÕâЩÏîÄ¿ºÍ²úÆ·Ò²¶¼ÊÇºÍ CNCF µÄ¹ÛµãËùÆõºÏµÄ¡£ËùÒÔÈç¹ûÒÔÕâÕÅÈ«¾°Í¼×÷Ϊ±³¾°£¬¼ÓÒÔ˼¿¼¾Í»á·¢ÏÖ£¬ÎÒÃǽñÌìËùÌÖÂÛµÄÔÆÔÉúÆäʵÖ÷Ҫ̸ÂÛÁËÒÔϼ¸µã£º
ÔÆÔÉú»ù½ð»á ¡ª¡ª CNCF
CNCF ÊÇÄ¿Ç°ÔÆ¼ÆËãÁìÓò×î³É¹¦µÄ¿ªÔ´»ù½ð»áÖ®Ò»£¬ÊÇ Kubernetes¡¢ etcd¡¢Envoy
µÈÖªÃû¿ªÔ´ÏîÄ¿µÄÍйܻù½ð»á¡£
ÔÆÔÉú¼¼ÊõÉçÇø
ÔÆÔÉú¼¼ÊõÉçÇø£¬±ÈÈçÏñ CNCF ĿǰÕýʽÍÐ¹ÜµÄ 20 ¶à¸öÏîÄ¿¹²Í¬¹¹³ÉÁËÏÖ´úÔÆ¼ÆËãÉú̬µÄ»ùʯ£¬ÆäÖÐÏñ
Kubernetes ÕâÑùµÄÏîÄ¿ÒѾ³ÉΪÁËÊÀ½çµÚËÄ»îÔ¾µÄ¿ªÔ´ÏîÄ¿£»Ä¿Ç°´Ó CNCF ±ÏÒµµÄÏîÄ¿ÒÔ¼°ÓÐ
6 ¸ö£¬·Ö±ðÊÇ Kubernetes ¡¢Prometheus¡¢Envoy¡¢CoreDNS¡¢containerd¡¢Fluentd
¡£
ÔÆÔÉú¼¼Êõ²úÒµ
³ýÁËÇ°ÃæÁ½µãÖ®Í⣬ÏÖÔÚÈ«Çò¸÷´ó¹«ÓÐÔÆ³§É̶¼ÒѾ֧³ÖÁË Kubernetes¡£´ËÍ⣬»¹ÓÐ 100 ¶à¼Ò¼¼Êõ´´Òµ¹«Ë¾Ò²ÔÚ³ÖÐøµØ½øÐÐͶÈë¡£ÏÖÔÚ°¢Àï°Í°ÍÒ²ÔÚÌ¸È«ÃæÉÏÔÆ£¬¶øÇÒÉÏÔÆ¾ÍÒªÉÏÔÆÔÉú£¬ÕâÒ²ÊǸ÷´ó¼¼Êõ¹«Ë¾Óµ±§ÔÆÔÉúµÄÒ»¸öÀý×Ó¡£
ÎÒÃÇÕý´¦ÓÚʱ´úµÄ¹Ø¼ü½Úµã
2019 ÄêÕýÊÇÔÆÔÉúʱ´úµÄ¹Ø¼ü½Úµã£¬ÎªÊ²Ã´Õâô˵£¿ÎÒÃÇÕâÀï¾ÍΪ´ó¼Ò¼òµ¥ÊáÀíһϡ£
´Ó 2013 Äê Docker ÏîÄ¿·¢²¼¿ªÊ¼ËµÆð£¬Docker ÏîÄ¿µÄ·¢²¼Ê¹µÃÈ«²Ù×÷ϵͳÓïÒåµÄɳºÐ¼¼ÊõÍÙÊֿɵã¬Ê¹µÃÓû§Äܹ»¸üºÃµØ¡¢¸üÍêÕûµØ´ò°ü×Ô¼ºµÄÓ¦Óã¬Ê¹µÃ¿ª·¢Õß¿ÉÒÔÇá¶øÒ׾ٵĻñµÃÁËÒ»¸öÓ¦ÓõÄ×îС¿ÉÔËÐе¥Î»£¬¶ø²»ÐèÒªÒÀÀµÈκÎ
PaaS ÄÜÁ¦¡£Õâ¶Ô¾µä PaaS ²úÒµÆäʵÊÇÒ»¸ö¡°½µÎ¬´ò»÷¡±¡£
2014 ÄêµÄʱºò£¬Kubernetes ÏîÄ¿·¢²¼£¬ÆäÒâÒåÔÚÓÚ Google ½«ÄÚ²¿µÄ Borg/Omega
ϵͳ˼Ïë½èÖú¿ªÔ´ÉçÇøÊµÏÖÁË¡°ÖØÉú¡±£¬²¢ÇÒÌá³öÁË¡°ÈÝÆ÷Éè¼ÆÄ£Ê½¡±µÄ˼Ïë¡£¶ø Google Ö®ËùÒÔÑ¡Ôñ¼ä½Ó¿ªÔ´
Kubernetes ¶ø²»ÊÇÖ±½Ó¿ªÔ´ Borg ÏîÄ¿£¬Æäʵ±³ºóµÄÔÒòÒ²±È½ÏÈÝÒ×Àí½â£ºBorg/Omega
ÕâÑùµÄϵͳ̫¸´ÔÓÁË£¬ÊÇû°ì·¨Ìṩ¸ø Google Ö®ÍâµÄÈËʹÓ㬵«ÊÇ Borg/Omega ÕâÑùµÄÉè¼ÆË¼ÏëÈ´¿ÉÒÔ½èÖú
Kubernetes Èôó¼Ò½Ó´¥µ½£¬ÕâÒ²ÊÇ¿ªÔ´ Kubernetes µÄÖØÒª±³¾°¡£
ÕâÑùµ½ÁË 2015 Äêµ½ 2016 Ä꣬¾Íµ½ÁËÈÝÆ÷±àÅÅ¡°Èý¹úÕù°Ô¡±µÄʱ´ú£¬µ±Ê± Docker¡¢Swarm¡¢Mesos¡¢Kubernetes
¶¼ÔÚÈÝÆ÷±àÅÅÁìÓòÕ¹¿ª½ÇÖð£¬ËûÃǾºÕùµÄÔÒòÆäʵҲ±È½ÏÈÝÒ×Àí½â£¬ ÄǾÍÊÇ Docker »òÕßÈÝÆ÷±¾ÉíµÄ¼ÛÖµËäÈ»´ó£¬µ«ÊÇÈç¹ûÏëÒªÈÃÆä²úÉúÉÌÒµ¼ÛÖµ»òÕß˵¶ÔÔÆµÄ¼ÛÖµ£¬ÄÇô¾ÍÒ»¶¨ÐèÒªÔÚ±àÅÅÉÏÃæÕ¼¾ÝÒ»¸öÓÐÀûµÄλÖá£
ÆäÖУ¬Swarm ¸üÆ«ÏòÓÚÉú̬£¬¶ø Mesos ¼¼Êõ¸üǿһЩ¡£Ïà±È֮ϣ¬ Kubernetes Ôò¼æ¾ßÁËÁ½ÕßÓÅÊÆ£¬×îÖÕÔÚ
2017 Äê¡°Èý¹úÕù°Ô¡±µÄ¾ÖÃæÖеÃÒÔʤ³ö£¬³ÉΪÁ˵±Ê±Ö±µ½ÏÖÔÚµÄÈÝÆ÷±àÅűê×¼¡£ÕâÒ»¹ý³ÌµÄ´ú±íÐÔʼþ¾ÍÊÇ
Docker ¹«Ë¾Ðû²¼ÔÚºËÐIJúÆ·ÖÐÄÚÖÃÁË Kubernetes ·þÎñ£¬²¢ÇÒ Swarm ÏîÄ¿Öð½¥Í£Ö¹Î¬»¤¡£
µ½ÁË 2018 ÄêµÄʱºò£¬ÔÆÔÉú¼¼ÊõÀíÄʼÖð½¥ÃÈÑ¿£¬ÕâÊÇÒòΪ´Ëʱ Kubernetes ÒÔ¼°ÈÝÆ÷¶¼³ÉΪÁËÔÆ³§É̵ļȶ¨±ê×¼£¬ÒÔ¡°ÔÆ¡±ÎªºËÐĵÄÈí¼þÑз¢Ë¼ÏëÖð²½Ðγɡ£
¶øµ½ÁË 2019 Ä꣬Çé¿öËÆºõÓÖ½«·¢ÉúһЩ±ä»¯¡£
2019 Äê£¬ÔÆÔÉú¼¼ÊõÆÕ¼°ÔªÄê
Ϊʲô˵ 2019 ÄêºÜ¿ÉÄÜÊÇÒ»¸ö¹Ø¼ü½ÚµãÄØ£¿ÎÒÃÇÈÏΪ 2019 ÄêÊÇÔÆÔÉú¼¼ÊõµÄÆÕ¼°ÔªÄê¡£
Ê×ÏÈ´ó¼Ò¿ÉÒÔ¿´µ½£¬ÔÚ 2019 Ä꣬°¢Àï°Í°ÍÐû²¼ÒªÈ«ÃæÉÏÔÆ£¬¶øÇÒ¡°ÉÏÔÆ¾ÍÒªÉÏÔÆÔÉú¡±¡£ÎÒÃÇ»¹¿ÉÒÔ¿´µ½£¬ÒÔ¡°ÔÆ¡±ÎªºËÐĵÄÈí¼þÑз¢Ë¼Ï룬ÕýÖð²½³ÉΪËùÓпª·¢ÕßµÄĬÈÏÑ¡Ïî¡£Ïñ
Kubernetes µÈÔÆÔÉú¼¼ÊõÕýÔÚ³ÉΪ¼¼ÊõÈËÔ±µÄ±ØÐ޿Σ¬´óÁ¿µÄ¹¤×÷¸ÚλÕýÔÚÓ¿ÏÖ³öÀ´¡£
ÕâÖÖ±³¾°Ï£¬¡°»á Kubernetes¡± ÒѾԶԶ²»¹»ÁË£¬¡°¶® Kubernetes¡±¡¢¡°»áÔÆÔÉú¼Ü¹¹¡±
µÄÖØÒªÐÔÕýÈÕÒæÍ¹ÏÔ³öÀ´¡£ ´Ó 2019 Ä꿪ʼ£¬ÔÆÔÉú¼¼Êõ½«»á´ó¹æÄ£ÆÕ¼°£¬ÕâÒ²ÊÇΪʲô´ó¼Ò¶¼ÒªÔÚÕâ¸öʱ¼äµãÉÏѧϰºÍͶ×ÊÔÆÔÉú¼¼ÊõµÄÖØÒªÔÒò¡£
ÔÆÔÉú´ú±í¼¼Êõ

¡°12ÒªËØ¡±
¡°12ÒªËØ¡±Ó¢ÎÄÈ«³ÆÊÇThe Twelve-Factor App£¬×î³õÓÉHerokuµÄ¹¤³ÌʦÕûÀíÆð²½£¬ÊǼ¯Ìå¹±Ï××ܽáµÄÖǻۣ¬ÈçͼËùʾ¡£

ͼ£º12ÒªËØ
¸ù¾Ý»ùÓÚÔÆµÄÈí¼þ¿ª·¢Ä£Ê½£¬12ÒªËØ±È½ÏÌùÇеØÃèÊöÁËÈí¼þÓ¦ÓõÄÔÐÍ£¬²¢Ú¹ÊÍÁËʹÓÃÔÉúÔÆÓ¦Óüܹ¹µÄÔÒò¡£±ÈÈ磬һ¸öÓÅÑŵĻ¥ÁªÍøÓ¦ÓÃÔÚÉè¼Æ¹ý³ÌÖУ¬ÐèÒª×ñѵÄһЩ»ù±¾ÔÔòºÍÔÆÔÉúÓÐÒìÇúͬ¹¤Ö®´¦¡£Í¨¹ýÇ¿»¯ÏêϸÅäÖú͹淶£¬ÀàËÆRailsµÄ»ùÓÚ¡°Ô¼¶¨ÓÅÓÚÅäÖá±£¨convention
over configuration£©µÄÔÔò£¬ÌرðÔÚ´ó¹æÄ£µÄÈí¼þÉú²úʵ¼ùÖУ¬ÕâЩԼ¶¨·Ç³£ÖØÒª£¬´ÓÎÞ״̬¹²Ïíµ½Ë®Æ½À©Õ¹µÄ¹ý³Ì£¬´ÓËÉñîºÏ¼Ü¹¹¹ØÏµµ½²¿Êð»·¾³¡£»ùÓÚ12ÒªËØµÄÉÏÏÂÎĹØÁª£¬Èí¼þÉú²ú¾Í±ä³ÉÁËÒ»¸ö¸öµ¥Ò»µÄ²¿Êðµ¥Ôª£»¶à¸öÁªºÏ²¿ÊðµÄµ¥Ôª×é³ÉÒ»¸öÓ¦Ó㬶à¸öÓ¦ÓÃÖ®¼äµÄ¹ØÏµ¾Í¿ÉÒÔ×é³ÉÒ»¸ö¸´Ôӵķֲ¼Ê½ÏµÍ³Ó¦Óá£
ÏÂÃæ¼òÒª½éÉÜͼ1-9ÖеÄÕâЩÔÔò¡£ÏàÐźܶ࿪·¢ÕßÔÚʵ¼Ê¿ª·¢¹¤×÷ÖÐÒѾºÜºÃµØÓ¦ÓÃÁËÆäÖеÄһЩÔÔò£¬Ö»ÊÇûÓÐÒâʶµ½¸ÅÄî±¾Éí¡£¶ÔÕâЩÔÔò±È½ÏİÉúµÄ¿ª·¢Õߣ¬Èç¹ûÏëÁ˽â¸ü¶àµÄ²Ù×÷¹ý³Ì£¬Çë²ÎÔÄ¡¶ÔÆÔÉúʱ´úϵÄ12ÒªËØ£¨12-Factor£©Ó¦ÓÃÓëʵ¼ù¡·Ò»ÎÄ¡£
»ù×¼´úÂë
ÿһ¸ö²¿ÊðµÄÓ¦Óö¼ÔÚ°æ±¾¿ØÖÆ´úÂë¿âÖб»×·×Ù¡£ÔÚ¶à¸ö²¿Êð»·¾³ÖУ¬»áÓжàÖÖ²¿ÊðʵÀý£¬µ¥¸öÓ¦ÓÃÖ»ÓÐÒ»·Ý´úÂë¿â£¬¶à·Ý²¿ÊðÏ൱ÓÚÔËÐÐÁ˸ÃÓ¦ÓõĶà¸öʵÀý£¬±ÈÈ翪·¢»·¾³Ò»¸öʵÀý£¬²âÊÔ»·¾³¡¢Éú²ú»·¾³¶¼ÓÐÒ»¸öʵÀý¡£
ʵ¼ÊÉÏ£¬ÔÚÔÆ¼ÆËã¼Ü¹¹ÖУ¬ËùÓеĻù´¡ÉèÊ©¶¼ÊÇ´úÂëÅäÖ㬼´Infrastructure as Code£¨IaC£©£¬Õû¸öÓ¦ÓÃͨ¹ýÅäÖÃÎļþ¾Í¿ÉÒÔ±àÅųöÀ´£¬¶ø²»ÔÙÐèÒªÊÖ¹¤µÄ¸ÉÔ¤£¬×öµ½»ù´¡·þÎñÒ²ÊÇ¿ÉÒÔ×·×ٵġ£
ÒÀÀµ
Ó¦ÓóÌÐò²»»áÒþʽÒÀÀµÏµÍ³¼¶µÄÀà¿â£¬Í¨¹ýÒÀÀµÇåµ¥ÉùÃ÷ËùÓÐÒÀÀµÏͨ¹ýÒÀÀµ¸ôÀ빤¾ßÈ·±£³ÌÐò²»»áµ÷ÓÃϵͳÖдæÔÚ£¬µ«Çåµ¥ÖÐδÉùÃ÷ÒÀÀµÏ²¢Í³Ò»Ó¦Óõ½Éú²úºÍ¿ª·¢»·¾³¡£±ÈÈçͨ¹ýºÏÊʵŤ¾ß£¨ÀýÈçMaven¡¢Bundler¡¢NPM£©£¬Ó¦ÓÿÉÒÔºÜÇåÎúµØ¶Ô²¿Êð»·¾³¹«¿ªºÍ¸ô¾øÒÀÀµÐÔ£¬¶ø²»ÊÇÄ£ºýµØ¶Ô²¿Êð»·¾³²úÉúÒÀÀµÐÔ¡£
ÔÚÈÝÆ÷Ó¦ÓÃÖУ¬ËùÓÐÓ¦ÓõÄÒÀÀµºÍ°²×°¶¼ÊÇͨ¹ýDockerFileÀ´Íê³ÉÉùÃ÷µÄ£¬Í¨¹ýÅäÖÃÄÜÃ÷È·°ÑÒÀÀµ¹ØÏµ£¬°üÀ¨°æ±¾¶¼Ã÷È·µØÍ¼Ðλ¯Õ¹Ê¾³öÀ´£¬²»´æÔںںС£
ÅäÖÃ
»·¾³±äÁ¿ÊÇÒ»ÖÖÇå³þ¡¢ÈÝÒ×Àí½âºÍ±ê×¼»¯µÄÅäÖ÷½·¨£¬½«Ó¦ÓõÄÅäÖô洢ÓÚ»·¾³±äÁ¿ÖУ¬±£Ö¤ÅäÖÃÅųýÔÚ´úÂëÖ®Í⣬»òÕ߯äËû¿ÉÄÜÔÚ²¿Êð»·¾³£¨ÀýÈçÑз¢¡¢Õ¹Ê¾¡¢Éú²ú£©Ö®¼äÇø±ðµÄÈκδúÂ룬¿ÉÒÔͨ¹ý²Ù×÷ϵͳ¼¶µÄ»·¾³±äÁ¿À´×¢Èë¡£
ʵÀý¸ù¾Ý²»Í¬µÄ»·¾³ÅäÖÃÔËÐÐÔÚ²»Í¬µÄ»·¾³ÖУ¬´ËÍ⣬ʵÏÖÅäÖü´´úÂ룬ÔÚÔÆ»·¾³ÖУ¬ÎÞÂÛÊÇͳһµÄÅäÖÃÖÐÐÄ»¹ÊÇ·Ö²¼Ê½µÄÅäÖÃÖÐÐͼÓкõÄʵ¼ù·½Ê½£¬±ÈÈçDockerµÄ»·¾³±äÁ¿Ê¹Óá£
ºó¶Ë·þÎñ
²»ÓÃÇø±ð¶Ô´ý±¾µØ»òµÚÈý·½·þÎñ£¬Í³Ò»°ÑÒÀÀµµÄºó¶Ë×÷ΪһÖÖ·þÎñÀ´¶Ô´ý£¬ÀýÈçÊý¾Ý¿â»òÕßÏûÏ¢´úÀí£¬×÷Ϊ¸½¼Ó×ÊÔ´£¬Í¬µÈµØÔÚ¸÷ÖÖ»·¾³Öб»ÏûºÄ¡£±ÈÈçÔÚÔÆ¼Ü¹¹µÄ»ù´¡·þÎñÖУ¬¼ÆËã¡¢ÍøÂç¡¢´æ´¢×ÊÔ´¶¼¿ÉÒÔ¿´×÷ÊÇÒ»ÖÖ·þÎñÈ¥¶Ô´ýʹÓü´¿É£¬²»ÓÃÇø·ÖÊÇÔ¶³Ì»¹ÊDZ¾µØµÄ¡£
¹¹½¨¡¢·¢²¼¡¢ÔËÐÐ
Ó¦ÓÃÑϸñÇø·Ö¹¹½¨¡¢·¢²¼¡¢ÔËÐÐÕâ3¸ö½×¶Î¡£3¸ö½×¶ÎÊÇÑϸñ·Ö¿ªµÄ£¬Ò»¸ö½×¶Î¶ÔÓ¦×öÒ»¼þÊÂÇ飬ÿ¸ö½×¶ÎÓкÜÃ÷È·µÄʵÏÖ¹¦ÄÜ¡£ÔÆÔÉúÓ¦ÓõĹ¹½¨Á÷³Ì¿ÉÒÔ°Ñ·¢²¼ÅäÖÃŲµ½¿ª·¢½×¶Î£¬°üÀ¨Êµ¼ÊµÄ´úÂë¹¹½¨ºÍÔËÐÐÓ¦ÓÃËùÐèµÄÉú²ú»·¾³ÅäÖá£ÔÚÔÆÔÉúÓ¦ÓÃÖУ¬»ùÓÚÈÝÆ÷µÄBuild-Ship-RunºÍÕâ3¸ö½×¶ÎÍêÈ«ÎǺϣ¬Ò²ÊÇDocker¶Ô±¾ÔÔòµÄ×î¼Ñʵ¼ù¡£
½ø³Ì
½ø³Ì±ØÐëÎÞ״̬ÇÒÎÞ¹²Ïí£¬¼´ÔÆÓ¦ÓÃÒÔÒ»¸ö»ò¶à¸öÎÞ״̬²»¹²ÏíµÄ³ÌÐòÔËÐС£ÈκαØÒª×´Ì¬¶¼±»·þÎñ»¯µ½ºó¶Ë·þÎñÖУ¨»º´æ¡¢¶ÔÏó´æ´¢µÈ£©¡£
ËùÓеÄÓ¦ÓÃÔÚÉè¼ÆÊ±¾ÍÈÏÎªËæÊ±ËæµØ»áʧ°Ü£¬ÃæÏòʧ°Ü¶øÉè¼Æ£¬Òò´Ë½ø³Ì¿ÉÄÜ»á±»ËæÊ±ÀÆð»òÏûʧ£¬ÌرðÊÇÔÚµ¯ÐÔÀ©ÈݵĽ׶Ρ£
¶Ë¿Ú°ó¶¨
²»ÒÀÀµÓÚÈκÎÍøÂç·þÎñÆ÷¾Í¿ÉÒÔ´´½¨Ò»¸öÃæÏòÍøÂçµÄ·þÎñ£¬Ã¿¸öÓ¦ÓõŦÄܶ¼ºÜÆëÈ«£¬Í¨¹ý¶Ë¿Ú°ó¶¨¶ÔÍâÌṩËùÓзþÎñ£¬±ÈÈçWebÓ¦ÓÃͨ¹ý¶Ë¿Ú°ó¶¨£¨Port
binding£©À´Ìṩ·þÎñ£¬²¢¼àÌý·¢ËÍÖÁ¸Ã¶Ë¿ÚµÄÇëÇ󣨰üÀ¨HTTP£©¡£
ÔÚÈÝÆ÷Ó¦ÓÃÖУ¬Ó¦ÓÃͳһͨ¹ý±©Â¶¶Ë¿ÚÀ´·þÎñ£¬¾¡Á¿±ÜÃâͨ¹ý±¾µØÎļþ»ò½ø³ÌÀ´Í¨ÐÅ£¬Ã¿ÖÖ·þÎñͨ¹ý·þÎñ·¢ÏÖ¶ø·þÎñ¡£
²¢·¢
½ø³Ì¿ÉÒÔ¿´×÷Ò»µÈ¹«Ãñ£¬²¢·¢ÐÔ¼´¿ÉÒÔÒÀ¿¿Ë®Æ½À©Õ¹Ó¦ÓóÌÐòÀ´ÊµÏÖ£¬Í¨¹ý½ø³ÌÄ£ÐͽøÐÐÀ©Õ¹£¬²¢ÇҾ߱¸ÎÞ¹²Ïí¡¢Ë®Æ½·ÖÇøµÄÌØÐÔ¡£
ÔÚ»¥ÁªÍøµÄ·þÎñÖУ¬ÒµÎñµÄ±¬·¢ÐÔËæÊ±¿ÉÄÜ·¢Éú£¬Òò´Ë²»Ì«¿ÉÄÜͨ¹ýÓ²¼þÀ©ÈÝÀ´ËæÊ±ÌṩÀ©ÈÝ·þÎñ£¬ÐèÒªÒÀÀµºáÏòÀ©Õ¹ÄÜÁ¦½øÐÐÀ©ÈÝ¡£
Ò×´¦Àí
ËùÓÐÓ¦Óõļܹ¹Éè¼Æ¶¼ÐèÒªÖ§³ÖÄÜËæÊ±Ïú»ÙµÄÌØµã£¬ºÍ״̬µÄÎÞ¹ØÐÔ±£³ÖÒ»Ö£¬ÔÊÐíϵͳ¿ìËÙµ¯ÐÔÀ©Õ¹¡¢¸Ä±ä²¿Êð¼°¹ÊÕϻָ´µÈ¡£
ÔÚÔÆ»·¾³ÖУ¬ÓÉÓÚÒµÎñµÄ¸ßµÍ·åÖµ¾³£ÐèÒªÄÜʵÏÖ¿ìËÙÁé»î¡¢µ¯ÐÔµÄÉìËõÓ¦Óã¬ÒÔ¼°²»¿É¿ØµÄÓ²¼þÒòËØµÈ£¬Ó¦ÓÿÉÄÜËæÊ±»á·¢Éú¹ÊÕÏ£¬Òò´ËÓ¦ÓÃÔڼܹ¹Éè¼ÆÉÏÐèÒª¾¡¿ÉÄÜÎÞ״̬£¬Ó¦ÓÃÄÜËæÊ±ËæµØÀÆð£¬Ò²ÄÜËæÊ±ËæµØÏú»Ù£¬Í¬Ê±±£Ö¤½ø³Ì×îСÆô¶¯Ê±¼äºÍ¼Ü¹¹µÄ¿ÉÆúÐÔ£¬Ò²¿ÉÒÔÌṩ¸üÃô½ÝµÄ·¢²¼¼°À©Õ¹¹ý³Ì¡£
»·¾³µÈ¼Û
±ØÐëËõС±¾µØÓëÏßÉϲîÒ죬ȷ±£»·¾³µÄÒ»ÖÂÐÔ£¬±£³ÖÑз¢¡¢²âÊÔºÍÉú²ú»·¾³¾¡¿ÉÄÜÏàËÆ£¬ÕâÑù¿ÉÒÔÌṩӦÓõijÖÐø½»¸¶ºÍ²¿Êð·þÎñ¡£
ÔÚÈÝÆ÷»¯Ó¦ÓÃÖУ¬Í¨¹ýÎļþ¹¹½¨µÄ»·¾³ÔËÐÐÄÜ×öµ½°æ±¾»¯£¬Òò´Ë±£Ö¤¸÷¸ö²»Í¬»·¾³µÄ²îÒìÐÔ£¬Í¬Ê±»¹ÄÜ´ó´ó¼õÉÙ»·¾³²»Í¬´øÀ´µÄÅÅ´íµÈ³É±¾¹µÍ¨ÎÊÌâ¡£
ÈÕÖ¾
ÿһ¸öÔËÐеĽø³Ì¶¼»áÖ±½Ó±ê×¼Êä³ö£¨stdout£©ºÍ´íÎóÊä³ö£¨stderr£©Ê¼þÁ÷£¬»¹¿ÉÒÔ½«ÈÕÖ¾µ±×÷ʼþÁ÷×÷ΪÊý¾ÝÔ´£¬Í¨¹ý¼¯ÖзþÎñ£¬Ö´Ðл·¾³ÊÕ¼¯¡¢¾ÛºÏ¡¢Ë÷ÒýºÍ·ÖÎöÕâЩʼþ¡£
ÈÕÖ¾ÊÇϵͳÔËÐÐ״̬µÄ²¿·ÖÌåÏÖ£¬ÎÞÂÛÔÚϵͳÕï¶Ï¡¢ÒµÎñ¸ú×Ù»¹ÊǺóÐø´óÊý¾Ý·þÎñµÄ±ØÒªÌõ¼þÖУ¬DockerÌṩ±ê×¼µÄÈÕÖ¾·þÎñ£¬Óû§¿ÉÒÔ¸ù¾ÝÐèÇó×ö×Ô¶¨ÒåµÄ²å¼þ¿ª·¢À´´¦ÀíÈÕÖ¾¡£
¹ÜÀí½ø³Ì
¹ÜÀí»òά»¤Ó¦ÓõÄÔËÐÐ״̬ÊÇÈí¼þά»¤µÄ»ù´¡²¿·Ö£¬±ÈÈçÊý¾Ý¿âÇ¨ÒÆ¡¢½¡¿µ¼ì²é¡¢°²È«Ñ²¼ìµÈ£¬ÔÚÓëÓ¦Óó¤ÆÚÔËÐеijÌÐòÏàͬ»·¾³ÖУ¬×÷Ϊһ´ÎÐÔ³ÌÐòÔËÐС£
ÔÚÓ¦Óüܹ¹Ä£Ê½ÖУ¬±ÈÈçKubernetesÀïÃæµÄPod×ÊÔ´»òÕßdockerexec£¬¿ÉÒÔËæ×ÅÆäËûµÄÓ¦ÓóÌÐòÒ»Æð·¢²¼»òÔÚ³öÏÖÒì³£Õï¶ÏʱÄÜͨ¹ýÏà¹ØµÄ³ÌÐòÈ¥¹ÜÀíÆä״̬¡£
ÔÆÔÉúÓ¦ÓõÄÂß¼ÒÀÀµ¹ØÏµ
ÔÆÔÉúµÄÄÚÈݷdz£¹ã·º£¬Ä¿Ç°Ã»ÓÐϵͳµÄ˵Ã÷ºÍÍêÕûµÄ¶¨Ò壬ÉÏÎĽéÉÜÁËÔÆÔÉúÓ¦ÓõĻù´¡×é¼þºÍÏà¹ØÌØµã£¬¿ÉÄܶÁÕß¶ÔÔÆÔÉúÓ¦ÓõÄÂß¼»¹´æÔÚһЩÀ§»ó¡£ÎªÁ˸üÇå³þµØ½øÐÐ˵Ã÷£¬ÎÒÃÇ×ܽáÁËÆäÒÀÀµ¹ØÏµ£¬ÈçͼËùʾ¡£

Ê×ÏÈ£¬ÎªÁËץסÉÌÒµ»ú»á£¬ÒµÎñÐèÒª¿ìËÙµü´ú£¬²»¶ÏÊÔ´í£¬Òò´Ë£¬ÆóÒµÐèÒªÒÀÀµÓµÓгÖÐø½»¸¶µÄÄÜÁ¦£¬ÕâЩ²»½ö°üÀ¨¼¼ÊõÐèÇó»¹°üÀ¨²úÆ·µÄÐèÇó£¬ÈçºÎÄÜÓµÓгÖÐø½»¸¶µÄÄÜÁ¦£¬´ó¶øÈ«µÄ¼Ü¹¹ÒòΪЧÂʵÍÏ£¬ÏÔÈ»ÊDz»ºÏÊʵġ£ÓÚÊÇÑݱä³ö΢·þÎñ¼Ü¹¹À´Âú×ãÐèÇó£¬Í¨¹ý°Ñϵͳ»®·Ö³öÒ»¸ö¸ö¶ÀÁ¢µÄ¸öÌ壬ÿ¸ö¸öÌå·þÎñµÄÉè¼ÆÒÀÀµÐèҪͨ¹ý12ÒªËØµÄÔÔòÀ´¹æ·¶Íê³É¡£Í¬Ñù£¬Èç¹ûϵͳ±»·Ö³ÉÁ˼¸Ê®¸öÉõÖÁ¼¸°Ù¸ö·þÎñ×é¼þ£¬ÔòÐèÒª½èÖúDevOps²ÅÄܺܺõØÂú×ãÒµÎñÐ×÷ºÍ·¢²¼µÈÁ÷³Ì¡£×îºó£¬DevOpsµÄÓÐЧʵʩÐèÒªÒÀÀµÒ»¶¨µÄÍÁÈÀ£¬¼´Ãô½ÝµÄ»ù´¡ÉèÊ©·þÎñ£¬ÏÖʵֻÓÐÔÆ¼ÆËãµÄģʽ²ÅÄÜÂú×ãÕûÌåÒªÇó¡£Í¨¹ýÉÏÊöÊáÀí£¬ÎÒÃÇ×ܽá³öÃæÏòÔÆÔÉúÓ¦ÓõÄ3¸ö²»Í¬²ã´ÎµÄÌØµã¡£
¸ß¿ÉÓÃÉè¼Æ£¨Design for Availability£©£¬ÒÀ¾ÝÓ¦ÓÃÒµÎñÐèÇ󣬸߿ÉÓ÷ÖΪ²»Í¬¼¶±ð£¬±ÈÈç²»Í¬ÇøÓò¡¢²»Í¬»ú·¿£¨¿ç³Ç»òͬ³Ç£©¡¢²»Í¬»ú¹ñ¡¢²»Í¬·þÎñÆ÷ºÍ²»Í¬½ø³ÌµÄ¸ß¿ÉÓã¬ÔÆÔÉúÓ¦ÓÃÓ¦¸Ã¸ù¾ÝÒµÎñµÄ¿ÉÓÃÐÔÒªÇóÉè¼Æ²»Í¬¼¶±ðµÄ¼Ü¹¹Ö§³Ö¡£
¿ÉÀ©Õ¹Éè¼Æ£¨Design for Scale£©£¬ËùÓÐÓ¦ÓõÄÉè¼ÆÊÇÎÞ״̬µÄ£¬Ê¹µÃÒµÎñÌìÉú¾ßÓÐÀ©Õ¹ÐÔ£¬ÔÚÒµÎñÁ÷Á¿¸ß·åºÍµÍ·åʱÆÚ£¬ÒÀÀµÔƵÄÌØÐÔ×Ô¶¯µ¯ÐÔÀ©ÈÝ£¬Âú×ãÒµÎñÐèÇó¡£
¿ìËÙʧ°ÜÉè¼Æ£¨Design for Failure£©£¬¼´°üÀ¨ÏµÍ³¼äÒÀÀµµÄµ÷ÓÃËæÊ±¿ÉÄÜ»áʧ°Ü£¬Ò²°üÀ¨Ó²¼þ»ù´¡ÉèÊ©·þÎñËæÊ±¿ÉÄÜå´»ú£¬»¹Óкó¶ËÓÐ״̬·þÎñµÄϵͳÄÜÁ¦¿ÉÄÜÓÐÆ¿¾±£¬×ÜÖ®ÔÚ·¢ÉúÒ쳣ʱÄܹ»¿ìËÙʧ°Ü£¬È»ºó¿ìËÙ»Ö¸´£¬ÒÔ±£Ö¤ÒµÎñÓÀÔ¶ÔÚÏߣ¬²»ÄÜÈÃÒµÎñ°ëËÀ²»»îµØ½©³Ö×Å¡£
ͨ¹ýÉÏÃæµÄ»ù±¾ÃèÊö¼°ÔÆÔÉúÓ¦ÓõÄ×é³É»òÌØµã£¬ÓëÈÝÆ÷¼¼ÊõÏà±È¿ÉÒÔµÃÖª£¬ÈÝÆ÷µÄÌØÐÔÌìÉú¾ÍÊǰ´ÕâЩÔÔò½øÐÐÉè¼ÆµÄ¡£Ëæ×Å»¥ÁªÍøÒµÎñµÄ¼Ü¹¹²»¶ÏÑݽø£¬´Óµ¥ÌåÓ¦Óõ½·Ö²¼Ê½Ó¦Óã¬ÉõÖÁ΢·þÎñ¼Ü¹¹Ó¦ÓÃÖУ¬12ÒªËØ½ÏºÃµØÎª¹¹½¨»¥ÁªÍø»¯Ó¦ÓÃÌṩÁËͳһµÄ·½·¨Âۺͱê×¼»¯£¬¾ßÓÐÇ¿´óµÄÉúÃüÁ¦£¬Ã¿Ò»ÌõÔÔò¶¼ÊÇÓ¦Óÿª·¢µÄÖéçá¡£µ±È»£¬ÔÚʵ¼ù¹ý³ÌÖУ¬Ã¿Ò»¸öÔÔòÒ²²»ÊÇÒ»³É²»±äµÄ£¬Ëæ×ÅеÄÀíÄîºÍ¼¼Êõ³öÏÖ£¬ÔÓеÄÒòËØ»áµÃµ½ÑÓÉìºÍ·¢Õ¹£¬»á³öÏÖеÄÔÔòºÍÓ¦Óã¬ÕâÌ×ÀíÂÛÒ²ÊÊÓÃÓÚÈÎÒâÓïÑԺͺó¶Ë·þÎñ£¨Êý¾Ý¿â¡¢ÏûÏ¢¶ÓÁС¢»º´æµÈ£©¿ª·¢µÄÓ¦ÓóÌÐò£¬Òò´ËÒ²×÷ÎªÔÆÔÉú¼Ü¹¹Ó¦ÓõĻù±¾Ö¸µ¼ÔÔòÖ®Ò».
¼¼ÊõµÄÇ÷ÊÆºÍÓ°Ïì
Èí¼þÉè¼ÆÓÐÁ½¸ö¹Ø¼üÄ¿±ê£º¸ßÄÚ¾Û¡¢µÍñîºÏ£¬Î§ÈÆÕâ2¸öºËÐÄÄ¿±ê£¬ÓÖÌá³öÁ˵¥Ò»Ö°Ô𡢿ª±ÕÔÔò¡¢ÀïÊÏÌæ»»¡¢ÒÀÀµµ¼Ö¡¢½Ó¿Ú¸ôÀë¡¢×îÉÙ֪ʶµÈÉè¼ÆÔÔò¡£
Èí¼þ¹¤³Ìʦһֱ¶¼ÔÚΪÕâÁ½¸öÄ¿±ê¶øÅ¬Á¦·Ü¶·£¬ÒÔÇó°ÑÈí¼þ±àдµÃ¸ü¼ÓÇåÎú¡¢¸ü¼Ó½¡×³¡¢¸ü¼ÓÒ×ÓÚÀ©Õ¹ºÍά»¤¡£
µ«ºóÀ´£¬ÈËÃÇ·¢ÏÖÓиü¶àµÄËßÇó£¬Ï£Íû¿ª·¢Èí¼þ±äµÃ¸ü¼òµ¥¡¢¸ü¿ì½Ý£¬³ÌÐòԱϣÍû¸üÉÙ±àд´úÂ룬·ÇרҵÈËԱҲϣÍûÄÜ¿ª·¢³ÌÐò£¬ÓÚÊÇ£¬¸ü¶àµÄ¸üɵ¹ÏµÄ±à³ÌÓïÑÔ±»·¢Ã÷³öÀ´£¬¸ü¶àµÄ±à³Ì¼¼ÊõºÍ±à³Ì˼Ïë±»·¢Ã÷³öÀ´£¬±ÈÈç¿â¡¢×é¼þ¡¢ÔÆ»ù´¡ÉèÊ©¡£
ÓÚÊǺܶ༼Êõ±ä³ÉÁËÍÀÁúÖ®¼¼£¬±ÈÈç»ã±à£¬Ê±´ú±äÁË£¬½¨¹úºó¶¯Îï²»Äܳɾ«ÁË£¬Ã»ÓÐÁú¿ÉÒÔÔ×ÁË£¬È»ºóºÜ¶àÈí¼þ¹¤³ÌʦҡÉíÒ»±ä³ÉÁ˵÷²Î¹¤³Ìʦ¡¢Call
APIש¼Ò¡¢Óÿâ°üÄÜÊÖ¡¢Æ´×é¼þ´ïÈË£¬ÕâÊÇЧÂÊ·Ö¹¤µÄ½á¹û£¬Ò²ÊǼ¼Êõ·¢Õ¹µÄʹȻ¡£
×ݹ۽ü¶þÊ®ÄêµÄ¿Æ¼¼»¥ÁªÍø·¢Õ¹Àú³Ì£¬´óµÄÇ÷ÊÆÊǼ¼ÊõϳÁ£¬ÌرðÊǽüЩÄê£¬Ëæ×ÅÔÆ¼ÆËãµÄ·¢Õ¹ºÍÆÕ¼°£¬»ù´¡ÉèʩԽÀ´Ô½ºñʵ£¬ÒµÎñ¿ª·¢±äµÃÔ½À´Ô½ÈÝÒ×£¬Ò²Ô½À´Ô½Ã»Óм¼Êõº¬Á¿£¬¶øÖ®Ç°À§ÈÅСÍŶӵÄÐÔÄÜ¡¢¸ºÔØ¡¢°²È«ÐÔ¡¢À©Õ¹ÐÔÎÊÌâ¶¼²»¸´´æÔÚ£¬Õâ²»½ûÈû¥ÁªÍøÐÐÒµµÄÓÍÄå´óÊåÃÇàäÈôº®²õ£¬·Â·ð·Ö·ÖÖÓ¾ÍÒª±»¾íÈëÀúÊ·ºéÁ÷¶øÍò½Ù²»¸´¡£
ËäÈ»²»¿É·ñÈϼ¼ÊõµÄÖØÒªÐÔÔÚ½µµÍ£¬µ«Ò²»¹²»ÖÁÓÚÄÇô±¯¹Û¡£Ò£ÏëPCʱ´ú£¬µ±VB¡¢Delphi¡¢MFC³öÏÖµÄʱºò£¬Ò²ÓÐÀàËÆÂÛµ÷£¬Ëù¼û¼´ËùµÃ£¬µãµãÊó±ê£¬¾Í¿ÉÒÔ¿ª·¢PC×ÀÃæ³ÌÐò£¬ÊDz»ÊǺܸ߶ˣ¿
ÄÇʱºòÂëÅ©µÄµ£ÐÄÏà±ÈÏÖÔÚ¿ÖÅÂÊÇÖ»¶à²»ÉÙ°É£¬µ«ºóÀ´Ëæ×Å»¥ÁªÍøÐËÆð£¬³öÏÖÁ˺ó¶Ë¿ª·¢Õâ¸ö¹¤ÖÖ£¬ÂëÅ©ºÜ¿ìÕÒµ½ÁËеÄÕ½³¡£¬ÍøÂç¡¢·Ö²¼Ê½¡¢Êý¾Ý¿â¡¢º£Á¿·þÎñ¡¢ÈÝÔÖ·À´í£¬ÓÚÊÇÓÖÍæ³öÒ»¶Ñл¨Ñù¡£
Èç¹û˵PCʱ´úµÄ»ù´¡ÉèÊ©Êǿؼþ¿â£¬»¥ÁªÍøÊ±´úµÄ»ù´¡ÊµÊ©ÊÇÔÆ£¬ÄÇAIʱ´ú»ù´¡ÉèÊ©ÊÇʲô£¿ÓÖÓÐʲô¸ß¶ËÍæ·¨£¿
KubernetesÊÇÈÝÆ÷±àÅÅϵͳµÄÊÂʵ±ê×¼
ÔÚµ¥»úÉÏÔËÐÐÈÝÆ÷£¬ÎÞ·¨·¢»ÓËüµÄ×î´óЧÄÜ£¬Ö»ÓÐÐγɼ¯Èº£¬²ÅÄÜ×î´ó³Ì¶È·¢»ÓÈÝÆ÷µÄÁ¼ºÃ¸ôÀë¡¢×ÊÔ´·ÖÅäÓë±àÅŹÜÀíµÄÓÅÊÆ£¬¶ø¶ÔÓÚÈÝÆ÷µÄ±àÅŹÜÀí£¬Swarm¡¢MesosºÍKubernetesµÄ´óÕ½ÒѾ»ù±¾Ðû¸æ¼¼Êõ£¬kubernetes³ÉΪÁËÎÞ¿ÉÕùÒéµÄÓ®¼Ò¡£ÏÂÃæÕâÕÅͼÊÇKubernetesµÄ¼Ü¹¹Í¼£¬ÆäÖÐÏÔʾÁË×é¼þÖ®¼ä½»»¥µÄ½Ó¿ÚCNI¡¢CRI¡¢OCIµÈ£¬ÕâЩ½«KubernetesÓëij¿î¾ßÌå²úÆ·½âñ¸øÓû§×î´óµÄ¶¨ÖƳ̶ȣ¬Ê¹µÃKubernetesÓлú»á³ÉΪ¿çÔÆµÄÕæÕýµÄÔÆÔÉúÓ¦ÓõIJÙ×÷ϵͳ¡£

Kuberentes¼Ü¹¹£¨Í¼Æ¬À´×ÔÍøÂ磩
Ëæ×ÅKubernetesµÄÈÕÇ÷³ÉÊ죬¡°Kubernetes is becoming boring¡±£¬»ùÓڸá°²Ù×÷ϵͳ¡±Ö®ÉϹ¹½¨µÄÊÊÓÃÓÚ²»Í¬³¡¾°µÄÓ¦Óý«³ÉΪеķ¢Õ¹·½Ïò£¬¾ÍÏñÎÒÃǽ«Ê¯ÓÍ¿ª²É³öÀ´ºó£¬ÌáÁ¶³öÆûÓÍ¡¢²ñÓÍ¡¢Á¤ÇàµÈµÈ£¬ËùÓеIJÄÁ϶¼½«ÕÒµ½×Ô¼ºµÄÓÃ;£¬KubernetesÒ²ÊÇ£¬±Ï¾¹ÎÒÃÇËÒ²²»ÊÇΪÁ˲¿ÊðºÍ¹ÜÀíÈÝÆ÷¶øÓÃKubernetes£¬³ÐÔØÆäÉϵÄÓ¦ÓòÅÊǼÛÖµÖ®ËùÔÚ¡£
ÔÆÔÉúµÄºËÐÄÄ¿±ê

Cloud Native Core target
ÔÆÒѾ¿ÉÒÔΪÎÒÃÇÌṩÎȶ¨µÄ¿ÉÒÔÍÙÊֿɵõĻù´¡ÉèÊ©£¬µ«ÊÇÒµÎñÉÏÔÆ³ÉÁËÒ»¸öÄÑÌâ¡£KubernetesµÄ³öÏÖÓëÆä˵ÊÇ´Ó×î³õµÄÈÝÆ÷±àÅŽâ¾ö·½°¸£¬µ¹²»Èç˵ÊÇΪÁ˽â¾öÓ¦ÓÃÉÏÔÆ£¨¼´ÔÆÔÉúÓ¦Óã©Õâ¸öÄÑÌâ¡£°üÀ¨Î¢·þÎñºÍFaaS/Serverless¼Ü¹¹£¬¶¼¿ÉÒÔ×÷ÎªÔÆÔÉúÓ¦Óõļܹ¹¡£
µ«¾Í2017ÄêΪֹ£¬kubernetesµÄÖ÷ҪʹÓó¡¾°Ò²Ö÷Òª×÷ΪӦÓÿª·¢²âÊÔ»·¾³¡¢CI/CDºÍÔËÐÐWebÓ¦ÓÃÕ⼸¸öÁìÓò£¬ÈçÏÂͼTheNewStackµÄKubernetesÉú̬״¿öµ÷²é±¨¸æËùʾ¡£

Workloads running on Kubernetes
ÁíÍâ»ùÓÚKubernetesµÄ¹¹½¨PaaSƽ̨ºÍServerlessÒ²´¦ÓÚ±¬·¢µÄ×¼±¸½×¶Î£¬ÈçÏÂͼÖÐGartnerµÄ±¨¸æÖÐËùʾ£º

µ±Ç°¸÷´ó¹«ÓÐÔÆÈçGoogle GKE¡¢Î¢ÈíAzure ACS¡¢ÑÇÂíÑ·EKS£¨2018ÄêÉÏÏߣ©¡¢VmWare¡¢Pivotal¡¢ÌÚÑ¶ÔÆ¡¢°¢ÀïÔÆµÈ¶¼ÌṩÁËKuberentes·þÎñ¡£
΢·þÎñ
΢·þÎñ¡ª¡ªCloud NativeµÄÓ¦Óüܹ¹
ÏÂͼÊÇBilgin Ibryam¸ø³öµÄ΢·þÎñÖÐÓ¦¸Ã¹ØÐĵÄÖ÷Ì⣬ͼƬÀ´×ÔRedHat Developers¡£

Microservices concerns
΢·þÎñ´ø¸øÎÒÃǺܶ࿪·¢ºÍ²¿ÊðÉϵÄÁé»îÐԺͼ¼Êõ¶àÑùÐÔ£¬µ«ÊÇÒ²Ôö¼ÓÁË·þÎñµ÷ÓõĿªÏú¡¢·Ö²¼Ê½ÏµÍ³¹ÜÀí¡¢µ÷ÊÔÓë·þÎñÖÎÀí·½ÃæµÄÄÑÌâ¡£
µ±Ç°×î³ÉÊì×îÍêÕûµÄ΢·þÎñ¿ò¼Ü¿ÉÒÔ˵·ÇSpringĪÊô£¬¶øSpringÓÖ½öÏÞÓÚJavaÓïÑÔ¿ª·¢£¬Æä¼Ü¹¹±¾ÉíÓÖ¸úKubernetes´æÔںܶàÖØºÏµÄ²¿·Ö£¬ÈçºÎ̽Ë÷½«Kubernetes×÷Ϊ΢·þÎñ¼Ü¹¹Æ½Ì¨¾Í³ÉΪһ¸öÈȵ㻰Ìâ¡£
¾ÍÄÃ΢·þÎñÖÐ×î»ù´¡µÄ·þÎñ×¢²á·¢ÏÖ¹¦ÄÜÀ´Ëµ£¬Æä·½Ê½·ÖΪ¿Í»§¶Ë·þÎñ·¢ÏֺͷþÎñ¶Ë·þÎñ·¢ÏÖÁ½ÖÖ£¬JavaÓ¦ÓÃÖг£Óõķ½Ê½ÊÇʹÓÃEurekaºÍRibbon×ö·þÎñ×¢²á·¢Ïֺ͸ºÔؾùºâ£¬ÕâÊôÓÚ¿Í»§¶Ë·þÎñ·¢ÏÖ£¬¶øÔÚKubernetesÖÐÔò¿ÉÒÔʹÓÃDNS¡¢ServiceºÍIngressÀ´ÊµÏÖ£¬²»ÐèÒªÐÞ¸ÄÓ¦ÓôúÂ룬ֱ½Ó´ÓÍøÂç²ãÃæÀ´ÊµÏÖ¡£

Á½ÖÖ·þÎñ·¢ÏÖ·½Ê½
Cloud Native
DevOps¡ª¡ªÍ¨ÏòÔÆÔÉúµÄÔÆÌÝ

CNCF£¨ÔÆÔÉú¼ÆËã»ù½ð»á£©¸ø³öÁËÔÆÔÉúÓ¦ÓõÄÈý´óÌØÕ÷£º
ÈÝÆ÷»¯°ü×°£ºÈí¼þÓ¦ÓõĽø³ÌÓ¦¸Ã°ü×°ÔÚÈÝÆ÷ÖжÀÁ¢ÔËÐС£
¶¯Ì¬¹ÜÀí£ºÍ¨¹ý¼¯ÖÐʽµÄ±àÅŵ÷¶ÈϵͳÀ´¶¯Ì¬µÄ¹ÜÀíºÍµ÷¶È¡£
΢·þÎñ»¯£ºÃ÷È··þÎñ¼äµÄÒÀÀµ£¬»¥Ïà½âñî¡£
Èí¼þÉúÃüÖÜÆÚά¶È¿´ÔÆÔÉú

΢ÈíµÄ Azure ¼ÆËã·þÎñ¼Ü¹¹

Microsoft Azure Compute Service Categories
Virtual Machines - An Infrastructure as a Service
(IaaS) offering that provides maximum control over
the hosting environment and support for legacy workloads.
Consumers are responsible for operational activities
such as server patching and monitoring.
Virtual Machine Scale Sets - Provides services on
top of Virtual Machines where you need to deploy large
numbers of identical servers with load balancing and
auto-scale, reducing some operational overhead.
Containers - Provides traditional container orchestrators
(Docker, Kubernetes, Mesos) as well as Microsoft¡¯s
Service Fabric for building managed microservices
applications that are resilient and scalable, and
support Linux and Windows platforms.
App Services - A fully managed and scalable Platform
as a Service (PaaS) offering for Web, Mobile and API
applications, which removes a lot of the management
overhead, yet provides flexibility with support for
multiple platforms (Windows/Linux) and languages (.NET,
Node.js, PHP, Java, Python).
Serverless - Provides an on-demand and scalable execution
model for coded functions in multiple programming
languages, so that you pay only for the time the code
is executing, from the point at which it is triggered
to completion. 
Figure 2 Azure Cloud-Native Application Framework
Completing the picture
In addition to the compute services already described,
Azure offers a range of other managed services to
enable development of end-to-end applications.
Storage - Managed storage for logs, document and
media files (e.g. Blobs and SMB File services).
Data - Relational and NoSQL databases, caching and
search services (e.g. SQL Azure, Cosmos DB, Redis
Cache, Azure Search).
Messaging - Queues and subscriptions (e.g. Azure Service
Bus).
Security - Authentication services (e.g. Azure AD).
Network - Traffic management, content delivery, load
balancing and network virtual appliances.
Specialised or more advanced apps can make use of
additional services for Artificial Intelligence, Analytics
and Event driven architectures (such as IoT) and integration
for hybrid scenarios.
Putting all of this together, figure 2 shows a framework
for building cloud-native applications on Azure. Other
cloud platforms do provide similar offerings. If you
are not using Azure, hopefully this article has given
you some things to look out for on your cloud platform
to build cloud-native apps that respond to change
and enable you to work at the pace your business demands. |