Kubernetes ááẠá¡á á¯ááá¯ááºá¡ááŒá¯á¶ááá¯áẠáá¯ááºáá¯ááºááŸá¯áááºáááºážáá»ááºááœáẠDocker ááœááºááááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá±á¬ááºážááœááºáá±á¬áááááá¬áá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº Kubernetes áááŒá±ááŸááºážááá¯ááºáá±á¬ ááŒá¿áá¬áá»á¬ážááŸááá«áááºá áááŒá¬áá áá¯ááºáá¯ááºááŸá¯ ááŒáá·áºáá»ááºááŒááºážá¡ááœááºá ááŒááºá HTTP áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááá¯ááºááœááºáááºááŸáá·áº SSL offload áá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºááá·áº áá¯ááºáááºážá ááºááœáẠá ááºáááºááŒááºážááᯠááŸá±á¬ááºááŸá¬ážááẠá¡ááŒáá·áºá¡á á¡ááá¯á¡áá»á±á¬áẠá¡ááŒá¬áá±á¬ááº/á¡á áááºážáá±á¬áẠááŒáá·áºáá»ááºááŸá¯ ááá¯á¡ááºáá«áááºá áááºážááẠha-proxy áá²á·ááá¯á·áá±á¬ load balancer ááŸáá·áº áá±á«ááºážá ááºážááẠááá¯á¡ááºáááºá áá±á¬ááºáááºá áááºáá±á«áºááŸá¯ááŸá¬ cloud áááºáááºážáá»ááºááœáẠáá¯ááºáá±á¬ááºáá±áá»áááºááœáẠKubernetes á¡á á¯á¡áá±ážááᯠáá áºáááºáá áºáá»áẠá¡ááá¯á¡áá»á±á¬áẠáá»áááºááŸáááŒááºáž á¥ááá¬á áá¡áá»áááºááœáẠá¡á á¯á¡áá±ážááᯠáá áºá áááºáá áºááá¯ááºáž áá»á²á·ááœááºááŒááºážá
Kubernetes ááœáẠá€á¡ááºá¹áá«áááºáá»á¬áž ááá«ááŸááá±á¬áºáááºáž áááºážááẠá¡áá¬ážáá°ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááºá¡ááœáẠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº API áá áºáá¯ááᯠáá±ážáá«áááºá á¡ááŒá¬áá±á¬ááº/á áááºážáááºážáá±á¬ á¡ááá¯á¡áá»á±á¬áẠááŒáá·áºáá»ááºááŒááºážááŸáá·áº Kubernetes á¡á á¯á¡áá±ážá¡ááœáẠáááááá¬áá»á¬ážááᯠááœáá·áºáááºážááŒááºáá¬á áœá¬á¡ááŒá±áá¶á áááºáá®ážáá¬ážááá·áº Cloud RTI ááá±á¬áá»ááºá áá áºá áááºáá áºááá¯ááºážá¡ááŒá Ạáá®ááœááºáá²á·áááºá
áá®áá®ááá¯ááŸááºáááºážáá áºáá¯ááŒá áºááá·áº á€áá±á¬ááºážáá«ážááẠáá¯ááºáá¯ááºááŸá¯ááœáẠá¡áá»áááºáááá¯ááºážáá² git commit ááŸáá¯ááºááᯠáááºáá¶ááá·áº áá¯ááºáá¯ááºáá±ážá¡áááºááá·áºááŸááá±á¬ áááºáááºážáá»ááºááᯠáááºáá®ážáááºá¡ááœáẠKubernetes ááᯠá¡ááŒá¬áž open source á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áºá¡áá° áááºááá¯á·ááá·áºááœááºážááááºááᯠááŒááá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áº áááºááẠááŒááºáááá¹áá¬á០áááºáá¡ááºááºáá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºááŸáá·áº á¡ááŒáá·áºá¡á á¡ááá¯á¡áá»á±á¬ááºá áá áºááᯠá áááºáááºááŸááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ ááẠgit commit áá áºáá¯áá¯ááºáá±á¬ááºááá¯ááºááá·áºá¡ááá·áºááá¯á· áá±á¬ááºá á±ááŒá®áž ဠgit commit ááẠáá¯ááºáá¯ááºááŸá¯ááœááºá¡áá¯á¶ážáááºááŒá±á¬ááºáž áá±áá»á¬áá«á á±á áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá á€á¡ááá·áºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áºá¡áá«á ááŒáá·áºáá»ááºááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áºá¡áá«ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá ááºáááºááŒááºážááᯠáááŒá¯á¶ááœá±á·áá»ááºáá«á ááá¯á·ááŒá±á¬áá·áº Kubernetes ááŸá áááºááá·áºá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯áááᯠAPI ááŒáá·áº á áááºáááºá
Kubernetes ááẠáá±áá¹áá¬á¡ááœááºážá០á¡áá»áá¯ážááŸáááŸáá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ áááááá¬áá
áºáá¯ááá¯ááºáá«á áá±áá»á¬áá«áááºá áááºá¡á²áá«ááá¯áá¯ááºááá¯ááºáááºá kubectl á
áááºááŒáá·áºáá¯á¶ážáá«á áá«áá±ááá·áº API ááá®ááááºáá±á¬ááºážá¡ááœááºá
áááºáááºá
á¬ážá
áá¬á¡áá±á¬ááºážáá¯á¶ážáá²á·á¡áá¯á¶ážáááºáá¯á¶ážá¡áá¬áá«á áá¯ááºáá±á¬ááºáá»ááºá¡á
á¯áá
áºáá¯á¡áá±ááŒáá·áº API ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº Kubernetes ááœáẠáááºáá¯ááºáá±á¬ááºááá¯ááá·áº á¡áá¬á¡á¬ážáá¯á¶ážáá®ážáá«ážááᯠáááºáááºáá±á¬ááºááá¯ááºáááºá kubectl ááá¯ááºááá¯ááºáááºáž REST API ááá¯á¡áá¯á¶ážááŒá¯áááºá
áááºážááẠREST ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº áááºááẠဠAPI ááŸáá·áº á¡áá¯ááºáá¯ááºááẠáááºááá·áºáá¬áá¬á áá¬áž ááá¯á·ááá¯áẠáááááá¬ááá¯áááᯠáá¯á¶ážááá¯ááºáá±á¬áºáááºáž á áááºááŒáá¯ááºá á¬ááŒáá·áºááá¯ááºáá»á¬ážá ááá·áºááááᯠááá¯ááá¯ááœááºáá°á á±áááºááŒá áºáááºá áá»áœááºá¯ááºáá¡ááœá²á·ááẠááá¯áá²á·ááá¯á·áá±á¬ á á¬ááŒáá·áºááá¯áẠá áá¯ááᯠáá±ážáá¬ážáá²á·áááº- Java/OSGi á¡ááœáẠáá áºáá¯ááŸáá·áº Go á¡ááœáẠáá áºáá¯á áá¯ááááá áºáá»áá¯ážááᯠáááŒá¬ááá¡áá¯á¶ážáááŒá¯áá±á¬áºáááºáž áááºááá·áºá¡ááŒá±á¡áá±áá»áá¯ážááœááºáááᯠááá·áºááœáẠá€á¡áá¯á¶ážáááºáá±á¬á¡áá¬áá»á¬áž ááŸááá±áá«áááºá áááºážááá¯á·ááẠáá áºá áááºáá áºááá¯ááºáž ááá¯ááºá ááºá open-source ááá±á¬áá»ááºáá áºáá¯ááŒá áºáááºá áá¬áá¬á áá¬ážá¡áá»áá¯ážáá»áá¯ážá¡ááœáẠá á¬ááŒáá·áºááá¯ááºáá»á¬ážá áœá¬ááŸááá±á¬ááŒá±á¬áá·áº áááºááŸáá·áºá¡ááá·áºáá±á¬áºáá¯á¶ážáá»á¬ážááᯠááœá±ážáá»ááºááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áááºáááŒáá·áºáá»ááºááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºá
áááºááŒááºážáááŒá¯áá®á áá¯ááºáááºážá
ááºááẠáááºááá·áºá¡áá»áááºááŸáá·áºáá»áŸ áááºááá·áºáááºááá¯ááºááŒá±á¬ááºáž áá±áá»á¬á
á±áááºááá¯á¡ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá°áá»á¬ážááẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡áá»á¬ážáá¯á¶ážá¡áá¯á¶ážááŒá¯áá±ááá·áº áá±á·áááºááœáẠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááẠáá¯ááºáá¯ááºááŸá¯ááᯠááŒáá·áºáá»ááºáá¯ááºáá±á¬ááºáá±áá±á¬ááŒá±á¬áá·áº á€áá¯ááºáááºážá
ááºááœáẠááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááẠá¡áá±ážááŒá®ážáá«áááºá á
ááºáááºááŒááºážááᯠááŸá±á¬ááºááŸá¬ážáááºá¡ááœáẠáááºážáááºáž 2 áá¯ááᯠá¡áá¯á¶ážááŒá¯áááº- á¡ááŒá¬/á¡á
áááºáž ááŒáá·áºáá»ááºááŒááºáž ááá¯á·ááá¯áẠááŸááá·áºááœááºážáá¶ááŒááºážá áá±á¬ááºáá¯á¶ážá¡ááŒá±á¡áá±ááœááºá ááá·áºááœáẠá¡ááá®áá±ážááŸááºážáá¯á¶áá° á
áᯠáááºáááºáá±áá«áá áááºážááá¯á·ááᯠáá
áºáá¯ááŒá®ážáá
áºáᯠá¡ááá·áºááŒáŸáá·áºáá¬ážáááºá á€áááºážáááºážááẠáá±á¬ááºážááœááºáá±á¬áºáááºáž á¡áá¯á¶ážáá»ááŸá¯áá¯ááºáááºážá
ááºá¡ááœááºáž ááá·áºááœáẠá¡áá¯á¶ážáá»áááá¯ááááºá ááá°áá®áá±á¬áá¬ážááŸááºážáá»á¬ážááŸááá«á áááºážááẠáááá·áºáá»á±á¬áºáá«á á€ááá
á¹á
ááœááºá backend ááẠáá¬ážááŸááºážáá±á¬ááºážááᯠáá¯ááºáá±á¬ááºáá±áá»áááºááœáẠá¡áá¯á¶ážááŒá¯áá°á á¡ááºáá¬áá±á·á
áºááᯠááẠá¡ááºááááºáá¯ááºááá¯ááºááŒá®áž á¡ááá®áá±ážááŸááºáž á¡áá¯ááºááá¯ááºáá±á¬á·áá«á ááá¯á·ááŒá±á¬áá·áºá áááá¯ááááºážáááºážááŸá¯áá±á¬áá·áºá¡áá ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážááœáẠáá¯ááºáá±á¬ááºáááºááŸá¬ á¡ááœááºáááºáá²áá«áááºá
á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážáá»á¬ážá ááŒáá·áºáá»ááºááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠá¡ááŒá¬/á¡á áááºáž á¡áá¯á¶ážáá»ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááá·áº á¡ááŒá±á¬ááºážáááºážáá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá á€áááºážáááºážááŒáá·áºá áá áºááŒáááºáá»áŸáẠá¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážáá áºáá¯áᬠáá¯ááºáá±á¬ááºááŒá±á¬ááºáž áá±áá»á¬á á±ááááºá
á¡ááŒá¬/á¡á áááºáž ááŒáá·áºáá»ááºááŸá¯ ááá¹ááá¬ážááẠá€áá²á·ááá¯á· ááŒá áºáá¯á¶ááááºá áá»áœááºá¯ááºááá¯á·ááẠha-proxy ááŸáááá·áº áá»áœááºá¯ááºááá¯á·áá¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠá¡ááœá¬ážá¡áá¬ááᯠáááºáá¶áááŸááááºá áááºážááẠáá°áá®áá±á¬áá¬ážááŸááºážá á¡ááá®áá±ážááŸááºážááá¯á¶áá°áá»á¬ážááᯠáááºáááºáá±áá«áááºá
á¡áá áºááŒáá·áºáá»ááºááŸá¯ááᯠááŒá¯áá¯ááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠá¡á áááºá¡ááá¯ááºážá¡áá áºáá»á¬ážááᯠáá±ážáá±á¬ááºááŒá®áž áá¬ážááŸááºážá¡áá áºááᯠááŒáá·áºáá»ááºáá±ážááá·áº Deployer ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážá¡áá áºááᯠááŒáá·áºáá»ááºááŒááºážááẠáá¯á¶á á¶áá°á¡á á¯á¡áá áºáá áºáá¯ááᯠ"ááŒáŸáá·áºáááºáááº" áᯠááá¯ááá¯áááºá ááá¯á·áá±á¬áẠá€áá¬ážááŸááºážá¡áá áºá áá¯á¶áá°áá»á¬ážááᯠáá®ážááŒá¬áž pod á¡áá áºáá áºáá¯ááœáẠá áááºááá¯ááºáá«áááºá ááá¯á·áá¬ááœááºá ha-proxy ááẠáááºážááá¯á·á¡ááŒá±á¬ááºáž áá¬ááŸáááááá±ážáá² áááºážááá¯á·áᶠáááºááá·áºá¡áá¯ááºáá¬áááºááá¯áá»áŸ ááá±ážááá¯á·ááá±ážáá«á
ááá¯á·ááŒá±á¬áá·áºá ááááŠážá áœá¬á áá¯á¶áá°áá»á¬ážááẠáááºáá±á¬ááºáááᯠáááºáá±á¬ááºááŸá¯áá±ážááẠá¡áááºááá·áºááŒá áºááŒá±á¬ááºáž áá±áá»á¬á á±áááºá¡ááœáẠáá¬ážááŸááºážá¡áá áºáá»á¬ážá á áœááºážáá±á¬ááºáááºá á áºáá±ážááŸá¯ááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá
ááŒáá·áºáá»ááºááŸá¯á¡ááá¯ááºážá¡á¬ážáá¯á¶ážááẠáá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá¯á¶á
á¶á¡áá»áá¯á·ááᯠáá¶á·ááá¯ážáá±ážááááºááŒá
áºáááºá áááºážááẠáá±áá¬áá±á·á
áºááŸáá·áº á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá¯á¶áá°áá»á¬ážá áá»áááºáááºááŸá¯ááᯠáááºá
á
áºáá±ážááá·áº á¡ááŒá±á¡áá± 200 áá«áá±á¬ áá¯ááºááᯠáááºáá¶áááŸááá±á¬á¡áá«ááœáẠá¡ááœááºááá¯ážááŸááºážáá±á¬ HTTP áá±á«áºááá¯ááŸá¯ á
á
áºáá±ážáá»ááºáá
áºáᯠááŒá
áºááá¯ááºáááºáá ááŒá±á¬ááºážáá²áá±áá±á¬ áááºáááºážáá»ááºáá»áááºáááºááŸá¯áá»á¬ážá áááºááŒáááºááŸá¯ , ááŸáá·áº á¡áá¬á¡á¬ážáá¯á¶ážá
áááºááŒá®ážááŸááºáááºá
áœá¬á¡áá¯ááºáá¯ááºááá¬ážá á€áá¯ááºáááºážá
ááºáááºá¡áá±á¬áºáá±ážááŸá¯ááºááœá±ážááá¯ááºáááºá
á¡ááºááááºáá¯ááºáá¬ážáá±á¬áá¯á¶áá°áá»á¬ážá¡á¬ážáá¯á¶ážá¡áá¯ááºáá¯ááºáá±ááŒá±á¬ááºážá
áá
áºáá¡áááºááŒá¯ááŒá®ážáá±á¬ááºá Deployer áááºááœá²á·á
ááºážáá¯á¶ááá¯ááœááºážáá¶ááŒá®áž ha-proxy ááá¯ááŒááºáááºá
á®á
ááºáá±ážááá·áºááŸááºáááºáá±á¬ confd ááá¯ááŒááºáááºážáááºááŒá
áºáááºá
áááºážááŒá®ážáá±á¬ááºááŸáᬠáá¬ážááŸááºážá¡áá
áºááá¯á¶áá°áá»á¬ážááŸáá·áºá¡áá° pod ááá¯á· á¡ááœá¬ážá¡áá¬ááŸááá¬áááºááŒá
áºááŒá®áž pod á¡áá±á¬ááºážááẠáá»á±á¬ááºááœá¬ážáááºááŒá
áºáááºá
á€ááá¹ááá¬ážááẠKubernetes áá¡ááºá¹áá«áááºááá¯ááºáá«á á¡ááŒá¬/á¡á
áááºáž ááŒáá·áºáá»ááºááŒááºážá ááá±á¬ááá¬ážááŸá¬ á¡áá»áááºá¡áá±á¬áºááŒá¬áá²á·ááŒá®ááŒá
áºááŒá®áž áááºážááẠLoad Balancer ááᯠá¡ááŒá²á¡áá¯á¶ážááŒá¯áá²á·áááºá ááááŠážá
áœá¬ áááºááẠá¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážáá±á¬ááºážááá¯á· áááºážááŒá±á¬ááºážá¡á¬ážáá¯á¶ážááᯠááœáŸááºááŒááŒá®áž á¡ááºááááºááŒá®ážáá±á¬ááºá áááºááẠáááºážááᯠáá¬ážááŸááºážá¡áá
áºááá¯á· á¡ááŒá®ážá¡ááá¯áẠááœáŸá²ááŒá±á¬ááºážáá«á á€áá°ááᯠKubernetes ááœááºáá¬áááá² á¡áá¯á¶ážááŒá¯áááºá
ááᯠáá»áœááºá¯ááºááẠááá·áºá¡á¬áž áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯áá»á¬ážáá¯ááºáá±á¬ááºáá±ážááŒááºážá ááá±á¬ááºá á®áá»á¬ážááᯠááŒááºáááºá á®á ááºáá±ážááŒááºážá áááºááŒáá·áº áá¯ááºáá±á¬ááºáá±ážááá·áº Deployer á¡áá áºáá áºáá¯ááŸáá·áº ááááºáááºáá±ážáá«áááºá áááºážááẠááŒááºáááá¹áá¬ááŸáá·áº ááááºááá¯ááºáá² Kubernetes á¡ááœááºážá ááŸááá±áá±á¬ á¡áá°á¡ááá áºáá¯ááŒá áºáááºá Open-source áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºáááá¯ááºááá¯áẠDeployer á¡áá°á¡áááᯠáááºáááºáá²á·ááá¯á· áááºáá®ážááá¯ááºáááºááᯠáá»áœááºá¯ááºááŒááá«áááºá
ááá¯á·ááŒá±á¬áá·áºá Deployer áá¯ááºááá·áº ááááá¯á¶ážá¡áá¬ááŸá¬ Kubernetes API ááᯠá¡áá¯á¶ážááŒá¯á RC áá°ážáá°ááááºážáá»á¯ááºááá·áºáááááá¬ááᯠáááºáá®ážááŒááºážááŒá áºáááºá ဠAPI ááẠáá±á¬ááºááẠááŒáá·áºáá»ááºááŸá¯á¡ááœáẠpods ááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá®ážáá±ážáááºá ááá¯ááá¯áááºááŸá¬ áááºážááẠáá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠáá¯á¶ážáá¡áá áºáá±á¬ á¡á á¯á¡áá±ážáá áºáá¯ááᯠáááºáá®ážáá±ážáá«áááºá RC ááẠáá¯á¶áá°áá»á¬ážá áááºáá±ááŒá®áᯠá¡ááá¯ááºá¡áá¬áá¯á¶ááŒááºáááºááŸáá·áºáááŒáá¯ááºááẠáááºážááá¯á·ááá¯ááºáá±á¬ááºááá¯ááºá áœááºážá¡áá±á«áº áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯ááŒá¯áá¯ááºáááºááŒá áºáááºá áá«ááá¯áá¯ááºááá¯á·á Deployer á GET /health command ááá¯áá¯á¶ážáá«áááºá áááºážááẠááá·áºáá»á±á¬áºáá±á¬ á áááºáááºááá·áº á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒá®áž á¡á á¯á¡áá±ážá áá¯ááºáá±á¬ááºááŸá¯ááᯠáá¶á·ááá¯ážáá±ážááá·áº á¡á áááºá¡ááá¯ááºážá¡á¬ážáá¯á¶ážááᯠá á áºáá±ážáááºá
pods áá»á¬ážá¡á¬ážáá¯á¶ážááẠáááºážááá¯á·ááá»ááºážáá¬áá±ážááᯠá¡á
á®áááºáá¶ááŒá®ážáá±á¬ááºá Deployer ááẠload balancer configuration ááᯠááááºážáááºážááŒááºážá¡áá«á¡ááẠKubernetes á០á¡ááœááºážááá¯ááºážá á¡áá¯á¶ážááŒá¯ááá·áº ááœá²áá±ááá¯ááŸá±á¬ááºááŸá¯- etcd ááœá²áá±ááá¯ááŸá±á¬ááºááŸá¯á¡áá
áºáá
áºáá¯ááᯠáááºáá®ážáá±ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬ááᯠetcd ááá¯á· áá±ážááŒá®áž áá±áá¬á¡áá
áºá¡ááœáẠconfd monitors etcd áá¯áá±á«áºáá±á¬ áááááá¬áááºáá
áºáá¯ááŒá
áºáááºá
áááŠážááœá²á·á ááºážáá¯á¶ááá¯ááºáᬠááŒá±á¬ááºážáá²ááŸá¯áá áºá á¯á¶áá áºáá¬ááᯠááœá±á·ááŸááá«áá áááºážááẠáááºáááºááá¯ááºá¡áá áºáá áºáá¯ááᯠáá¯ááºáá±ážááŒá®áž ha-proxy ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáááºá á€ááá á¹á ááœááºá ha-proxy ááẠáááºááá·áºáá»áááºáááºááŸá¯á០ááá¯á¶ážááŸá¯á¶ážáá² ááŒááºáááºá áááºááŒá®áž áá»áœááºá¯ááºááá¯á·áá¡ááºááºáá®áá±ážááŸááºážáá¬ážááŸááºážá¡áá áºááᯠá¡áá¯ááºáá¯ááºááá¯ááºá á±ááá·áº áááºáá±á¬ááºááŸá¯á¡áá áºáá»á¬ážááá¯á· áááºááᯠááááºá á¬áá±ážáááºá
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á¡á
áááºá¡ááá¯ááºážáá»á¬ážáá±á«áá»á¬ážáá±á¬áºáááºážá á€áá±áá¬ááœááºááŸá¯ááºááœá±ážáá±á¬á¡áá¬áááŸááá«á API áá²á· etcd ááᯠááá¯á¡á¬áá¯á¶á
áá¯ááºááá¯á· ááá¯áá«áááºá áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯ááºá¡áá¯á¶ážááŒá¯áá±ááá·áº á¡ááœáá·áºá¡áááºážá¡ááŒá
áºááŒáá·áºáá»ááºáá°á¡ááŒá±á¬ááºáž ááŒá±á¬ááŒááá¯áááºááŸá¬ Amdatu Kubernetes Deployerá
áááºážááẠKubernetes ááŒáá·áºáá»ááºááŸá¯á¡á¬áž ááŒáá¯ážááá¯ááºááŒááºážá¡ááœáẠáááááá¬áá
áºáá¯ááŒá
áºááŒá®áž á¡á±á¬ááºáá«á¡ááºá¹áá«áááºáá»á¬ážáá«ááŸááááºá
- á¡ááŒá¬/á¡á áááºáž ááŒáá·áºáá»ááºááŒááºážá
- ááŒááºááááºáá»áááºááœááºáá»áŸá¬ááᯠáááºááŸááºááŒááºážá
- ááŒáá·áºáá»ááºáá±á¬áºááŒááẠá á®áá¶ááá·áºááœá²ááŸá¯á
- á¡ááŸááºáááẠááŒáá·áºáá»ááºááŸá¯ááᯠá á®áá¶ááá·áºááœá²ááŒááºážá
- ááŒáá·áºáá»ááºá ááºá¡ááœááºáž áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯áá»á¬ážá áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠá á áºáá±ážááŒááºážá
- áááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠpods áá»á¬ážá¡ááŒá Ạá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá
ဠDeployer ááẠKubernetes API áááááºááœáẠáááºáá±á¬ááºáá¬ážááŒá®áž áááºááá¯ááºáá»á¬ážááŸáá·áº ááŒáá·áºáá»ááºááŸá¯áá»á¬ážááᯠá á®áá¶ááá·áºááœá²áááºá¡ááœáẠREST API ááŸáá·áº ááŒáá·áºáá»ááºáá¯ááºáá±á¬ááºáá±á ááºá¡ááœááºáž ááŸááºáááºážáá»á¬ážááᯠááá¯ááºááá¯ááºááŒáá·áºááŸá¯áááºá¡ááœáẠWebsocket API ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
áááºážááẠload balancer configuration data ááᯠetcd ááœáẠááá·áºááœááºážáá¬ážáá±á¬ááŒá±á¬áá·áº ha-proxy ááᯠout-of-the-box áá¶á·ááá¯ážááŸá¯ááŒáá·áº á¡áá¯á¶ážááŒá¯ááẠáááá¯á¡ááºáá²á áááºáááá¯ááºááá¯áẠload balancer configuration file ááᯠá¡ááœááºááá° á¡áá¯á¶ážááŒá¯áá«á Amdatu Deployer ááᯠKubernetes ááá¯ááºááá¯ááºáá²á·ááá¯á· Go ááœáẠáá±ážáá¬ážáá¬ážááŒá®áž Apache á០ááá¯ááºá ááºááá¬ážáááºá
ááŒáá·áºáá»ááºáá°á á€áá¬ážááŸááºážááᯠá¡áá¯á¶ážáááŒá¯áá®á áá»áœááºá¯ááºááá¯á¡ááºáá±á¬ áá±á¬ááºáá»á¬ážááᯠáááºááŸááºáá±ážááá·áº á¡á±á¬ááºáá« ááŒáá·áºáá»ááºááŸá¯áá±á¬áºááŒáá»ááºááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá
á€áá¯ááºá á¡áá±ážááŒá®ážáá±á¬ ááá·áºáááºáá±á¬ááºáá»á¬ážáá²ááŸáá
áºáá¯ááŸá¬ âuseHealthCheckâ á¡áá¶ááᯠááœáá·áºáááºááŒá
áºáááºá ááŒáá·áºáá»ááºááŒááºážáá¯ááºáááºážá
ááºá¡ááœááºáž á
áááºááá¯ááºážááá¯ááºáᬠá
á
áºáá±ážááŸá¯ááᯠááŒá¯áá¯ááºááááºáᯠáá»áœááºá¯ááºááá¯á· áááºááŸááºááẠááá¯á¡ááºáá«áááºá ááŒáá·áºáá»ááºááŸá¯ááẠá¡áááºááŒá¯áááºáááá¯á¡ááºáá±á¬ ááŒááºáá¡ááœá²á·á¡á
ááºážááœááºááááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« á€áááºáááºááᯠááááºááá¯ááºáááºá á€áá±á¬áºááŒáá»ááºááẠha-proxy ááá¯á¡ááºááá·áº áá¯á¶áá°á¡áá±á¡ááœááºááŸáá·áº ááŸá±á·áá¯á¶áž URL ááá¯áááºáž áá±á¬áºááŒáááºá á¡áá¯á¶ážááœáẠport configurationá image á
áááºááá¯á·á¡ááœáẠá¡áá»ááºá¡áááºá¡ááœáẠKubernetes ááá¯áá±á«áºááá¯ááá·áº pod specification á¡áᶠ"podspec" ááŒá
áºáááºá áááºážááẠááá¯ážááá¯ážááŸááºážááŸááºáž JSON áá±á¬áºááŒáá»ááºááŒá
áºáááºá
open-source Amdatu ááá±á¬áá»ááºááá áºá áááºáá áºááá¯ááºážááŒá áºáá±á¬ áá±á¬ááºáááºáááááá¬áá áºáá¯ááŸá¬ Deploymentctl ááŒá áºáááºá áááºážááœáẠááŒáá·áºáá»ááºááŸá¯áá»á¬ážááᯠá á®á ááºáááºááŸááºáááºá ááŒáá·áºáá»ááºááŸá¯ááŸááºáááºážááᯠááááºážáááºážáááºá ááŒááºááá¯áá¹ááá®á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááŸáá·áº áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážáá¶á០ááŒááºáááºáá±á«áºáá°ááŸá¯á¡ááœáẠáááºáá»áááºáá»á¬ážáá«ááŸááááºá Amdatu Deployer ááá¯ááºááá¯ááºá REST API ááŒá áºáá±á¬ááŒá±á¬áá·áº UI ááᯠáááºá¡áá¯á¶ážáááŒá¯ááá¯ááºáá±á¬áºáááºáž á€á¡ááºáá¬áá±á·á áºááẠáááºááá·áº API áá»áŸááá«áááºáá² ááá·áºá¡ááœáẠááá¯ááá¯ááœááºáá°á á±ááá¯ááºáá«áááºá Deploymentctl ááᯠAngular 2 ááᯠá¡áá¯á¶ážááŒá¯á OSGi/Vertx ááŒáá·áº áá±ážáá¬ážáá¬ážáááºá
á á±á¬áá·áºááá¯ááºážá áá¬áááá¯áá² ááŒáá¯áááºááŸááºáááºážáááºáá¬ážáá±á¬ á¡áá¶ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯á á¡áááºáá±á¬áºááŒáá« ááŒááºááœááºážááᯠááᯠáá»áœááºá¯áẠááá¯ááºááŒáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŸááºážáá±á¬ Go á¡ááá®áá±ážááŸááºážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá Go ááá¯á¡áááºáá ááºážááá±ážááẠá áááºááá°áá«áá²á·á áá«áᬠá¡áááºážááá¯ážááŸááºážáá²á· application áá áºáá¯ááŒá áºááá¯á· áááºááááá¯ááºááá·áºáá«áááºá
á€ááœáẠáá»áœááºá¯ááºááá¯á·ááẠ/health ááá¯áᬠáá¯á¶á·ááŒááºááá·áº HTTP áá¬áá¬ááᯠáááºáá®ážáá±áááºá ááá¯á·ááŒá±á¬áá·áº á€á¡ááá®áá±ážááŸááºážááẠáá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá¬ááŒá
áºááŒá®áž á¡ááŒá¬ážáá¬áá»áŸáááŸááá±á á
á
áºáá±ážááŸá¯á¡á±á¬ááºááŒááºáá«áá á¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ JSON ááœá²á·á
ááºážáá¯á¶ááᯠá¡áá¯á¶ážááŒá¯áááºá áááºážááœáẠdeployer á០á¡áá¯á¶ážáá»ááá·áº á¡ááá®áá±ážááŸááºážáá¬ážááŸááºážá ááá¯ááºáááááºááœáẠáááºááŒááºáááá·áº áááºáá±á·áá»áºááŸáá·áº áá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážááẠá¡áá¯ááºááá¯ááºáááºááŒá
áºá
á± boolean áá±áá¬á¡áá»áá¯ážá¡á
á¬áž áá«ááŸááááºá
áá»áœááºá¯ááºááẠá¡áá¬áááºááœáẠáá»ááºážáá¬áá±ážááŸáá·áºááá®ááœááºáá±á¬ á¡ááºááºáá®áá±ážááŸááºážááá¯ááẠá¡áá¯á¶ážáá»ááá¯ááºá á±ááá·áº ááá¯ááºáááááºááœáẠáá¯á¶áá± boolean áááºááá¯ážááᯠááá·áºáá¬ážáá±á¬ááŒá±á¬áá·áº áá±á¬ááºáá¯á¶ážá á¬ááŒá±á¬ááºážááᯠá¡áááºážáááºááŸáá·áºá á¬ážáá²á·áááºá áá«ááᯠáá±á¬ááºá០ááŒá±ááŸááºážáá«áááºá
áá«ááᯠá ááá¯ááºáá¡á±á¬ááºá ááááŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠcommand ~ kubectl get pods ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºáá±ááá·áº áááºááá·áº pods áá»á¬ážáááŸá±á·ááŸá±á¬ááºááœááºáááᯠá á áºáá±ážááŒá®áž frontend URL á០áá¯á¶á·ááŒááºááŸá¯áááŸáááŒááºážá¡áá±á«áº á¡ááŒá±áá¶áá áááºááŸáááœáẠááŒáá·áºáá»ááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá¬ážááŒá±á¬ááºáž áá±áá»á¬áá«áááºá
áá±á¬ááºáá
áºáá¯ááœáẠáá»áœááºá¯ááºáá±á¬áºááŒáá²á·áá±á¬ Deploymentctl á¡ááºáá¬áá±á·á
áºááᯠáááºááœá±á·ááŒááºáááŒá®ážá ááŒáá·áºáá»ááºááŸá¯ááá¯ááºáᬠááá·áºáááºáá»ááºáá»á¬ážáááºááŸááºáá¬ážáááº- namespaceá á¡ááá®áá±ážááŸááºážá¡áááºá ááŒáá·áºáá»ááºáá¬ážááŸááºážá áá¯á¶áá°á¡áá±á¡ááœááºá ááŸá±á·áá¯á¶áž URLá ááœááºááááºáá¬á¡áááºá áá¯ááºáá¯á¶á á¡áááºážá¡ááŒá
áºááá·áºáááºáá»ááºáá»á¬ážá áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯á¡ááœáẠááááºáááºážáá¶áá«ááºá á
áááºááá¯á·á áááºážááá¯á·ááẠááá·áºá¡á¬áž ááŒá
áºááá¯ááºáá»á±á¡áá»á¬ážáá¯á¶áž áá¬á·ááºáá²ááá¬áááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáá±á¬ááŒá±á¬áá·áº á¡áááºážá¡ááŒá
áºááá·áºáááºáá»ááºáá»á¬ážááẠá¡ááœááºá¡áá±ážááŒá®ážáá«áááºá á€áá±áá¬ááœáẠáááºááẠá¡áá¯á¶ážáá»ááŸá¯ááŸááºáááºážááá¯áááºáž ááŒáá·áºááŸá¯ááá¯ááºáááºá
ááᯠááẠ~ kubectl get pods áá°áá±á¬ á¡áááá·áºááᯠááŒááºáá¯ááºáá«áá ha-proxy ááᯠááŒááºáááºááŒááºáááºáá¬ážááá·áºá¡áá±á¬á¡ááœááºáž á
áá
áºááẠá
áá¹ááá·áº 20 ááŒá¬ âá¡á±ážáá²â áááºááᯠááœá±á·ááá¯ááºáááºá ááá¯á·áá±á¬ááºááœááºá áá±á«á·ááºá
áááºáááºááŸáá·áº áá»áœááºá¯ááºááá¯á·ááá¯á¶á
á¶áá°ááᯠááŒáá·áºáá»ááºááŸá¯ááŸááºáááºážááœáẠááœá±á·ááŒááºááá¯ááºáá«áááºá
áá®áá®ááá¯á០á
áá¹ááá·áº 20 á
á±á¬áá·áºááá¯ááºážááŸá¯ááᯠáá»áœááºáá±á¬áºááŒááºááá¯ááºáááºá ááᯠá¡ááá®áá±ážááŸááºážá ááááá¬ážááŸááºážááᯠáááºááœá±á·á¡áá¯á¶ážáá»ááŒá®ážááŒá
áºááŒá±á¬ááºáž á
ááááºáá±á«áºááœáẠáááºááŒááºááá¯ááºáá«ááŒá®á á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠUI ááá¯áá¬á¡áá¯á¶ážááŒá¯ááŒá®ážáá¯ááºáá±á¬ááºáá²á·áááºá
á¡áᯠáá¯ááááá¬ážááŸááºážááᯠá
ááºážááŒáá·áºáá¡á±á¬ááºá áá«ááá¯áá¯ááºááá¯á·á "Hello, Kubernetes!" á០á¡ááá®áá±ážááŸááºážáá²á· áááºáá±á·áá»áºááᯠááŒá±á¬ááºážááá¯ááºáááºá âHello, Deployer!â ááœááºá á
áá
áºááẠá€áá¯á¶á¡á¬áž áááºáá®ážááŒá®áž áááºážááᯠDocker ááŸááºáá¯á¶áááºááŸá¯ááœáẠáá±áá¬áá»áá¬ážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠDeploymentctl áááºážááá¯ážááœáẠâDeployâ ááá¯ááºááᯠáááºáá¶ááŸáááºááá¯ááºáá«áááºá á€ááá
á¹á
ááœááºá á¡ááá®áá±ážááŸááºážáááááá¬ážááŸááºážááᯠááŒáá·áºáá»ááºáá±á¬á¡áá«ááœáẠá¡áá¯á¶ážáá»ááŸá¯ááŸááºáááºážááᯠá¡ááá¯á¡áá»á±á¬ááºá
áááºáááºá
command ~ kubectl get pods ááẠáááºááŸáááœáẠá¡ááá®áá±ážááŸááºáž áá¬ážááŸááºáž 2 áᯠáááºáááºáá±ááŒá±á¬ááºáž ááŒááá±á¬áºáááºáž ááŸá±á·áááºážááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¬ážááŸááºáž 1 ááᯠáááºááẠáá¯ááºáá±á¬ááºáá±áá±ážááŒá±á¬ááºáž ááŒááááºá
load balancer ááẠáá¬ážááŸááºážá¡áá
áºááá¯á· á¡ááœá¬ážá¡áá¬ááᯠááŒááºááœáŸááºážááŒááºážáááŒá¯áá® áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯ á¡ááŒá®ážáááºááẠá
á±á¬áá·áºááá¯ááºážáá±áá«áááºá á
áá¹ááá·áº 20 ááŒá¬ááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠcurl ááá¯á·ááŒá±á¬ááºážááŒá®áž ááá¯áá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážá áá¬ážááŸááºáž 2 ááᯠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®áž ááááá
áºáá¯ááᯠáá»ááºááá¯ááºááŒá®ááŒá
áºáááºá
á€áááºááŸá¬ "áá»ááºážáá¬áá±á¬" á¡ááá®áá±ážááŸááºážáá
áºáá¯áá¡áá¯á¶ážáá»ááŸá¯ááŒá
áºáááºá á¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážá¡áá
áºá¡ááœáẠáá»áœááºá¯ááºááẠHealthy parameter ááᯠtrue á០false ááá¯á· ááŒá±á¬ááºážáá²áááºááá¯áá«áá ááá¯ááá¯áááºááŸá¬á áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯ áá¡á±á¬ááºááŒááºáá±á¬ á¡ááá®áá±ážááŸááºážáá
áºáá¯á¡á¬áž á¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá
á¬ážááŒáá·áºááŒáá«á
áá¯á·á ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááá·áºááœáẠá¡ááá®áá±ážááŸááºážááœáẠááœá²á·á
ááºážááŸá¯áá¯á¶á
ᶠá¡ááŸá¬ážá¡ááœááºážá¡áá»áá¯á· ááŒá¯áá¯ááºáá²á·ááŒá®áž áááºážááᯠá€áá¯á¶á
á¶ááŒáá·áº áá¯ááºáá¯ááºáá±ážááá¯á· áá±ážááá¯á·áá«á áááºážááẠááŒá
áºááá¯ááºáááºá
áááºááŒááºáááá·áºá¡ááá¯ááºážá ááŒáá·áºáá»ááºááŸá¯ááẠá¡áááºáá±á¬áºááŒáá«á¡ááá·áºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŒááºáááºážááŒá®áž ~kubectl get pods ááẠpods ááŸá áºáá¯áá¯á¶áž á¡áá¯ááºáá¯ááºáá±ááŒá±á¬ááºáž ááŒááááºá ááá¯á·áá±á¬áºááááºá¡áá¯á¶ážááŒá¯ááŸá¯ááŸáá·áºááá°áá²á ááŸááºáááºážááẠá¡áá»áááºáá¯ááºáá¯á¶ážááŸá¯á¡ááŒá±á¡áá±ááá¯ááŒááááºá ááá¯ááá¯áááºááŸá¬á áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯áá¡á±á¬ááºááŒááºáá±á¬ááŒá±á¬áá·áºá á¡ááá®áá±ážááŸááºážááá¬ážááŸááºážá¡áá áºááᯠá¡áá¯á¶ážááŒá¯ááááá«á ááááºá¡áá±ááŒáá·áºá á áá áºááẠá¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážáá±á¬ááºážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááá¯á· ááŒááºáááºáá±á¬ááºááŸáááœá¬ážáááºááᯠáááºááœá±á·ááŒááºáááŒá®áž áá¬ážááŸááºážá¡áá áºááᯠááá¯ážááá¯ážááŸááºážááŸááºážááẠááŒá¯ááºáá áºááá¯ááºáá«áááºá
áááºážááŸáá·áºáááºáááºáá±á¬ áá±á¬ááºážáá±á¬á¡áá»ááºááŸá¬ ááá·áºááœáẠá¡ááá®áá±ážááŸááºážááá¯á· áá
áºááŒáá¯ááºáááºáááºáž áá±á¬ááºážááá¯ááŸá¯áá»á¬áž á¡áá»á¬ážá¡ááŒá¬áž áá±á¬ááºááŸááá¬áá±á¬áºáááºážá ááŒáá·áºáá»ááºááŸá¯áá¯ááºáááºážá
ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºá
ááºááœáẠáááºážááá¯á·ááẠáááºáá¬ážáá»áááºááá¯ááẠááááááŒá¯áááá² ááŒá
áºáá±ááŒááºážááŒá
áºáááºá áá±á¬ááºážááá¯áá»ááºáá»á¬ážá
áœá¬ááᯠáááºááá¯ááºááá»áŸ áá±ážááá¯á·áá±ážáá±á¬ Gatling framework ááᯠá¡áá¯á¶ážááŒá¯á á€á¡ááºááºá¡á¬áž á
ááºážáááºáá«áá áááºážáá±á¬ááºážááá¯áá»ááºáá»á¬ážáá²á០áá
áºáá¯áá»áŸ áá¯ááºááááºážáááºááá¯ááºáá«á ááá¯ááá¯áááºááŸá¬ áá»áœááºá¯ááºááá¯á·áá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¬ážááŸááºážá¡ááºááááºáá»á¬ážááá¯ááẠáááááá¬ážááááá¯ááºáá«á á¡áááºáááŒá±áá«áá áá¬ážááŸááºážáá±á¬ááºážááœáẠá¡áá¯ááºáááºáá¯ááºááœá¬ážáááºááŒá
áºááŒá®áž á¡á±á¬ááºááŒááºáá«áá á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáá¬ážááŸááºážá¡áá
áºááá¯á· ááŒá±á¬ááºážááœá¬ážáááºááŒá
áºáááºá
áá»ááŸá¯á¶ážááá¯ááºááá·áºá¡áá¬áá áºáá¯áá¬ááŸáááẠ- áá»ááºážáá¬áá±ážá á áºáá±ážááŸá¯á¡á±á¬ááºááŒááºáá«áá ááá¯á·áá±á¬áº áááºážááŸáá·áºáááºááá¯ááºááá·áºá¡áá¯ááºáá¬áááºááᯠáááºážáá±á¬ááºáááºááŸáá·áºáááŒáá¯ááºááẠáá»áŸá±á¬ááºááœáŸá¬áá»ááºááœá¬ážáááºá ááá¯ááá¯áááºááŸá¬á ááŒáá·áºáá»ááºááŒá®ážááŸáᬠááŒáá¯áá»ááŸá¯ááŒá áºáááá·áºáááºá á€ááá á¹á ááœááºá áááºááẠáá¬ážááŸááºážáá±á¬ááºážááá¯á· ááá¯ááºááá¯ááºááŒááºááŸáá·áºááá«áááºá ááá¯á·ááŒá±á¬áá·áºá áááºážá¡ááœááºáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ open-source tools ááŒáá·áº Kubernetes ááá¯áááºááá¯á·á¡áá¯á¶ážááŒá¯ááááºááᯠáá»áœááºá¯ááºááá¯á·ááŒáá·áºááŸá¯áá²á·áááºá áááºá Build/Deploy pipelines ááœáẠá€áááááá¬áá»á¬ážááᯠáááºáááºáá±á¬ááºáá«á á¡áá¯á¶ážáá»ááŸá¯áá¯ááºáááºážá ááºááẠááá¯ááá¯ááœááºáá°áá¬áááºááŒá áºáááºá áá áºáá»áááºáááºážááŸá¬áááºá ááŒáá·áºáá»ááºááŸá¯á áááºááẠáááºááẠá¡áá¯á¶ážááŒá¯áá°á¡ááºáá¬áá±á·á áºááá¯áá¯á¶ážááá¯ááºááẠááá¯á·ááá¯áẠá¥ááá¬á¡á¬ážááŒáá·áº commit to master ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á€áá¯ááºáááºážá ááºááᯠá¡ááŒáá·áºá¡áá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
áá»áœááºá¯ááºááá¯á·á Build Server ááẠDocker áá¯á¶áá
áºáá¯ááᯠáááºáá®ážááŒá®áž áááºážááᯠDocker Hub ááá¯á· ááœááºážááá¯á·ááẠááá¯á·ááá¯áẠáááºá¡áá¯á¶ážááŒá¯ááá·áº áááºááá·áº registry ááá¯áááᯠááŒá¯áá¯ááºáááºááŒá
áºáááºá Docker Hub ááẠwebhook ááᯠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áº á¡áááºááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž Deployer ááŸáá
áºááá·áº á¡áá±ážááááºážá
áá
áºááŒáá·áº ááŒáá·áºáá»ááºááŸá¯ááᯠá
áááºááá¯ááºáá«áááºá á€áááºážááŒáá·áº áááºááẠááá·áºá¡ááá®áá±ážááŸááºážá ááŒáá·áºáá»ááºááŸá¯ááᯠá¡áá¬ážá¡áá¬ááŸááá±á¬ áá¯ááºáá¯ááºááŸá¯ááœáẠá¡ááŒáá·áºá¡á á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
Kubernetes á¡á á¯á¡áá±ážááᯠáá»á²á·ááœááºááŒááºážááŒáá·áº áá±á¬ááºá¡ááŒá±á¬ááºážá¡áá¬ááá¯á· áááºááœá¬ážááŒáá«á áá¯á·á kubectl command ááẠscaling command áá áºáá¯ááŒá áºááŒá±á¬ááºáž áááááŒá¯áá«á áá±á¬ááºáááºá¡áá°á¡áá®ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááááºááŸáá¡á á¯á¡áá±ážááŸá áá¯á¶á á¶áá°á¡áá±á¡ááœááºááᯠááœááºáá°á áœá¬ ááá¯ážááŒáŸáá·áºááá¯ááºáá«áááºá ááá¯á·áá±á¬áº áááºááœá±á·ááœááºá áá»áœááºá¯ááºááá¯á·ááẠpods áá»á¬ážááẠnode á¡áá±á¡ááœááºááᯠááá¯ážááŒáŸáá·áºááá¯áá«áááºá
áá
áºáá»áááºáááºážááŸá¬áááºá á¡áá¯ááºáá»áááºá¡ááœááºážááœáẠáááºááẠááá¯ážááŒáŸáá·áºááẠááá¯á¡ááºááŒá®áž áá¡áá»áááºááœáẠAmazon áááºáá±á¬ááºááŸá¯áá»á¬ážá áá¯ááºáá»á
ááááºááᯠáá»áŸá±á¬á·áá»áááºá¡ááœáẠáááºááẠáá¯ááºáá±á¬ááºáá±ááá·áº á¡ááá®áá±ážááŸááºážááŒá
áºáááºá¡áá±á¡ááœááºááᯠáá»áŸá±á¬á·áá»ááẠááá¯á¡ááºááá¯ááºáááºá pods á¡áá±á¡ááœááºááᯠáá»á²á·áá¯á¶ááŒáá·áº áá¯á¶áá±á¬ááºáááºáᯠáááá¯ááá¯áá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº node áá»á¬ážáá²á០áá
áºáá¯ááẠá¡áá¯ááºááá¯ááºáá«áá áááºážá¡ááœáẠAmazon ááᯠáá±ážáá±á¬ááºááŠážáááºááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬ á¡á
á±á·áá»á¬ážááᯠá¡ááá¯ááºážá¡áᬠáá»á²á·ááœááºááŒááºážááŸáá·áºá¡áá°á áááºá¡áá¯á¶ážááŒá¯ááá·áº á
ááºá¡áá±á¡ááœááºááᯠááá¯ááºážáá¬ááẠááá¯á¡ááºáááºááŒá
áºáááºá
áá»áœááºá¯ááºááá¯á·ááẠAmazon ááá¯á·ááá¯áẠá¡ááŒá¬ážáá±á¬ cloud áááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºá á± Kubernetes ááẠá¡áá¯á¶ážááŒá¯áá±ááá·áº á ááºá¡áá±á¡ááœááºááŸáá·áºáááºáááºá áá¬áá»áŸááááá±á¬ááŒá±á¬áá·áº áááºážááẠá áááºáá±á«áºááŸá¯ááŒá áºááá¯ááºáááºá áááºážááẠááá·áºá¡á¬áž node á¡ááá·áºááœáẠá áá áºá¡á¬áž á¡ááá¯ááºážá¡áá¬ááŒáá·áº ááá¯ááºážáá¬ááẠááœáá·áºááŒá¯ááá·áºáááááá¬áá áºáᯠáá»áá¯á·áá²á·áá±áááºá
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠnode ááŸáá·áº pods ááá¯á·ááᯠááá¯á
áá¯ááºááááºááŒá
áºáá«áááºá Kubernetes áá¯ááºáá¬áž node á¡áá±á¡ááœááºááᯠá
á®á
ááºáááºááŸááºááẠAWS API ááŸáá·áº Scaling á¡á¯ááºá
á¯á
ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á node á¡áá
áºáá»á¬ážá á
áááºááŸá¯ááᯠá¡ááœááºááá° á¡ááá¯ááºážá¡áá¬ááŒáá·áº ááá¯ááºážáá¬ááá¯ááºáááºá Kubernetes á¡á
á¯á¡áá±ážááœáẠnode áá»á¬ážááᯠá
á¬áááºážááœááºážááẠcloud-init ááá¯á·ááá¯áẠá¡áá¬ážáá° script ááᯠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á
ááºá¡áá
áºááẠScaling group ááœááºá
áááºáááºá node áá
áºáá¯á¡áá±ááŒáá·áºá
áááºáááºá master's registry ááœááºá
á¬áááºážááœááºážááŒá®ážá¡áá¯ááºáá¯ááºáááºá áááºážáá±á¬ááºááœááºá ááááºááœááºáá±á«áºáá±áá±á¬ node áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá¯á¶áá°á¡áá±á¡ááœááºááᯠááá¯ážááŒáŸáá·áºááá¯ááºáááºá "áááá¯á¡ááºáá±á¬" á
ááºáá»á¬ážááá¯ááááºááŒá®ážáá±á¬áẠááá¯ááá¯á·áá±á¬á¡ááá·áºááẠáá¯ááºáá±á¬ááºáá±ááŒá®ážááŒá
áºáá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬áž áá»ááºá
á®ážááŒááºážááá¯á·ááá±á¬ááºááŒá±á¬ááºáž áá±áá»á¬á
á±áááºá¡ááœáẠá¡ááœááºá¡á
á¬ážááᯠáá»áŸá±á¬á·áá»ááẠááá¯á¡ááºáá«áááºá ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»áá¯ážáááŒá
áºá¡á±á¬ááºá áááºááẠnode á¡á¬áž "á¡áá»áááºááá¬ážááœá²ááááá±á¬" á¡ááŒá±á¡áá±ááá¯á· áááºááŸááºáááºááá¯á¡ááºáááºá ááá¯ááá¯áááºááŸá¬ DaemonSet pods áá»á¬ážááᯠá¡áá»áááºááá¬ážááœá²ááá·áºá¡áá« áá°áááºážá¡áá»áááºááá¬ážááœá²áá°ááẠá€áá¯á¶ááŸááºáá»á¬ážááᯠáá»á
áºáá»á°ááŸá¯áááá·áºáááºááŒá
áºáááºá á¡á
á®á¡á
ááºááœá²áá°ááẠá€áá¬áá¬áá»á¬ážá០áááºááá·áºá¡áá¬ááá¯áá»áŸ áá»ááºáááºááá¯ááºáá±á¬áºáááºáž ááá¯áá±áá¬ááœáẠááœááºááááºáá¬á¡áá
áºáá»á¬ážááá¯áááºáž ááœáá·áºáá±ážáááºááá¯ááºáá«á áá±á¬ááºáá
áºááá·áºááŸá¬ áááºážá¡ááœáẠáá¯á¶áá±á¬ááºáá±á¬ á
áœááºážáááºááŸáááá·áº á¡ááŒá¬ážá
ááºáá
áºáá¯ááá¯á· áááºáááºáá±áá±á¬ pods áá»á¬ážááᯠáááºážá០ááœáŸá²ááŒá±á¬ááºážááẠáá±á¬ááºáá
áºááá·áºááŸá¬ drain node ááᯠáááºááŸá¬ážáááºááŒá
áºáááºá ဠnode áá»á¬ážááœáẠááœááºááááºáá¬áá»á¬áž áááŸááá±á¬á·ááŒá±á¬ááºáž áá±áá»á¬ááŒá®ážáááºááŸáá·áº áááºážááá¯á·ááᯠKubernetes á០áááºááŸá¬ážááá¯ááºáá«áááºá áááºážáá±á¬ááºá áááºážááá¯á·ááẠKubernetes á¡ááœáẠááá¯ážááŸááºážá
áœá¬ áááºááŸááá±á¬á·áááºááŒá
áºáááºá ááá¯á·áá±á¬ááºá áááá¯á¡ááºáá±á¬ node ááá¯á·ááá¯áẠá
ááºáá»á¬ážááá¯ááááºááẠAWS API ááá¯á¡áá¯á¶ážááŒá¯áááºááá¯á¡ááºáááºá
AWS API áá²á· áááºáá°áá²á· á¡ááŒá¬áž open-source scaling tool ááŒá
áºáá²á· Amdatu Scalerd ááᯠáá¯á¶ážááá¯ááºáá«áááºá áááºážááẠá¡á
á¯á¡áá±ážáá
áºáá¯ááœáẠnode áá»á¬ážááá·áºááẠááá¯á·ááá¯áẠáááºááŸá¬ážááẠCLI ááᯠáá¶á·ááá¯ážáá±ážáááºá áááºážáá
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá±á¬á¡ááºá¹áá«áááºááŸá¬ á¡á±á¬ááºáá« json ááá¯ááºááá¯á¡áá¯á¶ážááŒá¯á á¡áá»áááºááá¬ážááœá²ááŒááºážááᯠáá»áááºááŸáááá¯ááºááŸá¯ááŒá
áºáááºá
ááŒáá¬ážááá·áºáá¯ááºááẠáá¡áá»áááºáá¬áá¡ááœááºáž á¡á
á¯á¡áá±ážáá
áœááºážáááºááᯠáááºáááºáá»áŸá±á¬á·áá»áá±ážáááºá áááºážááẠáááŸáááá¯ááºáá±á¬ áá¯á¶áá°á¡áá±á¡ááœááºááŸáá·áº Amazon á¡á
á¯á¡áá±ážá á¡ááá¯ááŸááá±á¬ á
áœááºážáááºááŸá
áºáá»áá¯ážáá¯á¶ážááᯠá
á®á
ááºáá±ážáááºá á€á¡áá»áááºááá¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áá¡áá»áááºááœáẠnode á¡áá±á¡ááœááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá»áŸá±á¬á·áá»ááŒá®áž áá¶áááºááá¯ááºážááœáẠáááºážááá¯á·ááᯠááá¯ážá
á±ááŒá®áž Amazon áá²á·ááá¯á· cloud áááºáá±á¬ááºááŸá¯á០node áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážáá¯ááºáá»á
ááááºááᯠáááºáá¬á
á±áá«áááºá á€á¡ááºá¹áá«áááºááẠKubernetes ááœááºáááºáá±á¬ááºáá¬ážááŒááºážááá¯ááºáá±á¬áºáááºáž Scalerd ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áááºááẠá€ááááºáá±á¬ááºážááᯠáááºá¡ááá¯ááŸáááá·áºá¡ááá¯ááºáž á
áá±ážáá»ááá¯ááºá
á±áááºááŒá
áºáááºá
áá°áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá âáá«á áá±á¬ááºážáááºá áá±á¬ááºážáááºá áá«áá±ááá·áº á¡áá»á¬ážá¡á¬ážááŒáá·áº áááºááŒáááºáá²á· áá«á·áá±áá¬áá±á·á áºááá±á¬ áááºááá¯áá²áâ Kubernetes áá²á·ááá¯á·áá±á¬ áááºááŒáœáá±á¬áááºáááºážáá»ááºááœáẠá€áá²á·ááá¯á·áá±á¬á¡áá¬áá áºáá¯ááᯠáááºáááºááá¯á·áá¯ááºáá±á¬ááºááá¯ááºáááºáááºážá áá»áœááºáá±á¬á·áºá¡ááŒááºá¡áá ááẠáá«ááᯠááá¯ááºááá·áºáá°ážá Kubernetes ááŸá¬ áá±áá¬ááá¯áá±á«ááºááᯠááœáá·áºááá¯á· áááŒáá¯ážá á¬ážááá·áºáá°ážá áá«á áááºážááá¬ááá¯ááºážá¡á ááŒá áºááá¯ááºáá»á±ááŸáááŒá®áž áá®áá¬áá¬áááºáá²á· áááºáááºááŒá®áž á¡ááºáá¬áááºááŸá¬ áááºáááºážá á¬ááœá± ááŸááá«áááºá áá«áá±ááá·áº ááá·áºááááᯠááá¯ážááœá¬ážá áœá¬ ááŸá¯ááºááœá±ážá á±áá«áááá·áºáááºá
áá¯ááºáá²á·á Kubernetes ááœáẠá¡ááŒá²ááŸááá±áá±á¬ á
ááá¯ážááá¯ááºáá»á¬ážá ááá±á¬ááá¬ážáá
áºáᯠááŸááá±ááŒá®áž Mongo ááá¯á·ááá¯áẠMySQL áá²á·ááá¯á· áá±áá¬á
ááá¯ážááá¯ááºáá»á¬ážááᯠááœáá·áºááẠáááºááŒáá¯ážá
á¬ážááá¯ááºáá±á¬áºáááºáž áááºážááŸá¬ á¡áá¯ááºá¡á¬áž á¡ááœááºááá¯á¡ááºáá«áááºá áááºážááŸá¬ áá±áá¬ááá¯ááŸá±á¬ááºáá¯á¶áá»á¬ážááẠáááºááŒáœáá±á¬áááºáááºážáá»ááºááŸáá·áº á¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯ááᯠá¡ááŒáá·áºá¡áááá¶á·ááá¯ážááá¯ááºááŒááºážááŒá±á¬áá·áºááŒá
áºáááºá áá±áá¬áá±á·á
áºá¡áá»á¬ážá
á¯ááẠá¡á
á¯á¡áá±ážááááºá
áœá²ááœá²á·á
ááºážááŸá¯á¡áá«á¡ááẠáááá¬áááºááŸá¬ážáá±á¬ááœá²á·á
ááºážáá¯á¶ááá¯á¡ááºáááºá á¡ááá¯á¡áá»á±á¬ááºá
áá±ážáá»ááŒááºážááŸáá·áº á¡ááŒá¬ážá¡áá¬ážáá°á¡áá¬áá»á¬ážááᯠáááŒáá¯ááºáá«á
ááá¯á·ááŒá±á¬áá·áºá Kubernetes ááœáẠáá±áá¬ááá¯áá±á«ááºáá
áºáá¯ááœáá·áºááẠááŒáá¯ážá
á¬ážááŒááºážááŒáá·áº ááá·áºááááᯠáááŸá¯ááºááœá±ážá
á±ááá·áºáá«á á¡áá»áœááºážááááºááŸááá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºážááá¯á·ááá¯ááºáááºážááᯠááá¯ážáá¬áááºážáááºážááŒáá·áº á
á¯á
ááºážááŒá®áž Kubernetes ááá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºá
áœááºážááᯠááá¯ážááŸááºážá
áœá¬ áá±ážáá±á¬ááºáá«á
áá±á«ááºážá
ááºááá¯áááá¯á¶ážáá»á¯ááºáááºá áá»áœááºá¯ááºáá¡ááœá²á·áá¯ááºáá±á¬ááºáá±ááá·áº Kubernetes ááá¯á¡ááŒá±áá¶ááá·áº Cloud RTI ááááºáá±á¬ááºážááŸáá·áº ááááºáááºáá±ážááá¯áá«áááºá áááºážááẠáááá¯áá»á¯ááºááá¯ááºááŸá¯ááŸááá±á¬ ááŸááºáááºážááá°ááŒááºážá á¡ááá®áá±ážááŸááºážááŸáá·áº á¡á
á¯ááá¯ááºá
á±á¬áá·áºááŒáá·áºááŒááºáž ááŸáá·áº á¡áá¯á¶ážáááºáá¬ááá·áº á¡ááŒá¬ážá¡áá¯á¶ážáááºáá±á¬ á¡ááºá¹áá«áááºáá»á¬ážá
áœá¬ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á
á±á¬áá·áºááŒáá·áºááŸá¯ááá¯ááŒáááẠGrafana áá²á·ááá¯á·áá±á¬ open-source tools á¡áá»áá¯ážáá»áá¯ážááá¯á¡áá¯á¶ážááŒá¯áááºá
Kubernetes ááŸáá·áº ha-proxy load balancer ááᯠá¡áááºááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áááááºážáᯠáá±ážá
áá¬ááŸááá¬áááºá áááºááŸáááœáẠáááºáá»áááºááœááºáá»áŸá¬ á¡ááá·áº 2 ááá·áºááŸááá±á¬ááŒá±á¬áá·áº áá±ážááœááºážáá±á¬ááºážááŒá
áºáááºá Kubernetes áááºáá±á¬ááºááŸá¯áá»á¬ážááẠvirtual IP ááááºá
á¬áá»á¬ážáá±á«áºááœáẠáááºáááºáááºááŸááá²ááŒá
áºáááºá Amazon ááẠáááºážá cloud host ááᯠoverload áá¯ááºáá«á ááááºá
á¬ááŒá±á¬ááºážáááºááŒá
áºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠááŒááºá host á
ááºáá»á¬ážááŸá port áá»á¬ážá¡ááœáẠáááºá¡áá¯á¶ážáááŒá¯ááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠKubernetes ááŸáá·áº áá»á±á¬ááœá±á·á
áœá¬ áááºááœááºááá¯ááºááẠá¡ááœá¬ážá¡áá¬á¡ááœáẠááá¯ááá¯áááºááŒáááºáá±á¬ ááœá²á·á
ááºážáá¯á¶ááᯠáááºáá®ážááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááŸá±á·ááœáẠha-proxy ááᯠáá±áá¬áá»áá¬ážáááºá
áá±á¬ááºáááºáá±ážááœááºážáá±á¬ááºážáá áºáá¯ááá±á¬á· á¡ááŒá¬/á¡á áááºáž ááŒáá·áºáá»ááºááŸá¯áá¯ááºáá²á·á¡áá« áá±áá¬áá±á·á áºá ááá¬ááŒá±á¬ááºážáá²ááŸá¯ááœá±ááᯠáááºááá¯ááá¯á áá¯ááºááá¯ááºááá²á á¡ááŸááºááŸá¬ Kubernetes ááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž á database schema ááᯠááŒá±á¬ááºážáá²ááŒááºážááẠáááºáá²áá±á¬ á¡áá¯ááºááŒá áºááẠá ááá¯á·áá±á¬áẠáá±áá¬áá±á·á áºááᯠá¡ááºááááºáá¯ááºááŒá®áž á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠááá¯ááºááá¯ááºááœááºážáá¶ááŒááºáááºááŒá®ážáá±á¬áẠá¡áá±á¬ááºážááŸáá·áºá¡áá Ạschema ááẠáááá¬áááŒá áºááẠáá±áá»á¬ááẠááá¯á¡ááºáááºá áá±áá¬áá±á·á áºááᯠáá°áá°ááœá±ážááœá±áž áá²ááŸááºááŒá®ážáá±á¬áẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºááá¯ááºáááºá schema á¡áá áºááŒáá·áº áá¯á¶ážáá¡áá áºáá±áá¬áá±á·á áºá¡á á¯á¡áá±ážááᯠá áááºá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºáááá«áááºá á¡áááºá ááá·áºááœáẠMongo áá²á·ááá¯á· á¡á á®á¡á á¥áºáááŸááá±á¬áá±áá¬áá±á·á áºáá áºáá¯ááŸááá»áŸáẠáááºážááẠááœá±ážáá»ááºááŸá¯áá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº áááºááá¯á·áááºááŒá áºá á± ááœááºáá°áá±á¬á¡áá¯ááºááá¯ááºáá«á ááá·áºááœáẠáá±á¬ááºáááºáá±ážááœááºážáá»á¬ážáááŸááá«áá áááºáá¡á¬áá¯á¶á áá¯ááºááŸá¯á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá
ááŒá±á¬áºááŒá¬á¡áá»áá¯á· ð
áá»áœááºá¯ááºááá¯á·ááŸáá·áºá¡áá°ááŸááá±ááá·áºá¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááá±á¬ááºážáá«ážáá»á¬ážááᯠáááºááŸá
áºáááºáá«ááá¬ážá ááá¯á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá²á· á¡ááŒá±á¬ááºážá¡áá¬ááœá±ááᯠááŒáá·áºáá»ááºáá«ááá¬ážá ááŸá¬áá°ááŸá¯áá
áºáá¯ááŒá¯áá¯ááºááŒááºáž ááá¯á·ááá¯áẠáá°áááºáá»ááºážáá»á¬ážááᯠá¡ááŒá¶ááŒá¯ááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·á¡á¬áž áá¶á·ááá¯ážáá°áá®áá«á
á¡ááºá
áá¬áááºááŸá Equinix Tier IV áá±áá¬á
ááºáá¬ááœáẠDell R730xd ááẠá á á
á»á±ážáááºáá¬áááºá áá®ááŸá¬áá¬
source: www.habr.com