á
áááºáá°áá»á¬ážá¡ááœáẠá¡ááá·áºáá«ážááá·áºááŒáá·áº áááºá ááááá¯á¶áž DevOps ááœááºážáááºááᯠáááºáá±á¬ááºáá«á
DevOps ááẠá¡ááœááºááŸá±ážááœá±ážáá±á¬á áá»áááºáááºááŸá¯ááŒááºáá±á¬ááºááŒá®áž ááŒá¿áá¬ááŸááá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºáá»á¬ážá¡ááœáẠpanacea ááŒá áºáá¬áááºá ááá¯á·áá±á¬áº áááºááẠDevOps ááœáẠá¡áááºážáááºáá»áŸáá±á¬ á¡ááááᬠááá¯á¡ááºáááºá áááºážááẠDevOps ááœááºážáááºáá²á·ááá¯á·áá±á¬ ááá±á¬ááá¬ážáá»á¬ážááŸáá·áº á¡ááá·áºáá«ážááá·áºááœáẠáá áºáá¯ááᯠáááºááá¯á·áááºáá®ážááááºááᯠá¡áá»á¯á¶ážáááºáááºááŒá áºáááºá á€áááºááŸá¬ ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ áááºážááœáŸááºááá¯ááºá áá»á²á·ááœááºááá¯ááºáá±á¬ "áá«áž" áá»áŸáá¬ááŒá áºáááºá áááá¯ááºážáá²á· á ááá¯ááºáá¡á±á¬ááºá
áá»áœááºá¯ááºá DevOps ááááºáááº
Citi Group ááœáẠcloud áá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºááŒá®áž Citi á cloud á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠá
á®áá¶ááá·áºááœá²ááẠIaaS áááºá¡ááºááá®áá±ážááŸááºážááᯠáá®ááœááºáá²á·áá°ážáá±á¬áºáááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºážáááºááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá
áºá¡á±á¬áẠááŸáá·áº developer áá»á¬ážá¡ááŒá¬áž áááºáá»á±ážááŸá¯ááᯠááŒáŸáá·áºáááºáááºážááᯠá¡ááŒá²á
áááºáááºá
á¬ážáá²á·áááºá Cloud Architecture ááŸáá·áº Infrastructure á¡ááœáẠáá»áœááºá¯ááºááá¯á·á CTO Greg Lavender á០á€á
á¬á¡á¯ááºááᯠáá»áœááºá¯ááºá¡á¬áž á¡ááŒá¶ááŒá¯áá«áááºá
á¡áá±á¬ááºááẠááá¬ážááœáẠáá¯áá¹ááá®áá»á¬ážááẠáá¬ážááŸááºážá¡áá áºáá»á¬ážááᯠáááºáá»áŸááŒá¬ááŒá¬ áá¯ááºááœáŸááºáááºááᯠááŒááááº-
Amazoná Google ááŸáá·áº Netflix ááá¯á·ááẠá€áá»áŸáá±á¬ááºááᯠááŒáá·áºáá»ááºááẠáááºááá¯á· á á®áá¶ááááºážá ááŒá®ážáá±á¬á· ááá¯ážááŸááºážáá«áááº- áá°ááá¯á·áᬠááŒá®ážááŒáá·áºá á¯á¶áá¯áá®ážáá«áž DevOps ááœááºážáááºáá áºáá¯ááᯠáááºááá¯áááºáá®ážáááá²ááá¯áá¬ááᯠáá°ááá¯á· ááŸá¬ááœá±ááœá±á·ááŸááá²á·áá«áááºá
DevOps ááá¯á·áááŒá±á¬ááºážáá®á¡áá Citi ááœáẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡ááœááºááœá¬ááŒá¬ážáá«áááºá ááá¯á·áá±á¬ááºááœáẠáá»áœááºá¯ááºáá¡ááœá²á·ááẠááá°áá®áá±á¬áááºáááºážáá»ááºáá»á¬áž ááŸááá²á·áá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á·ááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬ááá¯á· ááá¯ááºááá¯ááºááá¯á·áá±á¬ááºáá±ážáá²á·áá«áááºá developer áá»á¬ážá¡á¬ážáá¯á¶ážááẠIBM WebSphere Application Server Community Edition ááá¯á¡ááŒá±áá¶áá¬ážáá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬áá áºáá¯áᬠá¡áá¯á¶ážááŒá¯ááœáá·áºááŸááááºá áá±ážááá¯á·ááẠáááŒáá¯ááºáááºáááºáž ááŒáá¯ážáááºážááŸá¯ááŒáá·áºá áá¬áá¬ááẠâááŒáá¯áá²â ááŒá®ážááá¯ááºážá áá»áœááºá¯ááºááá¯á·á¡áá»ááºážáá»ááºáž âáá¬áá»ááºá áœá¬â ááŸáááŸáá¯ááºážááá»áááºááá¯ááºážá áá»áœááºá¯ááºááá¯á·ááœáẠá ááºážáááºááŸá¯áá»á¬ážááŸáá·áºá¡áá° áá¯ááºá¡áá»á¯á¶ážáááºááŸá¯ ááá¯á¶áá±á¬ááºááŒááºážá á¡áá»áááºáá¯áẠáá°ááá¯ááºááá¯áẠáá±ážááá¯á·ááŒááºáž áá¯ááºáááºážá ááºááŸáá·áº á¡áá¯ááºá¡áá»áá¯á· ááá¯á·ááá¯áẠáá±á¬ááºááẠááá¯á¡ááºáá»ááºáá»á¬ážá á¡áá°á¡áá®ááŒáá·áº áá¯ááºáá±ážááá¯á·ááŸá¯ááᯠááŒá±áá¬áá¶ááẠáááºážáááºážáááŸááá«á
áá áºáá¯áᯠá¡áá±ážáááŒá®ážáá¯ááºááá¯á·ááá¯áááºááá¯áᬠááŸááºážáá«áááºá ááŒá®ážáá±á¬á· á áááºáá°ááá¯ááºáá° áá¯ááºáá±á¬áºááá¯ááºáááºáá áºáá±á¬ááºááᯠááœá±á·áá²á·áááºá áá»áœááºá¯ááºááá¯á·ááẠááááá¯á¶áž DevOps ááœááºážáááºááᯠá¡áá°ááᜠáááºáá®ážááẠáá¯á¶ážááŒááºáá²á·ááẠ- áá°ááẠvirtual machine ááŸáá·áº Tomcat application server ááᯠáááºáááºáá²á·ááŒá®áž Jenkins á Atlassian Jira ááŸáá·áº BitBucket ááá¯á·ááŸáá·áº áá±á«ááºážá ááºážááŒááºážá¡ááŒáẠá ááºážáááºááŸá¯áá»á¬ážááŸáá·áºá¡áá° áá¯ááºá¡áá»á¯á¶ážáááºááŸá¯ááá¯á·ááᯠáá±á¬ááºááœááºáá±ážáá²á·áá«áááºá ááá±á¬áá»ááºá¡á±á¬ááºááŒááºáá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºážáááºááᯠá¡ááŒáá·áºá¡áá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒá®áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬ááœáẠ100% á¡áá¯ááºáá»áááºáá®ážáá«ážáááŸááá¬ážááŒá®ážá á ááºážáááºááŸá¯áá»á¬ážááŒáá·áº áá¯ááºááœáŸááºážááŒá¯á¶ááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºááŒáŸáá·áºáááºááá¯ááºáᬠGit áá¬áááœá²áá áºáá¯ááᯠJira áá±ážááá¯á·ááŒááºážááŸáá·áº ááŒá¿áá¬ááŸáá·áº áá»áááºáááºááá¯ááºáááºá DevOps ááœááºážáááºááá¯áááºáá±á¬ááºááẠáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá·áºáááááá¬á¡á¬ážáá¯á¶ážáá®ážáá«ážááẠopen source ááŒá áºáááºá
á¡ááŸááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠJenkins ááá¯á·ááá¯áẠAnsible ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá·áºááŒáá·áºááœá²á·á
ááºážáá¯á¶áá»á¬ážááá¯ááẠááá»áá·áºáá¯á¶ážáá±á¬ááŒá±á¬áá·áº ááœááºážáááºááᯠááá¯ážááŸááºážá
á±áááºá áá«áá±ááá·áº áá»áœááºáá±á¬áºááá¯á· á¡á±á¬ááºááŒááºáá²á·áá«áááºá áááá¬áá á¡áá»áá¯ážáááºáá
áºáá¯áᯠááá¯ááá¯ááºáááºá
DevOps ááŸáá·áº CI/CD Chain á á¡áá»ááºážáá»á¯áẠáá±á¬áºááŒáá»ááº
DevOps ááœáẠááá°áá®áá±á¬ á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáá»á¬ážááŸááááºá Agile áá²á·ááá¯á· DevOps ááœáẠááá°áá®áá±á¬ áá¬áá¬áááºáá»á¬áž áá«áááºáááºá ááá¯á·áá±á¬áº á¡áá»á¬ážá á¯ááẠá¡á±á¬ááºáá«á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºá¡á¬áž ááá±á¬áá°ááŒáááá·áºáááº- DevOps ááẠáá±á¬á·ááºáá²ááºááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáááºážáááºáž ááá¯á·ááá¯áẠááá ááºáááºážááŒá áºááŒá®ážá áá±á¬á·ááºáá²ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá á¡ááááá°ááŸá¬ developer áá»á¬ážááŸáá·áº á¡ááŒá¬ážáááºáááºážáá»á¬ážá âáá°áá®áá±á¬ááŸáá¯ááºážá¡áá»á¬ážááœááºâ ááŸáááá·áº áááºáá»á±ážááŸá¯ááᯠáááºáá®ážáááºááŒá áºááŒá®ážá áááºáá¯ááºáááºá á¬ážááẠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážááŒá áºáááºá áá°ááá¯ááºážá áá°ááá¯á·á¡áá±á¬ááºážáá¯á¶ážáá¯ááºáááºá ááá¯á·áá±á¬ááºááŸá¯á¡ááŒáááºáá±ááá¯ážáá¬áááºá á¡áá¯ááºáá²á·áá¯ááºáá¯ááºá áœááºážá¡á¬ážááá¯ážáá¬áááºá ááá¯ááºáá»á±á¬áá®ááœá±ááŸá¯ááá¯ážáá¬áááºá
DevOps áááºáááºážáá»ááºááᯠáááºáá®ážááẠáááááá¬áá áºáá¯áááºážááŸáá·áº ááá¯á¶áá±á¬ááºáá±á¬áºáááºáž áááºážááá¯á·ááẠáááŸááááŒá Ạááá¯á¡ááºáá«áááºá áááºážááá¯á·á¡áá²á០á¡áá±ážááŒá®ážáá¯á¶ážááŸá¬ á ááºáááºáááŒáẠáá±á«ááºážá ááºááŒááºážááŸáá·áº á ááºáááºáááŒáẠáá±ážááá¯á·ááŒááºáž (CI/CD) ááŒá áºáááºá áááºáááºážáá»ááºáá áºáá¯á á®á¡ááœáẠááœááºážáááºáá»á¬ážááœáẠááá°áá®áá±á¬á¡ááá·áºáá»á¬ážááŸáááẠ(á¥ááᬠDEV (ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯)á INT (áá±á«ááºážá ááºááŸá¯)á TST (á ááºážáááºááŒááºáž)á QA (á¡áááºá¡ááœá±ážá¡á¬ááá¶áá»ááº)á UAT (á¡áá¯á¶ážááŒá¯áá°áááºáá¶ááŸá¯á ááºážáááºááŒááºáž)á STG (ááŒááºáááºááŸá¯)á PROD (á¡áá¯á¶ážááŒá¯ááŸá¯)) á ááá¯ááºááá¯ááºáá¯ááºá áá¬áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáááºá developer áá»á¬ážááẠá¡áááºá¡ááœá±ážáá¯ááºááᯠáááºáá®ážááá¯ááºáááºá áááºážááᯠáá±ážááá¯á·ááá¯ááºááŒá®áž á¡ááœááºááá° ááŒááºáááºáááºáá±á¬ááºááá¯ááºáááºá
á€ááŸááºá á¯ááœáẠopen source áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡á±á¬ááºáá±á¬áºááŒáá«áá¯á¶ááœáẠááŒáá¬ážááá·áºá¡ááá¯ááºáž á¡ááá·áºáá«ážááá·áºááŒáá·áº DevOps ááœááºážáááºáá áºáᯠáááºáá®ážáááºážááᯠáá±á¬áºááŒáá¬ážáá«áááºá
áá¯ááºáááºážá ááá¯ááºááŒáá¡á±á¬ááºá
á¡ááá·áº 1- CI/CD ááááºáá±á¬ááºáž
ááááá¯á¶ážá¡áá±áá²á· CI/CD tool áá áºáá¯ááá¯áá«áááºá Jenkins ááẠJava ááœááºáá±ážáá¬ážáá¬ážáá±á¬ MIT ááá¯ááºá ááºáááŸááá¬ážáá±á¬ open-source CI/CD tool áá áºáá¯ááŒá áºááŒá®áž DevOps ááŸá¯ááºááŸá¬ážááŸá¯ááᯠáá°ááŒáá¯ááºáá»á¬ážá á±áᬠCICD á¡ááœáẠde facto standard ááŒá áºáá¬áá«áááºá
Jenkins ááá¯áá¬áá¬áá²á ááá·áºááœáẠáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááááá¬áá»áá¯ážá á¯á¶á¡ááœáẠááŸá±á¬áºáááºáá±á¬ ááááºážáá»á¯ááºááŸá¯ panel áá áºáá¯ááŸááááºááᯠááŒááºáá±á¬ááºááŒáá·áºáá«á Jenkins áá²á·ááá¯á· CI/CD áááááá¬ááẠáá°á·áá¬áá¬áá° á¡áá¯á¶ážááááºáá±á¬áºáááºáž ááá°áá®áá±á¬áááááá¬áá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááŒáá·áº áááºážááẠá¡á áœááºážáááºáá¬áááºá
Jenkins á¡ááŒááºá á¡ááŒá¬áž open source tools áá»á¬ážá áœá¬ááŸááá«áááºá áá áºáá¯áá¯ááᯠááœá±ážáá»ááºáá«á
á€áááºááŸá¬ DevOps áá¯ááºáááºážá ááºááẠCI/CD áááááá¬áá áºáá¯ááŸáá·áº áááºááá¯á·áá°ááááºážá
ááá·áºááœáẠlocalhost ááœáẠCI/CD tool áá áºáᯠááŸááááºá ááá¯á·áá±á¬áº áá¯ááºá áá¬áá»á¬ážá áœá¬ áááŸááá±ážáá«á áá±á¬ááºáá áºááá·áºááᯠáááºááŒáá¡á±á¬ááºá
á¡ááá·áº 2: áá¬ážááŸááºážááá·áºááœááºážááŒááºážá
CI/CD tool á ááŸá±á¬áºáááºááŸá¯ááᯠá ááºážáááºááẠá¡áá±á¬ááºážáá¯á¶áž (ááŸáá·áº á¡ááœááºáá¯á¶áž) áááºážáááºážááŸá¬ á¡áááºážá¡ááŒá Ạááááºážáá»á¯ááºááŸá¯ á á®áá¶ááá·áºááœá²ááŸá¯ (SCM) áááááá¬áá áºáá¯ááŸáá·áº áá±á«ááºážá ááºážááẠááŒá áºáááºá á¡áááºááŒá±á¬áá·áºáá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯ááá¯á¡ááºááááºážá áá»áŸá±á¬ááºááœáŸá¬áááºáá±áááºááá¯áá«á áá¯á·á ááẠáááºážááᯠJavaá Pythoná C++á Goá Rubyá JavaScriptá ááá¯á·ááá¯áẠááŸááºážááŸáá·áº ááŸááºážáááºáá«áá±á¬ á¡ááŒá¬ážáá¬áá¬á áá¬ážááŒáá·áº áá±ážáá«á áááºáá±ážáá±á¬á¡áá¬ááᯠsource code áá¯áá±á«áºáááºá á¡á ááá¯ááºážááœááºá á¡áá°ážáááŒáá·áº áááºáá áºáá±á¬ááºáááºáž á¡áá¯ááºáá¯ááºáá±áá»áŸáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠlocal directory ááœáẠááááºážáááºážááá¯ááºáááºá ááá¯á·áá±á¬áº ááá±á¬áá»ááºááŒá®ážááœá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ áá°áá»á¬ážáá«áááºáá¬áááºááŸáá·áºá¡áá»áŸá áááºááẠáá¯ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáá»áŸáá±ááẠáááºážáááºážáá áºáᯠááá¯á¡ááºáá±á¬áºáááºáž á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá±á«ááºážá ááºážááá·áºá¡áá« ááœá²ááœá²ááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáá«á ááá¯á·á¡ááŒáẠáááºááẠá¡áááºáá°ážááŒááºážáá»á¬ážááá¯á¡áá¯á¶ážáááŒá¯áá² áá¯ááºááá¯ááºáá»á¬ážá¡ááœáẠáá±á¬áºáá®áá°ážááá·áºááŒááºážáááºážáááºážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážáááŒá¯áá² ááááºáá¬ážááŸááºážáá»á¬ážááᯠáá áºáááºážáá áºáá¯á¶ ááŒááºáááºááá°ááẠááá¯á¡ááºáá«áááºá
ááŒá®ážáá±á¬á· áá®ááŸá¬ SCM ááá«ááẠáááºáá±áá¬áááá¯á SCM ááẠáá¯ááºááᯠrepositories ááœáẠááááºážáááºážáá¬ážááŒá®áž áááºážááá¬ážááŸááºážáá»á¬ážááᯠá á®áá¶ááá·áºááœá²áᬠdeveloper áá»á¬ážá¡ááŒá¬áž áááºážááᯠááŸáááŸáá¯ááºážáá±ážáááºá
SCM áááááá¬áá»á¬ážá áœá¬ááŸááááºá ááá¯á·áá±á¬áº Git ááẠde facto á á¶á¡ááŒá áºááá¯ááºáááºáááºá á¡á²áá«ááᯠáá¯á¶ážááá¯á· á¡ááŒá¶áá±ážáá»ááºáá«áááºá áá«áá±ááá·áº áááŒá¬ážááœá±ážáá»ááºá áá¬ááœá± ááŸááááºá
á€áááºááŸá¬ SCM ááá¯ááá·áºááŒá®ážáá±á¬áẠDevOps ááá¯ááºááá¯ááºážááá¯á¶áááºážááá¹áá¬ááºááŒá áºáááºá
CI/CD áááááá¬ááẠáááºážááŒá áºáá¯ááºááᯠá¡ááºáá¯ááºáá¯ááºááŒááºážááŸáá·áº áá±á«ááºážáá¯ááºáá¯ááºááŒááºážááŸáá·áº á¡ááœá²á·áá°ážáá±á«ááºážáá±á¬ááºááœááºááŒááºážááá¯á·ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá áááá¯ážáá«áá°áž? ááá¯á·áá±á¬áº ááá¯á¡áá« áááºážáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ á¡áá¯á¶ážááŒá¯áá°áá»á¬áž ááŸá áºáááºáá±á¬ á€á០á¡áá¯ááºáá¯ááºáá±á¬ á¡ááºááá®áá±ážááŸááºážááᯠáááºááá¯á· ááŒá¯áá¯ááºááááºáááºážá
á¡ááá·áº 3- Automation Tool ááá¯áááºáá±á¬ááºáá«á
á¡áá¬á¡á¬ážáá¯á¶ážá ááŒá áºááá·áºááá±á¬ááºáá«áá²á áááºááẠáá¯ááºááᯠá¡ááºáá¯ááºáá¯ááºááá¯ááºááŒá®áž á¡áááºážá¡ááŒá áºááááºážáá»á¯ááºááŸá¯ááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž áááºááŸáá·áºá¡áá° áá¯ááºáá±á¬ááºááẠáá°áááºáá»ááºážáá»á¬ážááᯠááááºááŒá¬ážááá¯ááºáááºá áá«áá±ááá·áº ááá·áºááŸá¬ á¡ááºááºáááŸááá±ážáá«á áááºážááᯠáááºá¡ááºááá®áá±ážááŸááºážáá áºáá¯á¡áá±ááŒáá·áº ááŒáá·áºáá±áááºá¡ááœáẠááá¯á·ááá¯áẠáááºáááºááá¯ááºá á±ááẠá á¯á ááºážááŒá®áž áá¯ááºááá¯ážáá¬ážááááºááŒá áºáááºá (JavaScript ááá¯á·ááá¯áẠPHP áá²á·ááá¯á· áá¬áá¬ááŒááºáá¬ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážááᯠááŒá¯á á¯ááẠáááá¯á¡ááºáá«á)
build automation tool ááá¯áá¯á¶ážáá«á áááºááœá±ážáá»ááºááá·áº áááºááá·áºáááááá¬ááá¯áááá¯á áááºážááẠááŸááºáááºáá±á¬áá±á¬áºáááºááœáẠáá¯ááºááᯠá á¯á ááºážááŒá®áž á¡ááá¯á¡áá»á±á¬áẠááŸááºážáááºážááŒááºážá á á¯á ááºážááŒááºážá á ááºážáááºááŒááºážááŸáá·áº áá±ážááá¯á·ááŒááºážááá¯á· ááŒá¯áá¯ááºáááºááŒá áºáááºá Build tools áá»á¬ážááẠáá¬áá¬á áá¬ážá¡ááá¯ááºááœá²ááŒá¬ážáá±á¬áºáááºáž á¡á±á¬ááºáá« open source ááœá±ážáá»ááºá áá¬áá»á¬ážááᯠá¡áá»á¬ážá¡á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áá«áááºá
ááŒá®ážááŒáá·áºá á¯á¶áá±á¬! ááᯠCI/CD tool ááẠáááºážááá¯á·ááᯠáááºáá±á¬ááºáááºá¡ááœáẠá¡áááºážá¡ááŒá áºááááºážáá»á¯ááºááŸá¯ááœáẠbuild automation tool configuration files ááᯠááá·áºááœááºážááá¯ááºááŒáá«á áá¯á·á
áá±ááá¯á·áá±á¬ááºážáááºá áá«âáá±ááá·áºâ áá«âááœá±á¡áá¯ááºâáá¯ááºâááá¯á· áááºâááŸá¬áá²á
á¡ááá·áº 4: Web Application Server
ááá¯á·ááŒá±á¬áá·áºá ááá·áºááœáẠáá¯ááºááá¯ážáá¬ážáá±á¬ ááá¯ááºááᯠáá¯ááºáá±á¬ááºááá¯ááºááẠááá¯á·ááá¯áẠáá¯ááºáá áºááá¯ááºáááºá á¡ááºááá®áá±ážááŸááºážáá áºáá¯ááẠá¡ááŸááºááááºá¡áá¯á¶ážááá·áºáááºá¡ááœááºá áááºážááœáẠáááºáá±á¬ááºááŸá¯ ááá¯á·ááá¯áẠá¡ááºáá¬áá±á·á áºáá áºáá»áá¯ážáá»áá¯ážááŸáááááºá ááá¯á·áá±á¬áº áááºážááᯠáá áºáá±áá¬áá¬ááœáẠáá¬ážáááºááá¯á¡ááºáááºá
áááºá¡ááºááá®áá±ážááŸááºážááᯠáááºá¡ááºááá®áá±ážááŸááºážáá¬áá¬ááœáẠáááºáá¶áá»ááºážáááá¯ááºáááºá á¡ááá®áá±ážááŸááºážáá¬áá¬ááẠáááºáá¯ááºááá¯ážáá¬ážáá±á¬ áá¯áá¹áááá±áá áááºáááºááŸá¯ á¡ááºáá¬áá±á·á áºáá»á¬ážááŸáá·áº áááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠsocket áá áºáá¯áá±á«áºááœáẠáá±á¬áºáá¯ááºááá¯ááºááá·áº áááºáááºážáá»ááºááᯠáá¶á·ááá¯ážáá±ážáááºá á¡ááá®áá±ážááŸááºážáá¬áá¬ááᯠááá·áºááœááºážááẠáááºááẠHTTP áá¬áá¬ááŸáá·áº á¡ááŒá¬ážáááºáááºážáá»ááºá¡áááºážááẠ(á¥ááá¬á ááááá ááºáá áºáá¯) ááá¯á¡ááºáá«áááºá á¡áá¯áá±á¬áá±á¬áááºáá±á¬á· áááºááœá¬ážáááºážáá²á· áá«ááœá±á¡á¬ážáá¯á¶ážááᯠááá¯ááºááœááºááŒá±ááŸááºážáá±áááºááá¯á· áááºáá±á¬ááºááá¯ááºáá¡á±á¬áẠ(á¡á±á¬ááºááŸá¬ ááœááºááááºáá¬ááœá±á¡ááŒá±á¬ááºáž ááŒá±á¬áá±ááá·áº)á
ááœáá·áºáá¬ážáá±á¬ áááºá¡ááºááá®áá±ážááŸááºážáá¬áá¬áá»á¬ážá áœá¬ááŸááááºá
áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá¯ááºáá¯ááºáá¯áá®ážáá«ážááŒá áºáá±á¬ DevOps ááœááºážáááºáá áºáᯠááŸáááŸáá·áºááŒá®ážááŒá áºáááºá á¡áá¯ááºáá±á¬ááºážá
áá°á¡áá áááºááẠá€áá±áá¬ááœáẠáááºááá¯ááºááŒá®ážá ááá¯á·áá±á¬áẠáááºážááᯠáááºááá¯ááºááá¯áẠááá¯ááºááœááºááá¯ááºáááºá ááá¯á·áá±á¬áº áá¯ááºá á¡áááºá¡ááœá±ážááŸáá·áº áááºáááºá ááŒá±á¬ááá¯ááá»áá¯ážáááºáá«áááºá
á¡ááá·áº 5- á ááºážáááºááœáŸááºážááŒá¯á¶ááŸá¯
á ááºážáááºááŒááºážááẠá¡áá»áááºááŸáá·áºááŒáá¯ážá á¬ážá¡á¬ážáá¯ááºááŸá¯áá»á¬ážá áœá¬áá°ááá±á¬áºáááºáž áá¯á¶ážá áœá²áá°áá»á¬ážá áááºáá»á±áááºá á±ááẠáá¯ááºááá¯áá»ááºáá»ááºážááŸá¬ááœá±ááŒá®áž áá¯ááºááᯠááŒáŸáá·áºáááºááŒááºážá ááá¯áá±á¬ááºážáá«áááºá á€áááºááœááºáá»ááºá¡ááœááºá áá¯ááºááá¯á ááºážáááºáá¯á¶áá¬áá áááºážááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºáááºážááá¯áááºáž á¡ááŒá¶áá±ážááá·áº open tools áá»á¬ážá áœá¬ááŸááá«áááºá CI/CD áááááá¬á¡áá»á¬ážá á¯ááẠá€áááááá¬áá»á¬ážááœáẠááááºááá¯ážááá¯ááºááŒá®áž áá¯ááºáááºážá ááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
á ááºážáááºááŒááºážááᯠá¡ááá¯ááºážááŸá áºááá¯ááºáž ááœá²ááŒá¬ážáá¬ážáááº- á á¬áá±ážááœá²áá»á¬áž áá±ážáá¬ážááŒááºážááŸáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá¡ááœáẠá ááºážáááºááŒááºáž áá°áá±á¬ááºáá»á¬ážááŸáá·áº áá¯ááºá¡áááºá¡ááœá±ážááᯠááŒáŸáá·áºáááºááẠá¡ááááºá¡ááŒáœááºáá«ááá·áº áááááá¬áá»á¬ážá
á ááºážáááºááŒááºážáá±á¬ááºáá»á¬áž
á¡áááºá¡ááœá±áž á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážáá«áá±á¬ áááááá¬áá»á¬áž
C++ ááŸáá·áº C# ááá¯á·ááẠáá°ááá¯ááºááŒá áºááẠ(GCC ááẠopen source ááŒá áºáá±á¬áºáááºáž) ááŒá áºáá±á¬ááŒá±á¬áá·áº á€áááááá¬áá»á¬ážááŸáá·áº framework á¡áá»á¬ážá á¯ááᯠJavaá Python ááŸáá·áº JavaScript á¡ááœáẠáá±ážáá¬ážáá¬ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠá ááºážáááºááŸá¯ááá¯ááºáᬠáááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®áž ááᯠDevOps ááá¯ááºááá¯ááºážááẠáááºáááºážá á¬áá¡á ááœáẠáá¯á¶ááŸáá·áºáá°ááá·áºáááºá
áá±á¬ááºáááºá¡ááá·áºáá»á¬áž
кПМÑейМеÑÑ
áá»áœááºáá±á¬áºá¡áááºáááŒá±á¬áá²á·áááá¯áá²á á¡ááºááá®áá±ážááŸááºážáá¬áá¬ááᯠvirtual machine ááá¯á·ááá¯áẠáá¬áá¬áá áºáá¯áá²ááŸá¬ áááºáá¶áá¬ážááá¯ááºáá±ááá·áº containers ááœá±á ááá¯áá°ááŒáá¯ááºáá»á¬ážáá«áááºá
ááœááºááááºáá¬áá»á¬ážá¡ááœááºá á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬áž ááŸááá±á¬áºáááºáž Docker ááŸáá·áº Kubernetes ááᯠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº ááŸá¬áá°ááŒáááºá
Docker ááŸáá·áº Kubernetes á¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážáá»á¬ážááᯠááœáẠáááºááŸá¯áá«á
Docker ááá¯áá¬áá¬áá²á Docker ááááºááẠKubernetes ááá¯áᬠáá¬áá² Kubernetes á¡á ááŸ
Middleware á¡ááá¯á¡áá»á±á¬ááºá áá áºáá¯á¶ážáááááá¬áá»á¬áž
áá»áœááºá¯ááºááá¯á·á DevOps ááœááºážáááºááẠáá°ážáá±á«ááºážáááºáá±á¬ááºááŸá¯ááŸáá·áº á¡ááºááá®áá±ážááŸááºážáá áºáá¯áá±ážááá¯á·ááŒááºážá¡áá±á«áº á¡á¬áá¯á¶á áá¯ááºáá¬ážáá±á¬áºáááºáž DevOps áááááá¬áá»á¬ážááŒáá·áº áááºáá¯ááºáá±á¬ááºááá¯ááºááá·áº á¡ááŒá¬ážá áááºáááºá á¬ážááœááºá¡áá¬áá»á¬ážááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Middleware á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážáááááá¬áá»á¬ážáá¯áááºážááááŒááá·áº Code (IaC) áááááá¬áá»á¬ážá¡ááŒá Ạá¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á á€áááááá¬áá»á¬ážááẠá¡áááºáááºážáá±á¬á·ááºáá²á¡ááœáẠáááºáááºááŸá¯á á á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº á¡ááŒá¬ážáá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠáá°áá®áá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡ááá¯á¡áá»á±á¬ááºá áá áºáá°ážááºáá áºáá¯ááẠá¡ááá®áá±ážááŸááºážáá»á¬áž (áááºá¡ááºááá®áá±ážááŸááºážáá¬áá¬á áá±áá¬áá±á·á áºá á á±á¬áá·áºááŒáá·áºáá±ážáááááá¬áá»á¬áž) ááᯠááŸááºáááºáá±á¬ááœá²á·á ááºážáá¯á¶áá»á¬ážááŒáá·áº áá°ááá¯ááºááŒá®áž áááºážááá¯á·ááᯠá¡ááá®áá±ážááŸááºážáá¬áá¬ááá¯á· ááœááºážááá¯á·ááá¯ááºáááºá
á€áááºááŸá¬ open middleware automation tools áá»á¬ážá¡ááœáẠááœá±ážáá»ááºá áá¬á¡áá»áá¯á·ááŒá áºáááºá
áá±á¬ááºážáá«ážáá»á¬ážááœááºá¡áá±ážá
áááº
Ansible á áááºááŒááºážáááºážááœáŸáẠAnsible ááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºá áá áºááŒáá·áº ááŒáá·áºáá»ááºááŒááºáž áá»á°áá¬áá»á¬áž ááááºáááºáž 5 Configuration Management Tools
á¡áá¯áá¬áá²
áá«á áá±áá²áá±á¬ááºáá²á· ááááºáá»á¬ážáá²á DevOps ááœááºážáááºááẠááá¯ááá¯áá¯ááºáá±á¬ááºááá¯ááºáááºá CI/CD áááááá¬ááŒáá·áº á
áááºááŒá®áž ááá·áºá¡áá¯ááºááá¯ááá¯ááœááºáá°á
á±ááẠáááºá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºááá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážááᯠááŒáá·áºááŸá¯áá«á á¡ááŒá±á¬ááºážááá±á·áá«ááŸáá·áº
á€áááºááŸá¬ á áááºáá°áá»á¬ážá¡ááœáẠDevOps áá±á¬ááºážáá«ážáá±á¬ááºážá¡áá»áá¯á·ááŒá áºáááºá
DevOps ááá¯áá¬áá¬áá² DevOps Developer á áá»áœááºážáá»ááºááŸá¯ 5 áᯠáá°ááá¯ááºážá¡ááœáẠDevOps DevOps ááœáẠááŒáá¯áááºááá·áºááŸááºážááá¯ááºáá±á¬ ááá¯ááºážááŒá¬ážá áááºááŒá¬áá»ááºáá»á¬ážá¡ááŒá±á¬ááºáž áááá«ááºáž
Open agile tools áá»á¬ážááŸáá·áºá¡áá° DevOps ááá¯áááºáž áá±á«ááºážá ááºááá¯ááºáááº-
ááœááºáááºááŒááºážáá°ááẠá¡áááºáááºážá ááœááºááẠáá»áœááºážáá»ááºááẠá¡ááá·áº á ááá·áº
source: www.habr.com