ÕªÒª£º½üÈÕÍÆ³öµÄZStack¿ªÔ´IaaSÏîÄ¿£¬ºÅ³ÆÒª½â¾öOpenStackÄÑÒÔ½â¾öµÄһЩ¼¼ÊõÄÑÌâ¡£ZStackµÄ·¢ÆðÕߺÍ×ܼܹ¹Ê¦ÕÅöÎÓ¦Ñû׫ÎĴӼܹ¹²ãÃæÈ«Ãæ½éÉÜÁËZStackµÄÉè¼ÆÀíÄîºÍ¼¼ÊõʵÏÖ£¬²¢¾ÍZStackµÄÊг¡Ä¿±êºÍÉçÇø¹æ»®½øÐÐÁ˽â´ð¡£
¡¾±àÕß°´¡¿ÒѾ³ÉΪIaaSÊÂʵ±ê×¼µÄOpenStack£¬ÈÔÈ»ÃæÁÙÎȶ¨ÐÔ¡¢Ò×ÓÃÐÔµÈһϵÁеÄÄÑÌ⣬нüÍÆ³öµÄIaaS¿ªÔ´ÏîÄ¿ZStack£¬ºÅ³ÆÒª½è¼øIaaSÏȱ²µÄ¾Ñ飬ͨ¹ýеļ¼Êõ¼Ü¹¹½â¾öOpenStackÄÑÒÔ½â¾öµÄ¼¼ÊõÎÊÌ⣬²¢µÃµ½ÁËOpenStackÉçÇøµÄ¹Ø×¢¡£ÄÇô£¬ZStackÓкÎÌØÉ«£¿ÄÜ·ñʵÏÖÄ¿±ê£¿ZStackµÄ·¢ÆðÕߺÍ×ܼܹ¹Ê¦ÕÅöΣ¨Frank£©£¬×«ÎĴӼܹ¹²ãÃæÈ«Ãæ½éÉÜÁËZStackµÄÉè¼ÆÀíÄîºÍ¼¼ÊõʵÏÖ£¬²¢¾ÍZStackµÄÊг¡Ä¿±êºÍÉçÇø¹æ»®½øÐÐÁ˽â´ð¡£ÒÔÏÂΪÎÄÕÂÄÚÈÝ£º
ZStack×÷Ϊһ¿îпªÔ´IaaSÈí¼þ£¬×Ô·¢²¼ºó¾ÍѸËÙÒýÆðÁ˼¼ÊõȦµÄ¹Ø×¢£¬Ðí¶àÅóÓѶ¼¶ÔËü¼Ü¹¹ÌصãºÜ¸ÐÐËȤ¡£ËäÈ»ÔÚZStackÖ÷Ò³ÓÐ16ƪ²©¿ÍÏêϸ½éÉÜÁËËüµÄÖ÷Òª¼Ü¹¹Ìص㣬µ«ÈÔÒª»¨Ò»¶¨Ê±¼ä½øÐÐÔĶÁ²ÅÄܰÑÎÕÆäÉè¼ÆÒªµã¡£±ÊÕß×÷ΪZStackµÄ·¢ÆðÕߺÍ×ܼܹ¹Ê¦£¬Ï£Íûͨ¹ýÕâÆªÎÄÕ¶ÔËùÓмܹ¹Òªµã½øÐÐÒ»´ÎÊáÀí£¬Î§ÈÆËüÒª½â¾öµÄÎÊÌâ³ö·¢£¬Îª¶ÁÕß½øÐÐÒ»¸öÏêϸµÄ½éÉÜ¡£
ZStackµÄ¼Ü¹¹Ìصã
ZStack´Óµ®ÉúÖ®³õûÓм±ÓÚʵÏÖ¸÷ÖÖìÅÄ¿µÄ¹¦ÄÜ£¬¶øÊÇ»¨Á˴󲿷־«Á¦×ö¼Ü¹¹Éè¼Æ£¬Ï£Íû´Ó¼Ü¹¹ÉϽâ¾öËĸöÎÊÌ⣺Ò×ÓÃÐÔ£¬Îȶ¨ÐÔ£¬¸ßÐÔÄÜ£¬ÒÔ¼°À©Õ¹ÐÔ¡£ZStackµÄËùÓеļܹ¹Éè¼Æ£¬È«²¿Î§ÈÆÕâËĸö·½ÃæÕ¹¿ª£º
Ò×ÓÃÐÔ
ÔÚÒ×ÓÃÐÔ·½Ã棬ZStackÊ×ÏÈ¿¼ÂǵÄÊÇÈí¼þµÄ°²×°²¿ÊðÓëÉý¼¶£¬Æä´ÎÊÇÔÚ³¤ÆÚʹÓõĹý³ÌÖеÄÓªÔ˺Íά»¤¡£¶ÔÓÚ°²×°ºÍ²¿Êð£¬ZStackÊÇÒ»¸öJavaÏîÄ¿£¬ÔÚ±àÒëµÄÍê³Éºó£¬ËùÓеÄÎļþ¶¼»á±»´ò°üµ½Ò»¸öJavaµÄWARÎļþÖС£²¿ÊðZStackʵ¼Ê¾ÍÊDz¿ÊðÒ»¸ö±ê×¼µÄJava WARÎļþµ½Apache TomcatÕâÑùµÄweb containerÖС£ÕâÖÖ²¿ÊðÊÇJava webÓ¦Óõıê×¼²¿Êð·½·¨£¬·Ç³£¼òµ¥ÇÒ¹ãΪÊìÖª¡£¼´Ê¹Ã»ÓÐIaaS¾ÑéµÄµÄÓû§£¬Ò²¿ÉÒÔºÜÈÝÒ×ѧ»á°²×°¡£Í¬Ê±ZStack¶ÔÍⲿµÄÒÀÀµ·Ç³£ÉÙ£¬½ö½öÐèÒªMySQLÊý¾Ý¿â£¬RabbitMQÏûÏ¢×ÜÏߣ¬ÒÔ¼°AnsibleϵͳÅäÖùÜÀíÈí¼þ£¬ÕâЩ¶¼ÊÇLinux¸÷¸ö·¢ÐаæÌṩµÄÈí¼þ¡£Ò»¸öµ¥¹ÜÀí½ÚµãµÄZStack²¿ÊðÈçͼËùʾ£º

Èç¹û°ÑMySQLºÍRabbitMQ·Åµ½µ¥¶ÀµÄ»úÆ÷£¬µ¥¹ÜÀí½ÚµãµÄ²¿Êð¿ÉÒÔºÜÈÝÒ×À©Õ¹³É¶à½Úµã²¿Êð£º

ÓÉÓÚIaaSÈí¼þ¹ÜÀíÊý¾ÝÖÐÐÄÖдóÁ¿µÄÓ²¼þ£¬ºÜ¶àÇé¿öÏÂÐèÒª°²×°agentµ½Ó²¼þÉÏ£¬ÀýÈç°²×°agentµ½×÷ΪKVM¼ÆËã½ÚµãµÄLinux»úÆ÷¡£ÎªÁËÈÃÓû§´ÓÊÖ¶¯°²×°ÅäÖÃÓ²¼þµÄ¿ÝÔ﹤×÷ÖнâÍѳöÀ´£¬ZStack¸úAnsibleÎ޷켯³É£¬µ±Óû§Ìí¼ÓÒ»¸ö¼ÆËã½Úµãʱ£¬ZStackµ÷ÓÃAnsible×Ô¶¯°²×°agent²¢ÅäÖÃϵͳ£¬Õû¸ö¹ý³Ì¶ÔÓû§Í¸Ã÷¡£Óû§ÎÞÐèÔĶÁÈß³¤µÄÎĵµÈ¥Á˽âagentÐèҪʲôÒÀÀµ°ü£¬ÐèÒªÔõôÅäÖã¬ÕâЩȫ²¿ÓÉZStack¸ºÔð¡£Óû§Ö»Ðèµ÷ÓÃÒ»¸öAPI¼´¿É¡£ÀàËÆµÄÉè¼ÆÓ¦ÓÃÔÚËùÓÐÐèÒª°²×°agentµÄ·þÎñ£¬ÀýÈ縺ÔðÌá¹©ÍøÂ繦ÄܵÄÐéÄâ»ú(Virutal Router VM)¡£

