áááºááẠDevOps ááŸá¡áá áºááŒá áºáá«áá áááºáááááá¯á¶ážááá¯ááºááá¯ááºážááá¯áááºáá®ážááẠá€á¡ááá·áºáá«ážááá·áºáááºážááœáŸááºááá¯ááŒáá·áºáá«á
DevOps ááẠááŸá±ážááœá±ážáá±á¬á ááœá²ááœá²áá±áá±á¬ ááá¯á·ááá¯áẠáá»ááºá á®ážáá±áá±á¬ áá±á¬á·ááºáá²ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáá¯ááºáááºážá ááºáá»á¬ážááᯠááŒá¯ááŒááºáááºá¡ááœáẠá á¶ááŒá±ááŸááºážáá»ááºááŒá áºáá¬áááºá ááŒá¿áá¬ááŸá¬ áááºááẠDevOps ááᯠá¡áá áºááŒá áºááŒá®áž áááºááá·áºáá±áá¬ááœáẠá áááºááááºááᯠááááá«áá áááºááẠá€áááºážááá¬áá»á¬ážááᯠáá¬ážáááºááŸá¯ áááºážáá²á·ááœá¬ážááá¯ááºáááºá á€áá±á¬ááºážáá«ážááœáẠDevOps ááá¯ááºááá¯ááºážá á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºááᯠááœá±ážááœá±ážáááºááŒá áºááŒá®áž áá áºáá¯áááºáá®ážáááºá¡ááœáẠá¡ááá·áºáá«ážááá·áº ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááá¯áááºáž áá±ážáááºááŒá áºáá«áááºá á€áááºáááºážá á¬ááẠáááŒáá·áºá á¯á¶áá±á¬áºáááºážá áááºáááá®ážááá¯á áááºáááºááŸáá·áº á¡áá¬áááºááœáẠáááºáá¡ááááá¬ááᯠááá¯ážáá»á²á·ááẠá¡ááŒá±áá¶á¡á¯ááºááŒá áºáá áºáá¯áá±ážááá·áºáááºá áá«áá±ááá·áº áááá¯ááºážáá²á· á ááá¯ááºáá¡á±á¬ááºá
áá»áœááºá¯ááºá DevOps ááá®ážá ááº
Citi á cloud á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠá
á®áá¶ááá·áºááœá²áááºá¡ááœáẠInfrastructure-as-a-Service (IaaS) áááºá¡ááºááá®áá±ážááŸááºážááᯠáá®ááœááºáá±ááá·áº Citi Group cloud á¡ááœá²á·ááœáẠááááºá áá¯ááºáá±á¬ááºáá²á·áá°ážáá±á¬áºáááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá
ááºááᯠááá¯ááá¯áááá±á¬ááºá
á±áááºááŸáá·áº á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ áááºáá»á±ážááŸá¯ááŒá±á¬ááºážáá²ááŸá¯ááᯠáááºááá¯á·áá±á¬ááºááŒááºážááááºááᯠá¡ááŒá²á
áááºáááºá
á¬ážáá²á·áááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááœá²á·á Citi ááŸá Cloud Architecture ááŸáá·áº Infrastructure á CTO á០Greg Lavender á០á¡ááŒá¶ááŒá¯áá¬ážáá±á¬ á
á¬á¡á¯ááºáá
áºá¡á¯ááºááœáẠá¡ááŒá±ááá¯ááœá±á·áá²á·áááºá á
á¬á¡á¯ááºááᯠThe Phoenix Project ááá¯á·áá±á«áºáá«áááºá
á á¬á¡á¯ááºááá±á¬ááºáááºááŸáááá¬ážááœáẠááá°áá®áá±á¬áá¯áá¹ááá®áá»á¬ážááẠáááºážááá¯á·áá áá áºáá»á¬ážááᯠáá¯ááºááœáŸááºááá·áºáááºáááºážáá»ááºááœáẠáááºáá»áŸááŒá¬ááŒá¬á¡áá¯á¶ážááŒá¯áááºááᯠááŒááááº-
Amazon: áá
áºáááºáá»áŸáẠ23
Google: áá
áºáááºáá»áŸáẠ5
Netflix: áá
áºáááºáá»áŸáẠ500
Facebook: áá
áºáá±á·áá
áºááŒáááº
Twitter - áá
áºáááºáá»áŸáẠá ááŒáááº
áá¯á¶ááŸááºáá¯áá¹ááá®- á ááá
áºááŒáááº
Amazoná Google ááŸáá·áº Netflix ááŒáááºááŸá¯ááºážáá»á¬ážááẠáááºááá¯á·ááŒá
áºááá¯ááºááááºážá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº á€áá¯áá¹ááá®áá»á¬ážááẠááŒá®ážááŒáá·áºá
á¯á¶áá¯áá®ážáá«áž DevOps ááá¯ááºááá¯ááºážááᯠáááºááá¯á·áááºáá®ážááááºááᯠá¡ááŒá±ááŸá¬áá²á·ááŒáá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá
Citi ááœáẠDevOps ááᯠá¡áá±á¬ááºá¡áááºááá±á¬áºááá»ááºáž áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá¬ááŸáá·áºáá±ážáá±áá«áááºá ááá¯á¡áá»áááºáá áá»áœááºá¯ááºáá¡ááœá²á·ááẠááá°áá®áá±á¬áááºáááºážáá»ááºáá»á¬áž ááŸááá²á·áá±á¬áºáááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬ááœáẠááŒáá·áºáá»ááºááŒááºážááẠáá¯á¶ážááááºá
áœá²á
á¬á¡á¯ááºááŒá
áºáááºá developer áá»á¬ážá¡á¬ážáá¯á¶ážááẠIBM WebSphere Application Server Community Edition ááá¯á¡ááŒá±áá¶áá¬ážáá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬áá
áºáá¯áᬠá¡áá¯á¶ážááŒá¯ááœáá·áºááŸááááºá ááŒá¿áá¬ááŸá¬ á¡áá¯á¶ážááŒá¯áá°á¡áá»á¬ážá¡ááŒá¬ážááᯠáá
áºáá»áááºáááºážááœáẠá¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá
á¬ážááá·áºá¡áá«ááá¯ááºáž áá¬áá¬ááᯠááááºááœá¬ážááá·áºá¡ááœááºááŒá±á¬áá·áº developer áá»á¬ážááẠáááºážááá¯á·á áááºááœááºáá»ááºáá»á¬ážááᯠá¡áá»ááºážáá»ááºáž áááºááœááºááááºááŒá
áºááŒá®ážá áááºážááŸá¬ á¡ááœááºáá¬áá»ááºáá«áááºá ááá¯á·á¡ááŒááºá á¡ááá·áºáááá·áºáá±á¬ á
ááºážáááºáá¯ááºá¡áá»á¯á¶ážáááºááŸá¯á áááºáá²ááŒááºážáááºážáá±á¬ áááºá
áœá²á¡áá¯á¶ážááŒá¯ááŸá¯ áá¯ááºáááºážá
ááºáá»á¬ážááŸáá·áº áá®ážááŒá¬ážáá¯ááºáááºážáá¬ááẠááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áá°áá¬ááºáááºážááŸáá·áº áááºá
ááºáá±ááá·áº áá¯ááºááŒáá·áºáá»ááºááŸá¯ááᯠááŒá±áá¬áá¶ááẠáá
áœááºážáá±á¬ááºááá¯ááºáá±á¬ ááŒá¿áá¬áá»á¬áž ááŸááá²á·áááºá
áá áºáá¯áá¯áá¯ááºááááºááá¯áᬠááá±á¬áá±á«ááºááŒá®áž á áááºáá°ááá¯ááºáá° áá¯ááºáá±á¬áºááá¯ááºáááºáá áºáá±á¬ááºááᯠááŸá¬ááœá±á·áá²á·áááºá áá»áœááºá¯ááºááá¯á·ááẠáááŠáž DevOps ááá¯ááºááá¯ááºážááᯠáááºáá±á¬ááºáá¬ááœáẠáá°ážáá±á«ááºážááẠáá¯á¶ážááŒááºáá²á·ááẠ- áá°ááẠJenkins ááœáẠá¡áá¯ááºáá¯ááºá ááºá Atlassian Jira ááŸáá·áº BitBucket áá±á«ááºážá ááºáá¬ážááá·áº Tomcat virtual machine ááŸáá·áº application server áá áºáá¯ááᯠáááºáá±á¬ááºáá²á·ááŒá®áž á ááºážáááºáá¯ááºá¡áá»á¯á¶ážáááºááŸá¯ááœáẠáá¯ááºáá±á¬ááºáá²á·áááºá á€áá±ážááœááºááá±á¬áá»ááºááẠá¡ááœááºá¡á±á¬ááºááŒááºáá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáááºážá ááºáá»á¬ážá áœá¬ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒá®ážá áá»áœááºá¯ááºááá¯á·áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¬ááœáẠ100% á¡áá¯ááºáá»áááºáá®ážáá«ážáááŸááá¬ážááŒá®ážá áá¯ááºáááŒá±áá¬áá¶ááŒááºážááŸáá·áº ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬á ááºážáááºááŸá¯ááœáŸááºážááŒá¯á¶ááŸá¯ááᯠáá¶á·ááá¯ážáá±ážáᬠGit á¡ááá¯ááºážá¡áááºáá»á¬ážááᯠJira ááŒá¿áá¬áá»á¬áž ááá¯á·ááá¯áẠááŒáá·áºáá»ááºááŸá¯áá»á¬ážááá¯á· áá»áááºáááºááá¯ááºááá·áºá áœááºážáááºááᯠááá·áºááœááºážáá¬ážáááºá áá»áœááºá¯ááºááá¯á·á DevOps ááá¯ááºááá¯ááºážááᯠáááºáá±á¬ááºáá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áááááá¬á¡áá»á¬ážá á¯ááŸá¬ open source ááŒá áºáááºá
áá»áœááºá¯ááºááá¯á·á DevOps ááá¯ááºááá¯ááºážááẠáááºáá»áŸááá¯ážááŸááºážáááºááᯠááᯠáá»áœááºá¯ááºáá¬ážáááºáá«ááŒá®- áá»áœááºá¯ááºááá¯á·ááẠJenkins ááá¯ááºáá»á¬áž ááá¯á·ááá¯áẠAnsible áá²á·ááá¯á·áá±á¬ ááá¯ážáá»á²á·ááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá²á·áá«á ááá¯á·áá±á¬áºá á€ááá¯ážááŸááºážáá±á¬ááá¯ááºááá¯ááºážááẠPareto áááá¬á (80/20 á ááºážáá»ááºážáá¯áááºážáá±á«áºáááº) ááŒá±á¬áá·áºááŒá áºáá±á¬ááºážááŒá áºááá¯ááºáááºá
DevOps ááŸáá·áº CI/CD ááá¯ááºááá¯ááºážá¡ááŒá±á¬ááºáž á¡áá»ááºážáá»á¯áẠááááºáááº
"DevOps ááá¯áᬠáá¬áá²" áᯠáá°áá»á¬ážá áœá¬ááᯠáá±ážáá«áá áááºááẠááá°áá®áá±á¬ á¡ááŒá±áá»á¬ážá áœá¬ááᯠáááŸáááá¯ááºáááºá Agile áá²á·ááá¯á· DevOps ááẠááá°áá®áá±á¬ ááá¬áááºáá»á¬ážá áœá¬ááᯠáá»á²á·ááœááºáá¬áá²á·áá±á¬áºáááºáž áá°á¡áá»á¬ážá á¯á á¡áá»ááºá¡áá»áá¯á·ááᯠááá±á¬áá°ááŒáááá·áºáááº- DevOps ááẠáá±á¬á·ááºáá²ááºááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡áá±á·á¡áá»áá·áºáá áºáᯠááá¯á·ááá¯áẠáá±á¬á·ááºáá²ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááá ááºáááºáž (SDLC) ááẠáá±á¬á·ááºáá²áá±ážááœá²áá°ááŸáá·áº ááááºááá¯ááºááá·áº áááºáá»á±ážááŸá¯ááᯠááŒá±á¬ááºážáá²áá±ááá·áº á¡áááááá±á¬ááá¬ážáá áºáá¯ááŒá áºáááºá developer áá»á¬ážááẠááá¯áááºáááºážáá»ááºááœáẠáááºááŸááááº-
ááááºá ááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºáá²á·áá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠá¡ááá¯á¡áá»á±á¬ááºááŒá
áºáá²á·áááºá
áá°ááá¯ááºážá áá°ááá¯á·á¡áá±á¬ááºážáá¯á¶ážáá¯ááºáááºá
áááºááŸááºáá¬ááá
áºáá¯á¡ááœááºáž á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡áá±á¡ááœáẠááá¯ážáá¬ááŒááºážá ááŒááºáááºážááŸá¯ááá¯ážáá¬;
ááá¯ážáááºááŒá±á¬ááºážáá²ááœááºááŸá¯á
ááŸááºáááºáá±á¬áá±á¬á·ááºáá²ááºáááááá¬áá»á¬ážááŸáááŒááºážááẠDevOps áááºáááºážáá»ááºááá¯áááºáá®ážááẠáááºááá¯á¡ááºááá·áºáá áºáá¯áááºážáá±á¬á¡áá¬ááá¯ááºáá±á¬áºáááºáž á¡áá»áá¯á·áá±á¬áááááá¬áá»á¬ážááẠáááŸááááŒá áºááá¯á¡ááºáá«áááºá á¡ááá áááááá¬ááŸá¬ á ááºáááºáááŒáẠáá±á«ááºážá ááºááŒááºážááŸáá·áº á ááºáááºáááŒáẠááŒáá·áºáá»ááºááŒááºáž (CI/CD) ááŒá áºáááºá á€ááá¯ááºááá¯ááºážááœááºá áááºáááºážáá»ááºáá»á¬ážááœáẠááá°áá®áá±á¬á¡ááá·áºáá»á¬áž (á¥ááᬠDEVá INTá TSTá QAá UATá STGá PROD)á áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá áœá¬ááẠá¡ááá¯á¡áá»á±á¬ááºááŒá áºááŒá®ážá áá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠá¡áááºá¡ááœá±ážááŒáá·áºáá¯ááºáá»á¬ážáá±ážáá¬ážááá¯ááºááŒá®áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºáááºááŸá¯ááŸáá·áº ááŒáá·áºáá¬ážáá±á¬á¡áá¯á¶ážáá»ááŸá¯ááŸá¯ááºážáá»á¬ážááᯠáááŸáááá¯ááºáá«áááºá
á€áá±á¬ááºážáá«ážááẠopen source áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡á±á¬ááºáá«áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž DevOps ááá¯ááºááá¯ááºážáááºáá®ážááẠá¡ááá·áºáá«ážááá·áº áá»ááºážáááºáá¯á¶ááᯠáá±á¬áºááŒáá¬ážáá«áááºá
á¡ááá·áº 1- CI/CD áááºážáááºážáá»á¬áž
áááºááááá¯á¶ážááá¯á¡ááºáááºááŸá¬ CI/CD tool áá áºáá¯ááŒá áºáááºá Java ááá¯á¡ááŒá±áá¶á MIT ááá¯ááºá ááºá¡á±á¬ááºááœááºááá¯ááºá ááºááá¬ážáá±á¬ open source tool ááŒá áºáá±á¬ Jenkins ááẠDevOps ááá¯áá°ááŒáá¯ááºáá»á¬ážááŒá®áž de facto á á¶ááŒá áºáá¬áá²á·áááºá
áá«ááᯠJenkins ááá¯áá¬áá¬áá²á áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááááá¬áá»áá¯ážá á¯á¶ááᯠá áá¬ážááŒá±á¬ááá¯ááºááŒá®áž á á¯á ááºážááá¯ááºááá·áº ááŸá±á¬áºáááºáá±á¬ á ááŒá¬áá ᬠá¡áá±ážááááºážááá¯ááºáá áºáá»áá¯ážá¡ááŒá Ạáá°ááá«á Jenkins áá²á·ááá¯á· CI/CD áááááá¬ááẠá¡áá¯á¶ážááááºáá±á¬áºáááºáž ááá°áá®áá±á¬áááááá¬áá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááẠááá¯ááá¯á¡á¬ážáá±á¬ááºážáá¬áááºá
Jenkins ááẠáááºá DevOps ááá¯ááºááá¯ááºážááᯠáááºáá±á¬ááºáááºá¡ááœáẠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ open source CI/CD áááááá¬áá»á¬ážá áœá¬áá²á០áá áºáá¯áá»áŸáá¬ááŒá áºáááºá
Jenkins- Creative Commons ááŸáá·áº MIT
Travis CI: MIT
Cruise Control-BSD
Buildbot- GPL
Apache Gump- Apache 2.0
Cabie: GNU
á€áááºááŸá¬ DevOps áá¯ááºáááºážá ááºáá»á¬ážááᯠCI/CD áááááá¬ááŒáá·áº ááŒáá·áºááááº-
ááá·áºááœáẠááá·áº localhost ááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ CI/CD tool áá áºáá¯ááŸááá±á¬áºáááºáž áá±á¬áá±á¬áááºááœáẠáááºáá¯ááºáá±á¬ááºááá¯ááºááŸá¯áá»á¬ážá áœá¬áááŸááá«á DevOps ááá®ážááá±á¬ááºáááºá¡ááá·áºááá¯á· áááºááœá¬ážááŒáá«á áá¯á·á
á¡ááá·áº 2- á¡áááºážá¡ááŒá áºááááºážáá»á¯ááºááŸá¯á áá áºáá»á¬ážááᯠá á®áá¶ááá·áºááœá²áá«á
áááºá CI/CD áááááá¬ááẠáááºážá ááŸá±á¬áºáááºááŸá¯ááᯠáá¯ááºááá¯ááºááŒá±á¬ááºáž á¡áááºááŒá¯ááẠá¡áá±á¬ááºážáá¯á¶áž (á¡ááœááºáá¯á¶áž) áááºážáááºážááŸá¬ á¡áááºážá¡ááŒá áºáá¯ááºááááºážáá»á¯ááºááŸá¯ (SCM) áááááá¬áá áºáá¯ááŸáá·áº áá±á«ááºážá ááºááŒááºážááŒá áºáááºá á¡áááºááŒá±á¬áá·áºá¡áááºážá¡ááŒá áºááááºážáá»á¯ááºááŸá¯ááá¯á¡ááºááááºážá áááºááẠá¡ááºááá®áá±ážááŸááºážáá áºáá¯ááᯠáá®ááœááºáá±áááºááá¯áá«á áá¯á·á áááºá¡ááá®áá±ážááŸááºážáá áºáá¯áááºáá®ážááá·áºá¡áá«ááá¯ááºáž áááºááẠáááá¯ááááºáá±ážáá¬ážáá±ááŒá®áž Javaá Pythoná C++á Goá Rubyá JavaScript ááá¯á·ááá¯áẠáááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá±á«ááºáž áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠáááºá¡áá¯á¶ážááŒá¯áááºááŒá áºá á± á¡áá±ážáááŒá®ážáá«á áááºáá±ážáá²á·áá¯ááºááᯠsource code ááá¯á·áá±á«áºáá«áááºá á¡á ááá¯ááºážááœááºá á¡áá°ážáááŒáá·áº áááºáá áºáá±á¬ááºáááºáž á¡áá¯ááºáá¯ááºááá·áºá¡áá«á á¡áá¬á¡á¬ážáá¯á¶ážááᯠlocal directory ááœáẠááá·áºáá¬ážááẠááŒá áºááá¯ááºáááºá ááá¯á·áá±á¬áº ááá±á¬áá»ááºááẠááá¯ááá¯ááŒá®ážáá¬ážáá¬áᬠá¡ááŒá¬ážáá°áá»á¬ážááᯠáá°ážáá±á«ááºážáá¯ááºáá±á¬ááºááẠááááºáá±á«áºáá¬áááºááŸáá·áºá¡áá»áŸá ááŒá¯ááŒááºááœááºážáá¶ááŸá¯áá»á¬ážááᯠáááááá±á¬ááºáá±á¬áẠáá»áŸáá±ááŒááºážááŒáá·áº áááááá¹ááá»á¬ážááᯠáá¬ááœááºááẠáááºážáááºážáá áºáᯠááá¯á¡ááºáá«áááºá á¡áááºáá»á¬ážáááºáá®ážááŒááºážááŸáá·áº áááºážááá¯á·áá²ááá¯á· áá°ážáá°ááŒááºáž/áá°ážááá·áºááŒááºážááẠá¡áá¯á¶ážáááŒá¯áá±á¬á·áá±á¬ááŒá±á¬áá·áº ááááºáá¬ážááŸááºážáá»á¬ážááᯠááŒááºáááºááá°ááẠáááºážáááºážáá áºáá¯áááºáž ááá¯á¡ááºáá«áááºá ááẠ(ááŸáá·áº ááá·áºá¡áááºážáá±á¬áºáá»á¬áž) ááẠááá¯áá±á¬ááºážáá±á¬á¡áá¬áá áºáᯠááá¯á¡ááºáá«áááºá
á€áá±áá¬ááœáẠá¡áááºážá¡ááŒá áºáá¯ááºááááºážáá»á¯ááºááŸá¯ááẠáááŸááááŒá áºááá¯á¡ááºáá¯áá®ážáá«ážááŒá áºáá¬áááºá á€áááááá¬ááẠááá·áºáá¯ááºááᯠááá¯ááŸá±á¬ááºáá¯á¶áá»á¬ážááœáẠááááºážáááºážáá¬ážááŒá®áž áá¬ážááŸááºážáá»á¬ážááᯠááŒá±áá¬áá¶áᬠááá±á¬áá»ááºáá«áááºáá°áá»á¬ážá á¡áá¯ááºáá»á¬ážááᯠááŸáááŸáá¯ááºážáá±ážáááºá
á¡áááºážá¡ááŒá áºááááºážáá»á¯ááºáá±ážáááááá¬áá»á¬ážá áœá¬ááŸááá±á¬áºáááºážá Git áááºá á¶ááŒá áºááŒá®ážá ááŸááºáá«áááºá áááºááŸá áºáááºáá«á á¡ááŒá¬áž open source ááœá±ážáá»ááºá áá¬áá»á¬áž ááŸááá±á¬áºáááºáž Git ááᯠá¡áá¯á¶ážááŒá¯ááẠá¡áá°ážá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
Git- GPLv2 ááŸáá·áº LGPL v2.1
á¡áá»ááºá¡ááŸá±á¬áá·áº- Apache 2.0
Concurrent Versions System (CVS): GNU
Vesta- LGPL
Mercurial- GNU GPL v2+
á¡áááºážá¡ááŒá áºáá¯ááºááááºážáá»á¯ááºááŸá¯áá»á¬áž áá±á«ááºážááá·áºááŒááºážááŒáá·áº DevOps ááá¯ááºááá¯ááºážááẠá¡ááœááºá¡ááŒááºááŒá áºáááºá
CI/CD áááááá¬áá áºáá¯ááẠááŒááºáááºáá¯á¶ážáááºááŒááºážá á¡áááºážá¡ááŒá áºáá¯ááºááá°ááŒááºážááŸáá·áº á¡ááœá²á·áááºáá»á¬ážá¡ááŒá¬áž áá°ážáá±á«ááºážáá¯ááºáá±á¬ááºááŒááºážáá¯ááºáááºážá ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáá±ážááá¯ááºáá«áááºá áááá¯ážáá«áá°áž? ááá¯á·áá±á¬áº áááºážáá±á«ááºážáá»á¬ážá áœá¬áá±á¬áá°áá»á¬ážá áááºážááá¯á¡áá¯á¶ážááŒá¯á áááºááá¯ážáá¬ážááá¯ááºá á±ááẠáááºážá¡á¬áž á¡áá¯ááºáá¯ááºáá±á¬ááºááá·áºá¡ááºááºáá áºáá¯á¡ááŒá Ạáááºáááºááá¯á·ááŒá±á¬ááºážáá²áááºáááºážá
á¡ááá·áº 3- Build Automation Tool áá áºáá¯áááºáá®ážáá«á
ááá¯ááºáááº! áááºááẠáá¯ááºááᯠááŒááºáááºáá¯á¶ážáááºááŒá®áž á¡áááºážá¡ááŒá áºááááºážáá»á¯ááºááŸá¯ááᯠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž ááŒá¯áá¯ááºááá¯ááºááŒá®áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœáẠáá°ážáá±á«ááºážáá±á¬ááºááœááºááẠááá·áºáá°áááºáá»ááºážáá»á¬ážááᯠááááºááŒá¬ážááá¯ááºáááºá ááá¯á·áá±á¬áº áááºááẠá¡ááºááá®áá±ážááŸááºážááᯠááááºáá®ážááá±ážáá«á áááºá¡ááºááá®áá±ážááŸááºážáá áºáá¯ááŒá¯áá¯ááºáááºá áááºážááᯠááŒáá·áºáá»ááºááá¯ááºáá±á¬ batch áá±á¬áºáááºááŒáá·áº á á¯á ááºážááŒá®áž áá¯ááºááá¯ážáááẠááá¯á·ááá¯áẠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ ááá¯ááºáá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºááá«áááºá (JavaScript ááá¯á·ááá¯áẠPHP áá²á·ááá¯á· áá¬áá¬ááŒááºáá¬ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážááᯠááŒá¯á á¯áááºáááá¯á¡ááºááŒá±á¬ááºáž áááááŒá¯áá«á)
build automation tool ááá¯áá¯á¶ážáá«á áááºááá·áº automation tool ááᯠáááºá¡áá¯á¶ážááŒá¯ááẠáá¯á¶ážááŒááºáááºááŒá áºá á± áááºážááá¯á·á¡á¬ážáá¯á¶ážááœáẠáá°áá®áá±á¬ áááºážááá¯ááºááŸááá«áááº- á¡áááºážá¡ááŒá áºáá¯ááºááᯠááá¯áá»ááºáá±á¬áá¯á¶á á¶á¡ááŒá Ạáááºáá®ážáᬠááá·áºááŸááºážáá±ážá á á¯á ááºážááŸá¯á á ááºážáááºááŒááºážááŸáá·áº áá®ážááŒá¬ážáááºáááºážáá»ááºáá áºáá¯ááá¯á· ááŒáá·áºáá»ááºáá¯ááºáá±á¬ááºááŒááºážááá¯á·ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáá«á Build tools áá»á¬ážááẠááá·áºáááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá±á«áº áá°áááºá ááœá²ááŒá¬ážáááá·áºáááºá ááá¯á·áá±á¬áº á€áááºááŸá¬ á¡áá»á¬ážáá¯á¶áž open source ááœá±ážáá»ááºá áá¬á¡áá»áá¯á·ááŒá áºáááºá
áá¬ááá»á±á¬ááá¯
ááá¯ááºá
ááº
áááá¯ááááºážáááºážáá¬áá¬á
áá¬áž
áá»áœááºážáá»ááºáá°
Apache ááᯠ2.0
áá»á¬áá¬áž
áááœááºááááº
Apache ááᯠ2.0
áá»á¬áá¬áž
áá»á±á¬ááºážáá°
Apache ááᯠ2.0
áá»á¬áá¬áž
áááºááá«áá®á
Apache ááᯠ2.0
áá»á¬áá¬áž
Make
ááᯠGNU
N / A
ááœá±
MIT á
JavaScript ááá¯
áá»áá¯ááº
MIT á
JavaScript ááá¯
áááºáá±á¬ááºáá°
Apache ááá¯
ááá¹áááŒá¬áž
áá°áá¯ááºáá¬
MIT á
ááá¹áááŒá¬áž
á¡á±á¡á±áá®
ááᯠGNU
Python ááá¯
SCons áá»á¬áž
MIT á
Python ááá¯
BitBake
GPLv2
Python ááá¯
ááááºáá¯áá·áº
MIT á
C#
ASDF
Expat (MIT)
LISP
ááŒáá·áºá
á¯á¶áá±á¬
BSD
Haskell
ááá¯ááºáááº! áááºá áááºážááŒá áºááááºážáá»á¯ááºááŸá¯á áá áºááœáẠbuild automation tool configuration files áá»á¬ážááᯠááá·áºááœááºážááá¯ááºááŒá®áž áááºá CI/CD tool á¡á¬ážáá¯á¶ážááᯠáá±á«ááºážá ááºážááá¯ááºá á±áá«áááºá
á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááºááá¯ááºáá¬áž? áá«áá±ááá·áº áááºážáá²á· áá»áŸá±á¬ááºááœáŸá¬ááᯠáááºááŸá¬ á¡áá¯á¶ážáá»ááá²á
á¡ááá·áº 4: Web Application Server
ááá¯á¡áá»áááºááœááºá ááá·áºááœáẠexecutable ááá¯á·ááá¯áẠinstall áá¯ááºááá¯ááºáá±á¬ packaged file áá áºáá¯ááŸááááºá áááºááá·áºá¡ááá®áá±ážááŸááºážáááᯠá¡ááŸááºááááºá¡áá¯á¶ážááá·áºá á±áááºá áááºážááẠáááºáá±á¬ááºááŸá¯áá áºáá»áá¯ážáá»áá¯áž ááá¯á·ááá¯áẠá¡ááºáá¬áá±á·á áºááᯠáá±ážáá±á¬ááºááááºááŒá áºááŒá®ážá áááºáá¡ááá®áá±ážááŸááºážááᯠáááºáá¶áá»ááºážáááẠááœááºááááºáá¬áá áºáᯠááá¯á¡ááºáááºá
áááºá¡ááºááá®áá±ážááŸááºážáá¬áá¬ááẠááá¯ááá¯á·áá±á¬ ááœááºááááºáá¬áá áºáá¯áá¬ááŒá áºáááºá áá¬áá¬ááẠá¡áá¯á¶ážááŒá¯áá±ááá·áº áááºáá±á·áá»á áºá áá¯áá¹ááááᯠáááºááŸááºááá¯ááºááá·áº áááºáááºážáá»ááºááᯠáá±ážáá±á¬ááºáááºá áá¬áá¬ááẠá¡ááºáá¬áá±á·á áºáá áºáá¯ááá¯áááºáž áá±á¬ááºáá¶á·áá±ážááŒá®áž socket áá»á¬ážááᯠááŒááºáááá¹áá¬ááá¯á· áá¯ááºáá±á¬áºááŒááºážááŒáá·áº áááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá±ážáá±á¬ááºáááºá áááºážááá¯ááá·áºááœááºážáááºá¡ááœáẠáááºááẠHTTP áá¬áá¬á¡ááŒáẠáááºáááºážáá»ááºá¡áá»áá¯á· ( virtual machine áá²á·ááá¯á·) ááá¯á¡ááºáá«áááºá ááá¯á¡áá»áááºááœááºá á€á¡ááŒá±á¬ááºážááá¯ááá¯áá±á·áá¬ááá¯ááºáááºáᯠáá°áááŒáá«á áá¯á· (á¡á±á¬ááºááœáẠááœááºááááºáá¬áá»á¬ážááᯠáá»áœááºá¯ááºáá±á¬áºááŒáááºááŒá áºáá±á¬áºáááºáž)á
open source web application server á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá
áá¬ááá»á±á¬ááá¯
ááá¯ááºá
ááº
áááá¯ááááºážáááºážáá¬áá¬á
áá¬áž
Tomcat
Apache ááᯠ2.0
áá»á¬áá¬áž
ááááºáá¶áá¶áá¬áž
Apache ááᯠ2.0
áá»á¬áá¬áž
áá±á¬ááá¯ááºáž
GNU Lesser Public
áá»á¬áá¬áž
GlassFish
CDDL & GNU áááºážáá«ážáá±á¬ á¡áá»á¬ážáá°ááŸá¬
áá»á¬áá¬áž
Django
á-á¡ááá¯áẠBSD
Python ááá¯
áááŸá±
Apache ááᯠ2.0
Python ááá¯
áá»á±á¬ááºáá¶áá¬áž
MIT á
Python ááá¯
Python ááá¯
MIT á
Python ááá¯
áááºáááºážáááºáž
MIT á
ááá¹áááŒá¬áž
Node.js
MIT á
Javascript ááá¯
áááºá DevOps ááá¯ááºááá¯ááºážááẠá¡áá¯á¶ážááŒá¯ááẠá¡ááá·áºááŒá áºáá¯áá®ážáá«ážááŒá áºáááºá áá±á¬áºáááº!
ááá¯áá±áá¬ááœáẠáááºááŒá®áž áá±á«ááºážá ááºážááŸá¯ááᯠáááºááá¯ááºááá¯áẠááá¯ááºááœááºááŒá±ááŸááºážááá¯ááºáá±á¬áºáááºážá áá¯ááºá¡áááºá¡ááœá±ážááẠá¡ááºááºáá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡ááœáẠá áá¯ážááááºá áᬠá¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááŒá áºáááºá
á¡ááá·áº 5- áá¯ááºá ááºážáááºááŒááºáž á¡áá»á¯á¶ážáááºáááºá
á ááºážáááºááŸá¯áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááẠáá±á¬ááºáááºáááºáá²áá±á¬ááá¯á¡ááºáá»ááºáá áºáá¯ááŒá áºááá¯ááºáá±á¬áºáááºáž developer áá»á¬ážááẠá¡ááá®áá±ážááŸááºážááŸá áááºááá·áºá¡ááŸá¬ážá¡ááœááºážááá¯áááᯠá á±á¬á á®ážá áœá¬áááºážááááŒá®áž áá¯á¶ážá áœá²áá°áá»á¬ážáá»á±áááºááŸá¯ááŸáá á±áááºá¡ááœáẠáá¯ááºá¡áááºá¡ááœá±ážááᯠááŒáŸáá·áºáááºááááºááŒá áºáááºá áá¶áá±á¬ááºážá áœá¬ááŒáá·áºá ááá·áºáá¯ááºááᯠá ááºážáááºáááºááŸáá·áº áááºážáá¡áááºá¡ááœá±ážááᯠááŒáŸáá·áºáááºáááºá¡ááœáẠá¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááŒá¯áá¯ááºááẠopen source tools áá»á¬ážá áœá¬ááŸááááºá ááá¯áá±á¬ááºážáá¬á CI/CD áááááá¬á¡áá»á¬ážá á¯áᬠáá®áááááá¬ááœá±áá²á· áá»áááºáááºááá¯ááºááŒá®áž áá¯ááºáááºážá ááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáᬠááŒá áºáá«áááºá
áá¯ááºá ááºážáááºááŒááºážááœáẠá¡ááá¯ááºážááŸá áºááá¯ááºážáá«áááºáááº- áá¯ááºá ááºážáááºááŸá¯áá±á¬ááºáá»á¬áž ááŸáá·áº ááá·áºáá¯ááºá¡áááºá¡ááœá±ážááᯠááŒáŸáá·áºáááºáá¬ááœáẠá¡áá±á¬ááºá¡áá°ááŒá áºá á±áá±á¬ áá¯ááºá ááºážáááºááŸá¯áá±á¬ááºáá»á¬áž ááŸáá·áº á¡ááŒá¶ááŒá¯áá»ááºáááááá¬áá»á¬ážá
áá¯ááºá ááºážáááºááŸá¯á áá áºáá»á¬áž
áá¬ááá»á±á¬ááá¯
ááá¯ááºá
ááº
áááá¯ááááºážáááºážáá¬áá¬á
áá¬áž
JUnit
áá±ááŒááºááŒááºáá°á·ááá¯ááºá
ááº
áá»á¬áá¬áž
EasyMock
Apache ááá¯
áá»á¬áá¬áž
mockito
MIT á
áá»á¬áá¬áž
PowerMock
Apache ááᯠ2.0
áá»á¬áá¬áž
Pytest
MIT á
Python ááá¯
á¡áá°á¡á
Mozilla á
Python ááá¯
á¡ááááº
MIT á
Python ááá¯
áá¯ááºááá¯ážáááºááŸá¯á¡ááœáẠá¡ááŒá¶ááŒá¯áá»ááºá áá áºáá»á¬áž
áá¬ááá»á±á¬ááá¯
ááá¯ááºá
ááº
áááá¯ááááºážáááºážáá¬áá¬á
áá¬áž
Cobertura
ááᯠGNU
áá»á¬áá¬áž
CodeCover
Eclipse Public (EPL)
áá»á¬áá¬áž
coverage.py
Apache ááᯠ2.0
Python ááá¯
á¡ááºáá¬
áá¯á¶á¡áá»á¬ážááŒááºáá°ááá¯ááºá
ááº
áá»á¬áá¬áž
JaCoCo
áá±ááŒááºááŒááºáá°á·ááá¯ááºá
ááº
áá»á¬áá¬áž
á¡áá°á¡á
Mozilla á
Python ááá¯
á¡ááááº
MIT á
Python ááá¯
á
á¶áááº
MIT á
JavaScript ááá¯
Karma
MIT á
JavaScript ááá¯
Mocha
MIT á
JavaScript ááá¯
ááŸá
MIT á
JavaScript ááá¯
á¡áááºáá±á¬áºááŒáá« áááááá¬áá»á¬ážááŸáá·áº áá°áá±á¬ááºá¡áá»á¬ážá á¯ááᯠC++ ááŸáá·áº C# ááá¯á·ááẠáá°ááá¯ááºáááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬áž (GCC ááẠopen source ááŒá áºáá±á¬áºáááºáž) ááŒá áºáá±á¬ááŒá±á¬áá·áº Javaá Python ááŸáá·áº JavaScript á¡ááœáẠáá±ážáá¬ážáá¬ážááŒá±á¬ááºáž áááááŒá¯áá«á
ááᯠááẠá ááºážáááºááŸá¯ á¡áá»á¯á¶ážáááºááá·áº áááááá¬áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®ážááŒá áºáá áááºá DevOps ááá¯ááºááá¯ááºážááẠá€áááºáááºážá á¬á á¡á ááœáẠááŒááá¬ážááá·áº áá¯á¶ááá¹áá¬ááºááŸáá·áº áááºáá°áá±ááá·áºáá«áááºá
áá±á¬ááºáááºá¡ááá·áºáá»á¬áž
кПМÑейМеÑÑ
áá«ááŒá±á¬áá²á·ááá·áºá¡ááá¯ááºážá áááºáááºáááºááá¬áá¬ááᯠvirtual machine ááá¯á·ááá¯ááºáá¬áá¬ááœááºáááºáá¶ááá¯ááºáá±á¬áºáááºáž containers áá»á¬ážáááºáá°ááŒáá¯ááºáá»á¬ážáá±á¬ááŒá±ááŸááºážáá»ááºááŒá áºáááºá
ááœááºááááºáá¬ááœá±á áá¬ááœá±áá²á á¡ááá¯áá»á¯á¶ážááŸááºážáááºážáá»ááºááŸá¬ virtual machine áá áºáá¯ááẠapplication áá¡ááœááºá¡á á¬ážáááºáá»á±á¬áºááœááºááŒá®áž operating system memory ááá¬ááá»á¬ážá áœá¬ááá¯á¡ááºááŒá®áž container áá áºáá¯ááẠapplication ááᯠrun áááºá¡ááœáẠlibraries ááŸáá·áº configuration á¡áááºážáááºáá¬ááá¯á¡ááºáá«áááºá áááºááŸá¬ážáááºááŸá¬á virtual machine á¡ááœááºá¡áá±ážááŒá®ážáá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬ážááŸááá±áá±ážáá±á¬áºáááºáž container ááẠapplication server á¡áá«á¡ááẠapplication áá áºáá¯ááᯠhosting á¡ááœááºáá±á«á·áá«ážáá±á¬ááŒá±ááŸááºážáá»ááºááŒá áºáááºá
á¡ááŒá¬ážááœááºááááºáá¬ááœá±ážáá»ááºá áá¬áá»á¬áž ááŸááá±á¬áºáááºáž áá°ááŒáá¯ááºá¡áá»á¬ážáá¯á¶ážááŸá¬ Docker ááŸáá·áº Kubernetes ááŒá áºáááºá
Docker- Apache 2.0
Kubernetes- Apache 2.0
á¡áááºá¡ááẠá¡ááá¯á¡áá»á±á¬ááºá áá Ạáááááá¬áá»á¬áž
áá»áœááºá¯ááºááá¯á·á DevOps ááá¯ááºááá¯ááºážááẠáá°ážáá±á«ááºážáá¯ááºáá±á¬ááºááá·áº á¡ááºááºáá®áá±ážááŸááºážáááºáá®ážááŒááºážááŸáá·áº á¡áá¯á¶ážáá»ááŒááºážá¡áá±á«áº á¡áááá¡á¬áá¯á¶á áá¯ááºáá¬ážáá±á¬áºáááºáž DevOps áááááá¬áá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºááá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬ááŸááá«áááºá áááºážááá¯á·áá²ááŸáá áºáá¯ááŸá¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯ááºáᬠCode (IaC) áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒá áºááŒá®áž Middleware automation tools áá»á¬ážáá¯áááºážáá°áááá»á¬ážáááºá á€áááááá¬áá»á¬ážááẠá¡áááºáááºážáá±á¬á·ááºáá²á¡ááœáẠáááºáááºááŸá¯á á á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº á¡ááŒá¬ážáá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠáá°áá®áá±ážáááºá ááá¯á·ááŒá±á¬áá·áºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡ááá¯á¡áá»á±á¬ááºá áá áºáá°ážááºáá áºáá¯ááẠáááºá¡ááºááá®áá±ážááŸááºážáá¬áá¬á áá±áá¬áá±á·á áºááŸáá·áº ááŸááºáááºáá±á¬ááœá²á·á ááºážáá¯á¶áá»á¬ážááŒáá·áº á á±á¬áá·áºááŒáá·áºá á áºáá±ážááá·áºáááááá¬áá²á·ááá¯á· á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá¯ááºáá°ááá¯ááºááŒá®áž áááºážááá¯á·ááᯠá¡ááá®áá±ážááŸááºážáá¬áá¬ááá¯á· á¡áá¯á¶ážáá»ááá¯ááºáááºá
á€áááºááŸá¬ á¡áá»áá¯á·áá±á¬ open source á¡áááºáááºážáá±á¬á·ááºáá² á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºáž áááááá¬áá»á¬ážááŒá áºáááº-
Ansible- GNU á¡áá»á¬ážááá¯ááº
SaltStack- Apache 2.0
á
á¬ážááá¯ááŸá°áž- Apache 2.0
áá¯ááºáá±áž- Apache ááá¯á·ááá¯áẠGPL
SkillFactory á០á¡ááá±ážá¡áœááºááá¯ááºážáááºáááºážáá»á¬ážááᯠáááºáá°ááŒááºážááŒáá·áº á¡áááºá¡áá»ááºážááŸáá·áº áá ᬠáááºááŸááºáá»ááºáá»á¬ážááœáẠáááºážáááºááá·áº á¡áááºááœá±ážáááºážááŒá±á¬ááºážáá áºáá¯á¡á¬áž á¡á ááŸáá±á áááºááá¯á·ááá°ááááºáááºáž á¡áá±ážá áááºááᯠááŸá¬ááœá±áá«-
DevOps áááºáááºáž (áá)áá
áá±á¬ááºáááºáááºáááºážáá»á¬áž
á ááºáááºáá°ááŸá¯áááºáááºáž (á)áááºáData Science ááá¬áááºááᯠá¡á ááŸá¡áá¯á¶áž áááºááŒá¬ážáá±ážááŒááºážá (áá)áááááºááá·áºá¡á á¡ááá·áºááœááºáááᯠá¡áá²áááºááá¬ááŸáẠ(áá)ááPython for Web Development áááºáááºáž (áá)áá
á¡áá¯á¶ážáááºáá±á¬
á¡ááá²á· Ivy League áááºáááºážáá»á¬áž 450 áá±áá¬áááá¹áᶠ2020 ááœáẠáá±ááºáá±á á®ážááŒá±á¬ááºážáá»á¬áž Data Science á áá±ááŒá®á á á®ážááœá¬ážáá±ážáááá¹áá¶á¡áááºááŸáẠSteroids ááá¯ááºáᬠáá±áá¬áááá¹áá¶- áá¯á¶ážááŒááºáá»ááºáá¬ááºáááºááá¯ááºáᬠáááá«ááºáž á¡á¡á±á¬ááºááŒááºáá¯á¶ážááŸáá·áº á¡ááŸá¯ááºá¡ááŸááºážáá¯á¶áž áá±áá¬áááá¹áá¶ááá±á¬áá»ááº- Cambridge Analytica
source: www.habr.com