Pataki Norbert - ELTEpatakino.web.elte.hu/pataki_devops.pdf · 2017. 2. 21. · Bevezetés CI...
Transcript of Pataki Norbert - ELTEpatakino.web.elte.hu/pataki_devops.pdf · 2017. 2. 21. · Bevezetés CI...
-
Bevezetés CI DevOps Összefoglalás
DevOps-kultúra
Pataki Norbert
ELTE Informatikai Kar,Programozási Nyelvek és
Fordítóprogramok Tanszé[email protected]
Szakmai Esti Mesék
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Mi az a DevOps?
Development & Operations
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Alapok
Szoftverfejlesztés: csapatmunkaCsapatmunka támogatása szoftveresen
VerziókövetésBuild eszközökContinuous Integration (CI) server-ekRelease-ek elkészítése/kiadása/tárolásaSzoftverek automatikus beüzemelése (deployment)Modern deployment felületek: cloud-ok, konténerek
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Problémák
A verziókövetés nem garantálja, hogy a repository-banlévő kód korrekt
Honnan derül ki, hogy korrekt-e?Mikor update-lhetik-e a saját másolatukat a fejlesztők?A forráskód mely részét update-lhetik a fejlesztők?Melyik revision-re álljunk vissza, ha az aktuális verzió nemjó?Mi legyen, ha egyik fejlesztői gépen működik egyfunkcionalitás, másikon nem?Mikor romlott el, mióta nem jó?Ki a felelőse a problémának? Kinek szóljunk?
Egy hiba kijavítása elront-e más funkcionalitást?Hogyan állítható össze egy demó gyorsan?
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Continuous Integration
szoftverfejlesztési gyakorlatXP fejlesztési módszertanCI eszközök, build server-ekhttp://martinfowler.com/articles/continuousIntegration.html
DevOps-kultúra Pataki Norbert
http://martinfowler.com/articles/continuousIntegration.html
-
Bevezetés CI DevOps Összefoglalás
CI Ciklus
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
CI Eszközök / Rendszerek
CruiseControlHudson / JenkinsIBM Rational Team ConcertMicrosoft Team Foundation Serverstb.
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Jenkins
CI eszköz, rendszerBővíthető, nyílt forrású CI szerverhttp://jenkins-ci.org/
Jenkins 1 vs Jenkins 2
DevOps-kultúra Pataki Norbert
http://jenkins-ci.org/
-
Bevezetés CI DevOps Összefoglalás
Job-ok
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Plugin-ok
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Release-ek
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
DevOps alapok
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
DevOps pipeline
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
DevOps eszközök, DevOps toolchain
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Speciális eszközök
Statikus elemzőkCode coveragePerformance testingMemory leak detectorLicense-ek ellenőrzéseVulnerability analysis tools, security testingDeployment eszközökvagrantApplication Release AutomationConfiguration Management: pl. Ansible, Puppet, ChefLogging/monitoring: pl. elk-stack
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Problémák, lehetőségek
Feedback eljuttatása a fejlesztőkhözRoll-back folyamatokHigh availability (HA)Canary testingBlue-green deploymentDevOps példa: Netflix
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Modern deployment környezetek
CloudPrivate cloud (pl. OpenStack)Public cloud (pl. AWS)
Linux containers (LXC)dockerkubernetesMesos
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Openstack
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Docker
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Kubernetes
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Összefoglalás
DevOps: a CI kibővítése, Development & OperationsCI: Megkönnyíteni a csoportos szoftverfejlesztéstDevOps: automatizált deployment, monitoring, feedbackDevOps: új deployment felületek és eszközök
DevOps-kultúra Pataki Norbert
-
Bevezetés CI DevOps Összefoglalás
Összefoglalás
DevOps-kultúra Pataki Norbert
Bevezetés
CI
DevOps
Összefoglalás