KVM agentµÄAnsibleµÄÅäÖÃÎļþÈçͼËùʾ£º

ÅäÖÃÎļþºÍKVM agentµÄPython°ü¶¼°üº¬ÔÚJava WARÎļþÖУ¬ÔÚÓû§µ÷ÓÃAPIÌí¼ÓÒ»¸ö¼ÆËã½Úµãʱ£¬ZStack»á×Ô¶¯ÕÒµ½¶ÔÓ¦µÄÅäÖÃÎļþ²¢µ÷ÓÃAnsibleÈ¥²¿Êðagent£¬Óû§ÉõÖÁ¶¼²»ÖªµÀÕâ¸ö¹ý³ÌµÄ´æÔÚ¡£´ËÍ⣬¶ÔÓڸ߼¶Óû§£¬¿ÉÒÔͨ¹ýÀ©Õ¹AnsibleÅäÖÃÎļþÀ´ÊµÏÖÔËά¹ý³ÌÖеÄϵͳά»¤ºÍÉý¼¶¡£ÀýÈçΪÁËÉý¼¶KVM»úÆ÷µÄij¸ö°²×°°üÐÞ¸´Ò»¸ö°²È«Â©¶´£¬Óû§Ö»ÐèÒªÔÚKVMµÄÅäÖÃÎļþÖмÓÉÏÏà¹ØÄÚÈÝ£¬ÔÙµ÷ÓÃZStackµÄReconnectHost API£¬¾Í¿ÉÒÔ×Ô¶¯ÊµÏÖÉý¼¶¹¦ÄÜ¡£
ÔÚ¼à¿Ø·½Ã棬ZStackĿǰÌṩ¶Ô¹Ø¼üµÄϵͳ×ÊÔ´±ÈÈçÎïÀí»ú£¬ÐéÄâ»úµÄ״̬½øÐÐ¼à¿Ø£¬ÈκÎÔÚZStack¿ØÖÆÍâµÄ״̬±ä»¯£¬ÀýÈçÐéÄâ»úµÄÒâÍâå´»ú£¬¶¼»áÔÚÒ»¶¨µÄʱ¼äÄÚ±»¼ì²âµ½²¢Í¬²½µ½Êý¾Ý¿â¡£´ËÍâZStack»¹Í¨¹ýJavaµÄJMXÐÒé¶ÔÍⱩ¶¼à¿Ø×ÔÉíµÄ½Ó¿Ú£¬ÀýÈç¼à¿Øµ±Ç°ÏµÍ³ÔËÐеÄÈÎÎñ£¬ÏµÍ³ÕýÔÚ´¦ÀíµÄÏûÏ¢£¬ÏûÏ¢µÄƽ¾ù´¦Àíʱ¼äºÍ×î´ó´¦Àíʱ¼äµÈ¡£ÈÃÓû§¿ÉÒÔʵʱÁ˽âϵͳ¶¯Ì¬¡£
·á¸»µÄ²éѯAPIÊÇZStackΪÓû§ÔËάÌṩµÄÒ»¸öÖØÒª¹¦ÄÜ¡£ZStackµÄ²éѯAPIÌṩ³¬¹ý400Íòµ¥Ïî²éѯÌõ¼þ£¬400Íò½×³ËµÄ×éºÏ²éѯÌõ¼þ¡£Óû§ÔÚAPI²ãÃæ¾Í¿ÉÒÔÍê³ÉÊý¾Ý¿â¼¶±ðµÄ×ÊÔ´²éѯ¡£²éѯAPI´øÀ´µÄÒâÒåÊÇ¿ÉÒÔ´òÔìÕæÕýÆóÒµ¼¶µÄUI¡£ÔÚÓÅÐãµÄÆóÒµÈí¼þÖУ¬ÀýÈç΢Èíoutlook£¬JIRAÖУ¬Óû§¶¼¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇó´´½¨²»Í¬µÄÊÓͼ¡£ÔÚIaaSÖÐÒ²ÓÐͬÑùµÄÐèÇó¡£Óû§¿ÉÄÜÐèÒªÊÓͼÏÔʾËùÓÐÔÚͬһÈý¼¶ÍøÂçÖеÄÐéÄâ»ú£¬ÏÔʾËùÓÐÄÚ´æÈÝÁ¿µÍÓÚ2GµÄÎïÀí·þÎñÆ÷µÈ¡£ÔÚûÓÐÍêÉÆµÄ²éѯAPIÖ§³ÖÏ£¬UI¾ÍÖ»ÄÜÌṩ¼¸¸öĬÈÏÊÓͼ£¬¶øÎÞ·¨ÔÊÐíÓû§×Ô¶¨ÒåÊÓͼ¡£

ZStackµÄ²éѯAPIµÄÒ»¸ö¶ÀÌØÖ®´¦ÔÚÓÚ£¬²éѯ¿ò¼ÜÔÚ½ÓÊÕµ½APIºó¿ÉÒÔ×Ô¶¯Éú³ÉSQLÓï¾ä£¬ÎÞÐè±àд´úÂë¡£¿ª·¢ÈËÔ±Ö»ÒªÔÚÊý¾Ý¿âÖж¨ÒåÁË±í£¬È»ºóÔÚJava³ÌÐòÖÐÓÃannotationÃèÊöбíÓëÆäËü±íÖ®¼äµÄforeign key£¬ÔÙΪбí¼Ì³ÐÒ»¸ö²éѯAPIµÄ»ù´¡À࣬ËùÓй¤×÷¾ÍÍê³ÉÁË¡£Óû§Ê¹ÓÃÐÂAPIʱ£¬²éѯ¿ò¼Ü¿ÉÒÔ×Ô¶¯¸ÐÖª£¬¸ù¾ÝÓû§µÄ²éѯÌõ¼þÉú³Éµ¥±íSQLÒÔ¼°¶à±íJoinµÄSQLÓï¾ä¡£
Îȶ¨ÐÔ
IaaSÈí¼þ±¾ÉíÊǸö¼¯³ÉÏîÄ¿£¬¹ÜÀíÁËÊý¾ÝÖÐÐÄÖдóÁ¿µÄ×Óϵͳ£¬Ëüʵ¼ÊÉϹÜÀí×ÅËùÓÐ×ÓϵͳºÍËùÓÐÉ豸µÄ״̬¡£¼ÓÖ®IaaSÖÐÿһ¸öÈÎÎñµÄÖ´Ðз¾¶·Ç³£³¤£¬ÀýÈç´´½¨Ò»¸öÐéÄâ»ú¾ÍÉæ¼°µ½¼ÆËã½Úµã£¬ÍøÂç½Úµã£¬´æ´¢½Úµã״̬µÄ±ä»¯£¬ÆäÖÐÈκÎÒ»¸ö²½Öè¶¼¿ÉÄܳö´í¡£Ò»µ©´íÎó·¢Éú£¬ÓÉÓÚµ±Ç°IaaSȱ·¦»ØÍË»úÖÆ£¬Ä³Ð©×Óϵͳ»áÒÅÁôÔÚÖмä״̬¡£±ÈÈçÒ»¸öÐéÄâ»ú×îºó´´½¨Ê§°ÜÁË£¬µ«ËüµÄDHCPÐÅϢȴ¿ÉÄÜÒÅÁôÔÚÍøÂç½Úµã£¬µ¼Ö½«À´¿ÉÄܵÄDHCP³åÍ»¡£Îª´Ë£¬ZStackÉè¼ÆÁËÒ»¸öworkflowÒýÇæ£¬½«ÈÎÎñµÄÿ¸ö²Ù×÷¶¼·â×°µ½flowÖУ¬Ò»µ©Ä³¸ö²Ù×÷³ö´í£¬workflowÒýÇæ»á»ØÍË(rollback)ËùÒÔÒѾִÐеÄflow£¬±£Ö¤²»»áϵͳÒÅÁôÔÚÖмä״̬¡£

ÀýÈçÔÚÉÏͼµÄ´´½¨ÐéÄâ»úworkflowÖУ¬¼ÙÉèÈÎÎñÔÚVmCreateOnHypervisorFlowÕâÒ»²½Ê§°ÜÁË£¬workflowÒýÇæ»á»ØÍËÇ°ÃæÒÑÖ´ÐеÄ6¸öflow£¬°üÀ¨×Óworkflow£¨Í¼ÖмÆËã½Úµã·ÖÅäworkflow£¬´´½¨ÍøÂç½ÚµãÐéÄâ»úµÄworkflow£©¡£ÀýÈçɾ³ýÒÑ´´½¨µÄÍøÂç½ÚµãÐéÄâ»ú£¬É¾³ýÒÑ´´½¨µÄÐéÄâ´ÅÅÌ£¬¹é»¹ÒÑ·ÖÅäµÄ¼ÆËã×ÊÔ´µ½¼ÆËã½ÚµãµÈ¡£×î´ó³Ì¶È±£Ö¤ÏµÍ³×´Ì¬µÄÍêÕûÐÔ¡£
³ýÁË¿ÉÒÔ»ØÍËÍ⣬workflowÒýÇæ»¹¿ÉÒÔÔÊÐí¿ª·¢ÈËԱͨ¹ýXMLÎļþÀ´ÅäÖùؼüÈÎÎñ¡£ÀýÈçÔÚÉÏͼÖУ¬´´½¨ÐéÄâ»úµÄworkflow°üº¬Ò»¸ö´´½¨ÍøÂç½ÚµãÐéÄâ»úµÄ×Óworkflow£¨Creating Appliance VM sub-workflow£©¡£Õâ¸ö×Óworkflow¸ú´´½¨Óû§ÐéÄâ»úµÄworkflowÀàËÆ£¬Ö»ÓзÖÅäÍø¿¨Õâ¸öflow²»Í¬¡£ZStackͨ¹ýÅäÖÃXMLÎļþÌæ»»µô¸ÃÌõflow£¨Í¼ÖÐÂÌÉ«²¿·Ö£©£¬¾ÍʵÏÖÁË´´½¨ÍøÂç½ÚµãÐéÄâ»úµÄÂß¼¡£ÕâÖÖͨ¹ýXMLÎļþÅäÖÃworkflowµÄ·½Ê½±»´óÁ¿ÔËÓã¬ÀýÈç¼ÆËã½Úµã·ÖÅäÆ÷(host allocator)£¬´æ´¢·ÖÅäÆ÷(storage allocator)£¬IPµØÖ··ÖÅäÆ÷(IP allocator)¶¼ÊÇͨ¹ýÕâÖÖ·½Ê½ÊµÏֵġ£¿ª·¢ÈËÔ±ÉõÖÁ²»ÓÃддúÂ룬ֻÐèÖØÐÂ×éºÏһЩflowµÄ˳Ðò¾Í¿ÉÒÔʵÏÖеÄÒµÎñÂß¼¡£ÀýÈç¼ÆËã½Úµã·ÖÅäÆ÷ÀïµÄһЩʵÏÖ£¬¾ÍÊÇͨ¹ý×éºÏÒÑÓеÄflowʵÏֵġ£ÕâÖÖ·½Ê½Ê¹ZStackµÄ×é¼þ¸´Óöȷdz£¸ß£¬°ïÖúÕû¸ö¼Ü¹¹ÊµÏÖÁËËÉñîºÏ¡£
³ýÁËworkflow£¬ZStackÔÚÉè¼Æ×î³õÆÚ¾ÍÒýÈëÁËÒ»¸öÀàËÆÓÚEclipseµÄ²å¼þϵͳ£¬ËùÓкËÐŦÄܶ¼ÊÇÒÔС²å¼þµÄÐÎʽ´î½¨ÆðÀ´µÄ£¬±£Ö¤ÎÞÂÛÊÇÌí¼Óй¦ÄÜ»¹ÊÇÒÆ³ý¾É¹¦ÄÜ£¬¶¼²»»áÐÞ¸ÄÒÑÓдúÂ룬´Ó¶ø±£Ö¤ÔÚ¿ìËÙʵÏÖй¦ÄܵÄͬʱ£¬ÕûÌåϵͳ¿ÉÒÔ±£³ÖÎȶ¨¡£Õâ¸ö²å¼þϵͳµÄºËÐÄÊÇÀ©Õ¹µã(extension point)¡£Ã¿¸ö×é¼þ¶¼¿ÉÒÔ¶¨Òå×Ô¼ºµÄÀ©Õ¹µãÔÊÐíÆäËü×é¼þ½ÓÈ룬´Ó¶øÀ©Õ¹ÒµÎñÂß¼¡£

ÀýÈçÉÏͼËùʾµÄ°²È«×é(security group)¹¦ÄÜ£¬ËüÐèÒªÔÚÐéÄâ»úµÄ²»Í¬ÉúÃüÆÚ¶Ô·À»ðǽ¹æÔò½øÐбà³Ì¡£µ«¶ÔÓÚÐéÄâ»ú±¾ÉíÀ´Ëµ£¬°²È«×éÖ»ÊÇÒ»¸ö¸½¼Ó¹¦ÄÜ£¬ËùÒÔ²¢²»Ó¦¸ÃʵÏÖÔÚÐéÄâ»ú×ÔÉíµÄÂß¼µ±ÖС£»ùÓÚZStackµÄ²å¼þϵͳ£¬°²È«×éͨ¹ýÐéÄâ»úÄ£¿é£¬ÍøÂçÄ£¿éµÈ¶¨ÒåµÄÀ©Õ¹µã²åÈëµ½ÁËÐéÄâ»úÉúÃüÆÚ£¬ÍøÂçÅäÖõÈÒµÎñÂß¼ÖУ¬ÔÚ²»ÐÞ¸ÄÈκÎÒÑÓÐÄ£¿éµÄÇé¿öÏ£¬ÊµÏÖ³ÉÒ»¸öµ¥¶ÀµÄJava JARÎļþ¡£Ò²¾ÍÊÇ˵£¬°²È«×é±¾Éí²»»á¶ÔÏÖÓй¦ÄÜÔì³ÉÈκÎÓ°Ï죬¼´Ê¹É¾³ý°²È«×é¶ÔÓ¦µÄJARÎļþ£¬Õû¸öϵͳҲֻÊÇʧȥÁËÕâ¸ö¹¦ÄܶøÒÑ¡£Í¨¹ý²å¼þϵͳ£¬ZStack±¾Éí¼Ü¹¹ÍêȫʵÏÖÁËËÉñîºÏ¡£
Tag systemÒ²ÊÇZStackÒ»¸ö´´Ð¡£ËäÈ»ºÜ¶àIaaSÈí¼þÒ²ÓÐtagµÄ¸ÅÄµ«´ó¶àÖ»ÊǰïÖúÓû§¹ÜÀí×ÊÔ´¡£ZStack¶¨ÒåÒ»ÖÖ³ÆÎªsystem tagµÄ¸ÅÄ²å¼þ¿ÉÒÔͨ¹ý¶¨Òåsystem tag£¬ÔÚ²»ÐÞ¸ÄÒÑÓÐÊý¾Ý¿â±íµÄÇé¿öÏ£¬ÊµÏÖΪÏÖÓбíÌí¼ÓеÄ×ֶΡ£ÀýÈçÔÚÐéÄâ»ú±íÖв¢²»´æÔÚÒ»¸ö×ֶνÐhostname£¬ZStackµÄÒ»¸ö²å¼þͨ¹ý¶¨ÒåÒ»¸övm::hostnameµÄsystem tag£¬ÎªÐéÄâ»ú±íÔö¼ÓÁËÕâ¸ö×ֶΣ¬´Ó¶øÔÊÐíÓû§ÔÚ´´½¨ÐéÄâ»úʱָ¶¨ËüµÄhostname¡£Í¨¹ýÕâÖÖ·½Ê½£¬²å¼þÔÚÀ©Õ¹ÒÑÓй¦ÄÜʱ£¬ÎÞÐè¶ÔÏÖÓÐÊý¾Ý¿â±í¸ñʽ½øÐÐÐ޸쬴Ӷø¼õÇáÁËÈí¼þÉý¼¶¹ý³ÌÖÐÊý¾Ý¿âÇ¨ÒÆµÄ¸ºµ£¡£
WorkflowÒýÇæ£¬²å¼þϵͳ£¬system tagÉè¼ÆµÄºËÐÄ˼ÏëÊÇ×î´ó³Ì¶ÈµÄËÉñîºÏ¼Ü¹¹£¬±£Ö¤ÒÑÓÐϵͳÔÚ¿ìËÙÌí¼Óй¦ÄܵÄÇé¿öÏÂÒ²Äܱ£Ö¤ÕûÌå¼Ü¹¹Îȶ¨£¬±ÜÃâÒòʵÏÖй¦Äܶø·´¸´ÐÞ¸ÄÒÑÓдúÂ룬µ¼Ö²úƷʼÖÕûÓÐÒ»¸öÎȶ¨Äں˵ÄÇé¿ö¡£
×îºó£¬ZStack´Óµ®Éú¿ªÊ¼¾ÍÊDzâÊÔÇý¶¯µÄ¡£ÔÚZStackÖÐÑéÖ¤¹¦ÄܵãµÄΨһ·½·¨¾ÍÊÇд²âÊÔÓÃÀý¡£ÎÒÃÇÓÐÈý¸öÈ«×Ô¶¯»¯µÄ²âÊÔϵͳ£ºIntegration testing system, System testing system£¬ÒÔ¼°Model-based testing systemÀ´±£Ö¤Õû¸öÏîÄ¿µÄÖÊÁ¿¡£ÆäÖÐModel-based testing system¿ÉÒÔËæ»ú×éºÏAPIÉú³É²âÊÔÓÃÀý£¬²âÊÔ³öºÜ¶àÕý³£Ê¹ÓÃÇé¿öÏÂÎÞ·¨´¥¼°µÄËÀ½Ç¡£ÎªÁËÄܹ»¿ìËÙÖØÏÖModel-based testing system·¢ÏÖµÄËÀ½Ç£¬ÎÒÃÇ»¹¿ª·¢ÁËÒ»¸ö»Ø·Å¹¤¾ß£¬ËüÄܶÁÈëModel-based²âÊÔÓÃÀý²úÉúµÄÈÕÖ¾¶øÉú³ÉÒ»¸öвâÊÔÓÃÀý£¬Í¨¹ý»Ø·Åʧ°ÜÓÃÀýÀ´²úÉúÒ»¸ö¹©¿ª·¢ÈËÔ±µ÷ÊԵĻ·¾³£¬±ÜÃâÁËÈ˹¤ÊÖ¶¯ÖØÊÔÊýǧ¸öAPIÀ´ÖØÏÖʧ°ÜÓÃÀý£¨ÒòΪModel-based²âÊÔÓÃÀý¿ÉÄÜËæ»úÖ´ÐÐÊýÈÕ£¬²úÉúÊýÒÔǧ¼ÆÉõÖÁÍò¼ÆµÄAPIµ÷Óã©¡£ÏÂÃæÊDzâÊÔϵͳÔËÐйý³ÌÖеÄÒ»¸ö½ØÍ¼£º

¸ßÐÔÄÜ
ZStackÊÇĿǰ¿ªÔ´Èí¼þÖУ¬Î¨Ò»Ò»¿îºÅ³ÆÄܹ»ÒÔµ¥¹ÜÀí½Úµã¹ÜÀí¼¸Ê®ÍòÎïÀí»úÆ÷£¬Êý°ÙÍòÐéÄâ»ú£¬ÒÔ¼°ÏìÓ¦ÊýÍò²¢·¢APIµ÷ÓõÄÈí¼þ¡£Í¨¹ýÎÒÃǵÄÈí¼þÄ£ÄâÆ÷£¬ÎÒÃDzâÊÔ¹ý¹ÜÀí10ÍòÎïÀí»ú£¬Í¨¹ý1Íòµ½3Íò²¢·¢API´´½¨°ÙÍòÐéÄâ»úµÄÇé¿ö¡£´ËÍâÎÒÃÇ»¹½øÐÐÁËÐéÄâ»ú´´½¨µÄÐÔÄܲâÊÔ£¬Êý¾ÝÈçÏÂ±í£º

ÔÚ²âÊÔÖÐÎÒÃÇֻʹÓÃÁ˵¥ÍøÂç½Úµã£¬·¢ÏÖDHCP/DNSÈí¼þDnsmasq³ÉΪÁËÐÔÄܵį¿¾±¡£ÔÚ¸úDnsmasqÉçÇø¹µÍ¨ºó£¬Í¨¹ý´ò²¹¶¡µÄDnsmasq£¬ÎÒÃÇÄܽ«´´½¨10000ÐéÄâ»úµÄʱ¼äËõ¶Ìµ½11·ÖÖÓ¡£ÔÚʹÓöàÍøÂç½Úµã£¨¶à×â»§£©µÄ»·¾³Ï£¬ÎÒÃÇÏàÐÅÕâ¸öÊý¾Ý»¹¿ÉÒÔ½øÒ»²½µÄÌá¸ß¡£
ZStackµÄ¸ßÐÔÄÜÊÜÒæÓÚÈý¸ö¼Ü¹¹Éè¼Æ£ºÈ«Òì²½¼Ü¹¹£¬ÎÞ״̬·þÎñ¼Ü¹¹£¬ÎÞËø¼Ü¹¹¡£
È«Òì²½¼Ü¹¹±£Ö¤Ò»¸öÈÎÎñ´ÓAPIµ÷ÓÿªÊ¼£¬µ½×îºóÔÚÍⲿÉ豸ÉÏÖ´ÐеĹý³Ì¶¼ÊÇÈ«Òì²½µÄ£¬´Ó¶øÈκÎÏ̶߳¼²»»áÒòµÈ´ýÒ»¸ö²Ù×÷Íê³É¶ø×èÈû¡£ÔÚÎÒÃǵÄѹÁ¦²âÊÔÖУ¬µ¥¹ÜÀí½ÚµãÏìÓ¦10000 APIµ÷ÓÃÖ»ÓÃÁË1000¸öÏ߳̾ͿÉÒÔÍê³É¡£ZStackµÄÈ«Òì²½¼Ü¹¹ÓÉÈý²¿·Ö×é³É£ºÒì²½ÏûÏ¢£¬Òì²½º¯Êýµ÷Óã¬Òì²½HTTPµ÷Óá£ÆäÖÐÒì²½ÏûÏ¢ÊÇ·þÎñÖ®¼äµ÷ÓÃʱʹÓõġ£ºê¹ÛÉÏ¿´£¬ZStackµÄ¹¦ÄÜ»®·Ö³ÉÁ˶à¸ö¶ÀÁ¢µÄ·þÎñ£¬·þÎñÖ®¼äͨ¹ýÏûϢͨÐÅ£¬Á¬API¶¼ÊÇÒÔÏûÏ¢µÄÐÎʽʵÏÖ¡£ÀýÈçÓÐÐéÄâ»ú·þÎñ£¬ÍøÂç·þÎñ£¬´æ´¢·þÎñµÈ¡£ÔÚ·þÎñµÄÄÚ²¿´æÔÚÐí¶à×é¼þ£¬ËûÃÇÐ×÷Íê³ÉÒ»¸ö·þÎñµÄ¹¦ÄÜ¡£ÕâЩ×é¼þÖ®¼äµÄµ÷ÓÃʹÓõÄÊÇ´«Í³µÄº¯Êýµ÷Ó÷½Ê½£¬Í¨¹ý»Øµ÷º¯Êý(callback)ʵÏÖÒì²½¡£×îºó£¬·þÎñÓëÍⲿagentͨÐÅʱ²ÉÓõÄÊÇÒì²½ HTTPµ÷Óá£ÀýÈçÔÚ´´½¨KVMÐéÄâ»úʱ£¬ÐéÄâ»ú·þÎñ½«ÇëÇóÌá½»¸øKVM agentºó¾Í·µ»ØÁË¡£KVM agentÔÚÐéÄâ»ú´´½¨Íê³Éºó£¬»áͨ¹ý»Øµ÷HTTPÁ´½Ó֪ͨÐéÄâ»ú·þÎñ¡£

ÎÞ״̬·þÎñÊÇָͨ¹ýÒ»ÖÂÐÔ¹þÏ£»·(consistent hashing ring)£¬·þÎñ±¾Éí¿ÉÒÔºÍËüËù¹ÜÀíµÄ¾ßÌå×ÊÔ´·ÖÀ뿪À´£¬·þÎñÏ໥֮¼äÒ²ÎÞÐè½»»»Ëù¹ÜÀí×ÊÔ´µÄÐÅÏ¢¡£ÀýÈçÔÚ¶à¹ÜÀí½Úµã²¿ÊðÖÐ»á´æÔÚ¶à¸öÐéÄâ»ú·þÎñ£¬ËûÃǹ²Í¬¹ÜÀíϵͳÖеÄËùÓÐÐéÄâ»ú¡£µ«Ã¿¸ö·þÎñ×ÔÉíÊDz»ÐèÒªÖªµÀÄÄЩÐéÄâ»úÊÇ×Ô¼º¹ÜÀíµÄ£¬ÄÄЩÊÇÆäËüÈ˹ÜÀíµÄ¡£µ±ÆäËü·þÎñÏòÐéÄâ»ú·þÎñ·¢ËÍÇëÇóʱ£¬»áÓÃÐéÄâ»úµÄUUIDͨ¹ýÒ»ÖÂÐÔ¹þÏ£»·Ëã³ö¹ÜÀíÕâ¸öÐéÄâ»úµÄ·þÎñ£¬´Ó¶ø±£Ö¤ÎÞÂÛÇëÇóÔÚÄĸö¹ÜÀí½Úµã·¢Æð£¬×îÖÕ¶¼»á±»·¢Ë͵½ÏàͬµÄ·þÎñÈ¥´¦Àí¡£

µÃÒæÓÚÎÞ״̬·þÎñ£¬ZStackµÄËùÓÐÒµÎñÂß¼ÎÞÐèͨ¹ýËøÏ໥¾ºÕù×ÊÔ´£¬×ÊÔ´¾ºÕùÍêȫͨ¹ý¶ÓÁпØÖÆ¡£ÓÉÓÚÒ»ÖÂÐÔ¹þÏ£»·»á°ÑÕë¶Ôijһ¸ö×ÊÔ´µÄ²Ù×÷È«²¿×ª·¢µ½Í¬Ò»¸ö·þÎñ£¬ZStackÔÊÐíÿ¸ö·þÎñÔÚÄÚ´æÖд´½¨FIFO¶ÓÁУ¬ÒÔÇëÇóµ½´ïµÄ˳ÐòÏìÓ¦¡£¶ÔÓÚËùÓвÙ×÷Ö»ÄÜ˳ÐòÖ´ÐеÄ×ÊÔ´£¬ÀýÈçÐéÄâ»ú£¬·þÎñ¿ÉÒÔ´´½¨²¢·¢¶ÈΪ1µÄ¶ÓÁУ¬±£Ö¤Í¬Ò»Ê±¼äÖ»ÓÐÒ»¸ö²Ù×÷ÔÚÖ´ÐС£

¶ÔÓÚÔÊÐí²¢·¢²Ù×÷µÄ×ÊÔ´£¬ÀýÈçÎïÀí·þÎñÆ÷¿ÉÒÔÔÊÐíͬʱִÐжà¸ö²Ù×÷£¬¿ÉÒÔ´´½¨²¢·¢¶È´óÓÚ1µÄ¶ÓÁС£

ͨ¹ý»ùÓÚ¶ÓÁеÄÎÞËø¼Ü¹¹£¬ZStack¼´ÊµÏÖÁ˶Թؼü×ÊÔ´µÄ²Ù×÷ͬ²½£¬ÓÖʵÏÖÁ˶ԲÙ×÷²¢·¢¶ÈµÄ¿ØÖÆ£¬ÔÚÌá¸ßϵͳµÄÍÌÍÂÐÔͬʱ£¬ÓÖ±£Ö¤ÁËϵͳÔÚ´óÍÌÍÂÁ¿Ê±µÄÎȶ¨ÐÔ¡£ÀýÈçÎïÀí·þÎñÆ÷(host)×ÊÔ´µÄĬÈϲ¢·¢¶ÈÊÇ10£¬ÔÚϵͳ´ó¸ººÉµÄÇé¿öÏ£¬ZStack±£Ö¤ÎïÀí·þÎñÆ÷×î¶àÏìÓ¦10¸öÇëÇ󣬶àµÄÇëÇóÅŶӣ¬±ÜÃâÁ˹ý¶àµÄÇëÇóÔì³É×ÊÔ´µÄ±ÀÀ£¡£µ±È»£¬×ÊÔ´µÄ²¢·¢¶ÈÍêÈ«ÊÇ¿ÉÅäÖõģ¬Óû§¿ÉÒÔͨ¹ýAPIÅäÖÃÀýÈçÎïÀí·þÎñÆ÷µÄ²¢·¢¶È£¬¸ù¾ÝϵͳµÄ¸ººÉµ÷Õû²ÎÊý¡£
À©Õ¹ÐÔ
ZStackÔÚÉè¼ÆÖ®³õ¾Í¿¼Âǵ½Á˲»Í¬µÄÓû§¶ÔÔÆµÄʹÓÃģʽµÄ²îÒìÐÔ¡£ÀýÈ繫ÓÐÔÆÌṩÉÌ£¬·þÎñÌṩÉÌ£¬ÇãÏòÓÚÑÇÂíÑ·µÄģʽ¡£¶ø´«Í³ÆóÒµÓû§£¬Ôò¸üϲ»¶VMWareµÄÆóÒµÐéÄ⻯ģʽ(Enterprise Virtualization)¡£»ùÓÚ²å¼þϵͳ£¬ZStack½«Ã¿¸ö¹¦ÄÜʵÏÖ³ÉС²å¼þ£¬Ä¬ÈÏÊÇÑÇÂíÑ·µÄEC2ģʽ£¬Ò²¾ÍÊǸ÷ÖÖ×ÊÔ´³Ø»¯¡£È»ºóÔÚÕâ¸ö»ù´¡ÉÏ£¬Í¨¹ýһЩ¸¨Öú²å¼þ£¬ZStack¿ÉÒÔÔÚEC2µÄģʽÉÏ×éºÏ³öVMWareÕâÖÖÒÔÐéÄâ»úΪÖÐÐĵÄģʽ¡£ÕâÑù²»Í¬µÄÓû§¾Í¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇóÑ¡ÔñÏàÓ¦µÄģʽ¡£²¢ÇÒÁ½ÖÖģʽ»¹¿ÉÒÔ»¥Í¨£¬±ÈÈçÒÔÐéÄâ»úΪÖÐÐĵÄģʽҲ¿ÉÒÔʹÓÃEC2ģʽËùÌṩµÄ°²È«×飨security group£©£¬µ¯ÐÔIP£¨EIP£©ÕâÑùµÄÍøÂç·þÎñ¡£
³ýÁ˲å¼þϵͳÍ⣬ZStackÒ²ÈÏʶµ½ºÜ¶àIaaSµÄ¹¦ÄÜ¿ÉÒÔʵÏֳɵ¥¶ÀµÄ·þÎñ£¬²¢ÇÒÔÊÐí¿ª·¢ÕßÓÃËûÃÇÊìϤµÄÓïÑÔÀ´ÊµÏÖ¡£ÕâÖÖ´´½¨µ¥¶À·þÎñµÄ·½·¨ÔÚZStackÖгÆÎª½ø³ÌÍâ²å¼þ(out-of-process plugin)¡£¿ª·¢Õß¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄϲºÃÑ¡ÓÃ×Ô¼ºÏ²»¶µÄÓïÑÔ£¬´´½¨ÓëZStack¹ÜÀí½Úµã½ø³Ì·ÖÀëµÄ·þÎñ¡£Èç¹û·þÎñ±¾Éí¹¦Äܵ¥Ò»£¬¿ÉÒÔ¶©ÔÄZStack¹ÜÀí½Úµã×é²¥µ½ÏûÏ¢×ÜÏßµÄʼþ(canonical events)£¬ÀýÈçÕ˵¥ÏµÍ³¾Í¿ÉÒÔ¼àÌý¸÷ÖÖ×ÊÔ´µÄ´´½¨ºÍÏú»Ùʼþ£¬ÍêȫʵÏÖ¶ÀÁ¢¿ª·¢¡£¶ÔÓÚ¹¦Äܸ´ÔӵķþÎñ£¬ÀýÈçÐèÒª·ÃÎÊÊý¾Ý¿âµÄ·þÎñ£¬¿ÉÒÔͨ¹ýдһ¸öÇáÁ¿¼¶µÄ²å¼þ°²×°ÔÚ¹ÜÀí½ÚµãÖУ¬È»ºó¸ú½ø³ÌÍâ·þÎñͨÐÅ¡£µÚ¶þÖÖ·½Ê½ÓеãÀàËÆÓ¦ÓóÌÐòͨ¹ýÔÚ²Ù×÷ϵͳÖа²×°Çý¶¯£¬À´ÊµÏÖ¶ÔÄں˵ķÃÎÊ¡£ZStackµÄweb UI¾ÍÊÇÒÔÕâÖÖ½ø³ÌÍâ²å¼þµÄ·½Ê½ÊµÏֵġ£

»ùÓÚ²å¼þϵͳºÍ½ø³ÌÍâ·þÎñ£¬ZStack¿ÉÒÔÔÚ³ÖÐø´´Ð£¬¿ª·¢³ö¸÷ÖÖÊÊÓ¦Óû§ÐèÇóµÄÓ¦Óó¡¾°µÄͬʱ£¬±£³Ö¼Ü¹¹µÄÎȶ¨ºÍËÉñîºÏ¡£
×ܽá
ZStackµÄÕû¸ö¼Ü¹¹²¢·ÇÀëÉ¢µÄ¹¦ÄܵãµÄ×éºÏ£¬¶øÊÇÔÚ¾¹ý¾«ÃÜÉè¼ÆºóÏศÏà³ÉµÄ¡£ÀýÈçҪʵÏÖ²éѯAPI×Ô¶¯»¯£¬Êý¾ÝÄ£Ð;ͱØÐëÔ¤Ïȶ¨ÒåÍ걸£»ÓÖ±ÈÈçҪʵÏÖÎÞËø¼Ü¹¹£¬¾Í±ØÐëÒªÓÐÎÞ״̬·þÎñµÄ»ù´¡¡£Í¨¹ý¶Ô¼Ü¹¹µÄçÇÃÜ˼¿¼£¬ZStackÓÐÐÅÐĽâ¾öµ±Ç°IaaSÐÐÒµÃæÁÙµÄÀ§ÄÑ£¬ÎªÓû§Ìṩһ¿îÓÅÐãµÄ¿ªÔ´Èí¼þ¡£
¶Ô»°ÕÅöÎ
CSDN£ºOpenStackÉú̬ÒѾ±È½Ï³ÉÊ죬¹«ÓÐÔÆË½ÓÐÔÆµÄ³É¹¦°¸Àý¶¼ÓÐÁË£¬ÎÒÃÇΪºÎ»¹ÐèÒªZStackÏîÄ¿£¿
ÕÅöΣºIaaSÁìÓòÊÇʱºòÐèÒªÐÂÏÊѪҺÁË¡£
×ÔÑÇÂíÑ·2006Äê·¢²¼EC2¹«ÓÐÔÆÒÔÀ´£¬IaaS£¨»ù´¡¼Ü¹¹¼´·þÎñ£©ÁìÓò³ÖÐø´´Ð£¬ÏȺó³öÏÖÁËEucalyptus, CloudStack£¬OpenNebulaÕâÑùµÄ¿ªÔ´Èí¼þ¡£µ½2010ÄêOpenStack³öÏÖ£¬Õû¸ö´´Ð´ﵽÁËÒ»¸ö¸ß³±¡£´ÓÒµÕß¶¼ÈÏÎªÔÆ¼ÆËãµÄ´ºÌìÀ´ÁË£¬ÈÏΪ´«Í³ÆóÒµ¿ÉÒԺܿìµÄ´ÓÉϸöÊÀ¼ÍµÄIT¼Ü¹¹ÖнâÍѳöÀ´£¬Ñ¸ËÙÇ¨ÒÆµ½ÓÉÈí¼þ¶¨ÒåµÄÊý¾ÝÖÐÐÄ¡£µ«ÈÃÈË´óµøÑÛ¾µµÄÊÇ£¬5Äê¹ýÈ¥ÁË£¬Eucalyptus, CloudStack£¬OpenNebulaÒѽ¥½¥µ³öÈËÃǵÄÊÓÏߣ¬OpenStackһͳÌìÏ£¬È´³Ù³Ù´ò²»¿ªÆóÒµÈí¼þµÄÊг¡¡£¾ÍÔÚÈ¥Ä꣬OpenStackµÄ·¢ÆðÕßRackspace£¬Ðû²¼²»ÔÙÒÔ´¿IaaSÌṩÉ̵ÄÉí·Ý½øÈëÊг¡£¬¶øÊÇתÏòרעÓÚºËÐÄÒµÎñ¡°Îª¿Í»§¹ÜÀí·þÎñ¡±£¬ÔÚ¸úÒÔÑÇÂíѷΪÊ׵Ĺ«ÓÐÔÆ¾ÞÍ·µÄ¾ºÕùÖаÜÏÂÕóÀ´¡£×î½ü£¬ÖøÃûOpenStack¹«Ë¾Nebulaµ¹±Õ£¬¸ø³öµÄÀíÓÉÊÇ¡°Êг¡²»³ÉÊ족£¬¸üÊǸøÕû¸öIaaS²úÒµ½½ÁËÒ»ÅèÀäË®¡£Ò»Ê±¼ä¸÷ÖÖ±¯¹ÛÂÛµ÷ËÄÆð£¬ÀýÈçÈÏΪÆóÒµÔÆÊг¡¸ù±¾²»´æÔÚ£¬ÓÖÀýÈ繫ÓÐÔÆ×îÖÕͳÖÎÊÀ½ç£¬ÆóÒµ²»ÔÙÐèÒª×Ô¼ºÎ¬»¤Êý¾ÝÖÐÐÄ¡£
ÎÒÓÚ2010Äê¼ÓÈëCloud.com£¬×÷ΪCloudStackǰºËÐÄ¿ª·¢ÈËÔ±£¬Ò»Ö±½ôÃܵĹØ×¢Õû¸ö²úÒµÒÔ¼°¸÷¸ö¿ªÔ´IaaSÈí¼þ£¬ÉîÉî¸Ðµ½Êг¡µÄÐèÇóÊǾ޴óµÄ£¬µ«µ±Ç°µÄ²úÆ·ÀëÊг¡µÄÒªÇó²î¾àºÜÔ¶¡£Ëæ×Åʱ¼äµÄÍÆÒÆ£¬Õâ¸öºè¹µÔ½À´Ô½´ó£¬Ë¿ºÁûÓмõСµÄ¼£Ïó¡£
µ±Ç°¿ªÔ´IaaSÈí¼þµÄÍ´µã¿ÉÒÔ¸ÅÀ¨ÎªËĸö·½Ã棺Ò×ÓÃÐԲ²»Îȶ¨£¬ÐÔÄܲÄÑÀ©Õ¹¡£¶øÕâËĸö·½ÃæÓÖÊÇ×è°Êг¡½ÓÊÜIaaSÈí¼þµÄÖÁ¹ØÖØÒªµÄÒòËØ¡£¸ù¾ÝÎÒ¶àÄêÀ´¶Ô¸÷¸öÏîÄ¿µÄ¹Û²ì£¬ÈÏΪµ¼ÖÂĿǰ״¿öµÄÔÒò£¬²¢²»ÊÇ¿ªÔ´ÉçÇøÈ±·¦ÓвÅÄܵĿª·¢ÈËÔ±£¬¶øÊÇÕâЩÏîÄ¿ÆðÔ´Ì«Ô磬ȱ·¦¶ÔÊг¡µÄ×ã¹»Àí½â¡£ÕâЩÏîÄ¿ÔçÆÚ¶¼ÊÇäĿģ·ÂÑÇÂíÑ·EC2ģʽ£¬ÔÚ¿ìËÙ¿ª·¢¹¦ÄܵÄͬʱ×ÔÈ»Éú³¤£¬ÓÃË×»°Ëµ¾ÍÊÇ¡°Ãþ×Åʯͷ¹ýºÓ¡±£¬µ¼ÖÂÁËÔڼܹ¹Éè¼Æ·½ÃæË¼¿¼¹ýÉÙ£¬ÀÛ»ýÁË´óÁ¿Ç·ÕË¡£¶øÇ°ÊöµÄ¼¸¸ö·½Ã棬ÓÖÕýÊDz»´Ó¼Ü¹¹ÈëÊÖÖØÐÂÉè¼Æ£¬¾Í²»Äܽâ¾öµÄÎÊÌâ¡£µ«ÎÒÃÇÓÖ²»ÄÜÆÚÍûÏñOpenStackÕâÑùÓµÓм¸°ÙÍòÐдúÂëµÄÏîÄ¿´Óµ×²¿ÍƵ½ÖØÀ´¡£»ùÓÚÕâÑùµÄÏÖʵ£¬ÎÒÈÏΪ²»ÖØÐÂÉè¼ÆÒ»¿îIaaSÈí¼þÊÇÎÞ·¨½â¾öÒÑÓеÄÎÊÌâµÄ¡£ÔÚÍ˳öÁËÔÀ´CloudStackµÄ¹¤×÷ºó£¬ÎÒ¸ú´îµµÒ»Æð½¨Á¢ÁËZStack£¬Ï£Íû´Ó¸ùÔ´ÉϽâ¾öµ±½ñIaaSÈí¼þÓöµ½µÄ¸÷ÖÖÎÊÌ⣬ΪÕû¸öÐÐÒµ´øÀ´Ò»¿îÕæÕýÄÜ´ò¿ªÆóÒµÊг¡µÄÈí¼þ
CSDN£ºÄÜ·ñ½éÉÜÒ»ÏÂZStackµÄÊг¡Ä¿±ê£¬ÒÔ¼°ÉçÇø¹æ»®£¿
ÕÅöΣºZStackµÄ×îÖÕÄ¿µÄ£¬²¢²»ÊÇΪÐúÄÖµÄÔÆÊг¡Ìí¼Ó¸ü¶àµÄàåÍ·£¬¶øÊǽâ¾öÊý¾ÝÖÐÐĹÜÀíµÄÒ»¸ö¸ÕÐ裺¼´Ãæ¶ÔÔ½À´Ô½¶àµÄÓ²¼þ£¬ÈçºÎ¹ÜÀíËüÃÇ£¬ÒÔ¼°ÈçºÎ×Ô¶¯»¯Õâ¸ö¹ÜÀíµÄ¹ý³Ì¡£ÎÒÃÇÏàÐÅÖÕÓÐÒ»Ì죬´«Í³ÆóÒµ»á°ÚÍÑÈ˹¤ÊÖ¶¯ÅäÖûòд½Å±¾ÕâÖÖÉϸöÊÀ¼ÍµÄ¼¼Êõ£¬½«×ÔÉíµÄIT¼Ü¹¹Ç¨ÒƵ½Íêȫͨ¹ýAPI¹ÜÀíµÄ£¬Èí¼þ¶¨ÒåµÄÊý¾ÝÖÐÐÄÖС£´ËÍâ£¬Ëæ×ÅÆóÒµÈí¼þ¼¼ÊõµÄ²»¶Ï´´Ð£¬×îÖÕ»áÊÇÒÔSaaS£¨Èí¼þ¼´·þÎñ£©µÄ·½Ê½ÔÚITÉèÊ©Öв¿Êð¡£µ½ÄǸöʱºò£¬ÆóÒµÈí¼þÔÙ²»ÊÇΪij¸ö²Ù×÷ϵͳËùÉè¼ÆµÄµ¥»ú³ÌÐò£¬¶øÊÇΪij¸öÔÆÉè¼ÆµÄ·Ö²¼Ê½³ÌÐò¡£IaaSÒÔ¼°Ö®ÉϵÄPaaS¾ÍÊÇÕâЩÆóÒµÈí¼þµÄÈë¿Ú¡£ÒÀÍÐZStackµÄ²å¼þ¼Ü¹¹£¬ÎÒÃÇÍêÈ«ÏàÐÅÎÒÃÇ¿ÉÒÔÖð²½ÍêÉÆ³ÉÒ»¸öº¸ÇIaaSºÍPaaSµÄƽ̨£¬²¢ÇÒÓÉÓÚÎÒÃÇÊÇIaaSºÍPaaS¸ß¶È¼¯³É£¬ÌṩµÄÓû§ÌåÑéÒ²±ØÈ»ÓÅÓÚͬÀàÈí¼þ¼äµÄµÚÈý·½¼¯³É£¬´Ó¶ø³ÉΪδÀ´ÆóÒµÈí¼þµÄ²¿ÊðÈë¿Ú¡£
ZStackÊÇÒ»¸ö¿ªÔ´ÏîÄ¿£¬²¢ÇÒ»áÒ»Ö±¼á³Ö¿ªÔ´¡£ÎÒ´Ó2006Äê¼ÓÈëXENÉçÇøµ½ÏÖÔÚ£¬¾ÍÒ»Ö±ÔÚ¿ªÔ´ÁìÓò¹¤×÷£¬¾Àú¹ý²»ÉÙ³ÉÒ²¿ªÔ´°ÜÒ²¿ªÔ´µÄÀý×Ó¡£ÀýÈçOpenStack·¢¼£ÓÚÉçÇø£¬µ«ÏÖÔÚÓöµ½Á˺ܶàÀ§ÄÑÒ²Ô´ÓÚÉçÇø¡£¶ÔÓÚZStack£¬ÎÒÃÇ»¶ÓÈκÎÐÎʽµÄ£¬»ùÓÚApache 2.0Ðí¿ÉÖ¤µÄ¹±Ïס£Í¬Ê±ÎÒÃǻḺÔðά»¤ZStackºËÐÄÎȶ¨£¬¶ÔÓÚÌá½»µ½ºËÐÄ·þÎñµÄ´úÂë½øÐÐÑϸñ¿ØÖÆ¡£ÕâÑùµÄ´úÂë»áÊÇÉÙÁ¿µÄ£¬ÒòΪÔÚ²å¼þ¼Ü¹¹Ï£¬´ó²¿·Ö¹¦ÄÜ»áÊÇÒÔµ¥¶ÀµÄ²å¼þ·½Ê½ÊµÏÖ¡£ÎÒÃÇ»áÍÆ³öÁ½¸öĿ¼£ºpluginsºÍcontribs¡£·²ÊÇZStack×Ô¼ºµÄ²âÊԼܹ¹¿ÉÒÔ±£Ö¤ÖÊÁ¿µÄ²å¼þ£¬ÎÒÃÇ»á·Åµ½pluginsĿ¼ȥ£¬ÓÉÎÒÃdzÐŵÖÊÁ¿¡£¶ÔÓÚ²âÊԼܹ¹ÎÞ·¨±£Ö¤µÄ²å¼þ£¬ÀýÈçÐèÒªÌØÊâÍâÉèÅäºÏµÄ²å¼þ£¬ÎÒÃÇ»á·Åµ½contribsĿ¼£¬±íʾÓû§ÔÚʹÓÃʱÐèÒª×Ôµ£·çÏÕ¡£
×ܶøÑÔÖ®£¬ZStackÊǸöÄêÇáµÄÏîÄ¿£¬ÊÇIaaSÁìÓòµÄÒ»¸öбø¡£µ«ÎÒÃǼ̳ÐÁËÏÈÐÐÕߵľÑ飬ѧµ½ÁËÏÈÐÐÕߵĽÌѵ£¬ËùÒÔÏàÐÅÎÒÃÇÄܱÈÏÈÐÐÕß×ߵĸüÔ¶¡£¶ÔÓÚÏÖÓеÄIaaSÏîÄ¿£¬ÎÒÃÇÒ²²»ÊǰçÑÝÒ»¸öÌôÕ½Õߣ¬¶øÊÇΪÕâ¸öÁìÓòÌṩ¶àÒ»¸öÑ¡Ôñ¡£ÓÃÎÒ´îµµµÄ»°Ëµ£ºÎÒÃDz»ÊÇÂìÒÏÓë´óÏóÌøÎ裬ÎÒÃÇÊÇÕ¾ÔÚ´óÏó±³ÉϵÄÂìÒÏ£¬ËùÒÔÄÜ¿´µÃ¸üÔ¶¡£
±à¼µãÆÀ£º×÷Ϊ¡°Õ¾ÔÚ´óÏó±³ÉϵÄÂìÒÏ¡±£¬ZStackµÄ²å¼þʽ¼Ü¹¹Éè¼ÆÈ·ÓпÉȦ¿ÉµãÖ®´¦¡£¸ù¾Ý³õ²½²âÊÔÕߵįÀ¼Û£¬ZStackÒ²ÑØ³ÐÁËCloudStackµÄһЩÁÁµã¡£Ö»ÊÇĿǰOpenStackµÄÉçÇøÉú̬ÒѾºÜ³ÉÊ죬ËäÈ»Óöµ½¸÷ÖÖÄÑÌ⣬OpenStack»¹ÊÇÔÚ²»¶ÏµÄʵ¼ùÖеõ½½ø²½£¬±»Ó¦ÓÃÓÚ¸÷ÖÖ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆÖ®ÖС£ÀýÈç½ðÉ½ÔÆºÏ»ïÈËËÎཫÔÚ¡°2015 OpenStack¼¼Êõ´ó»á¡±ÉÏ·ÖÏí¡°Openstack ÔÚ¹«ÓÐÔÆÖеÄÔËÓá±£¬·ÖÏí½ðÉ½ÔÆ½â¾öÁËÄÄЩÎÊÌâÒÔ¼°ÈçºÎ½â¾ö¡£ÒѾ½«OpenStackÓ¦ÓÃÔÚÉú²ú»·¾³ÖеÄÓû§£¬²»Ì«¿ÉÄܸĻ»ÃÅÍ¥¡£ÕâÒâζ×Å£¬ËäÓлúÓö£¬ZStackµÄ³õÆÚ·¢Õ¹Í¬Ê±»¹ÊÇ»áÓöµ½ºÜ´óµÄÌôÕ½¡£µ«ÕýÈçÕÅöÎËù˵£¬ÎªÕâ¸öÁìÓòÌṩ¶àÒ»¸öÑ¡Ôñ£¬×ÜÊÇÒ»¼þºÃÊ¡£×£ZStackºÃÔË£¡
|