A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája, hogy bemutassa a teszt vezérelt fejlesztést (TDD), tesztelési elveket, a különböző teszt típusokat (unit, integration, end-to-end) és rámutasson a teszt írás és így az automatizált tesztek fontosságára a saját tapasztalataink átadásával.
A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája az alkalmazott technológiák és architektúrális valamint TDD módszereink bemutatása és tapasztalataink átadása.
Mi az a Mozilla? Kik állnak mögötte? Kik vesznek részt a projektben és mit csinálnak? Előadásommal Mozilla gyümölcsöskertjének terméseit próbálom bemutatni. A most induló kísérletektől kezdve, a már működő és sok felhasználót vonzó termékekig. Rád is számítunk, csatlakozz Te is önkéntes csapatunkhoz.
Howto scaling our node and application in Kubernetes environment. Headroom and Tetris node scale. HPA v1 and custom metrics. Our Black friday success story.
A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája, hogy bemutassa a teszt vezérelt fejlesztést (TDD), tesztelési elveket, a különböző teszt típusokat (unit, integration, end-to-end) és rámutasson a teszt írás és így az automatizált tesztek fontosságára a saját tapasztalataink átadásával.
A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája az alkalmazott technológiák és architektúrális valamint TDD módszereink bemutatása és tapasztalataink átadása.
Mi az a Mozilla? Kik állnak mögötte? Kik vesznek részt a projektben és mit csinálnak? Előadásommal Mozilla gyümölcsöskertjének terméseit próbálom bemutatni. A most induló kísérletektől kezdve, a már működő és sok felhasználót vonzó termékekig. Rád is számítunk, csatlakozz Te is önkéntes csapatunkhoz.
Howto scaling our node and application in Kubernetes environment. Headroom and Tetris node scale. HPA v1 and custom metrics. Our Black friday success story.
2. A következőkről fogok beszélni
• Vagrant
– Egységes fejlesztési környezet
• Jenkins
– Automatizált teszt
• Capistrano
– Élesítés
3. Miért fáj ha…
• … nincs egységes fejlesztői környezet
• ( nálam még működött )
• … nincsenek automatizált tesztek
• ( a fejlesztő/tesztelő azt mondta
mehet… )
• … nincs deployer
• ( tuti minden szerverre ki ment a kód? )
4. Mit tud nyújtani nekünk aVagrant?
• Egységes fejlesztői környezetet biztosít
• Központilag konfigurálható ( Puppet, Chef )
• Könnyen telepíthető és hordozható
• VirtualBox ésVMware támogatás
5. ..és még (mit adtak nekünk a
rómaiak) ?
• Decentralizált
• Jobb erőforrás kihasználás
• A fejlesztő saját sandboxot kap
• Cloud friendly
6. Miért pontVagrant?
• Open Source
• Pluginekkel könnyen bővíthető
• Egyszerű kezelhetőség
• VirtualBoxot használ
7. Negatívumok
• Bevezetése erőforrás-igényes lehet
• Nem tudunk esetlegesen az élessel megegyező
infrastruktúrát építeni
• Üzemeltetők részéről Puppet,Chef tudás
szükséges lehet
• I/O igényes műveleteknél lassú
• Csak linuxot támogat
9. Példa konfig
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "base.pp"
end
config.vm.provider :virtualbox do |vb|
vb.gui = false
vb.customize ["modifyvm", :id, "--memory", "512"]
end
end
11. Miért jó az automatizált teszt?
• Nem kell ott ülni amíg fut a teszt
• Hatékonyabbá teszi a tesztelők munkáját
• Automatikus teljesítmény, kódminőség
figyelés és figyelmeztetés
12. Miért pont a Jenkins?
• Ingyenes és open source
• Egyszerű kezelhetőség
• Egyszerű bővíthetőség
• Nagy community 600+ plugin érhető el
18. Miért használjunk deployert?
• Multi staging
• Multi node type
• Emberi hiba faktor kiszűrése
• Minden szerveren a megfelelő kódbázis legyen
kint
• Rollback képesség
19. Mi a capistrano előnye?
• Könnyen bővíthető
• Open Source
• Rengetek plugin elérhető ( pl. teljes symfony
támogatás )
• Bevezetése egyszerű nem igényel nagyobb
infrastrukturális beállítást
• Eszközt és módszert add a kezünkbe
20. Mi a hátránya a Capistranonak?
• Kezdetleges cloud és cdn támogatás
– … de azt inkább írni kell
• Bővítéséhez ruby tudás szükséges
21. Példa
set :application, "webconf"
set :deploy_to, "/var/www/webconf"
set :repository, "https://github.com/WordPress/WordPress.git"
set :scm, :git
set :branch, 'master'
set :keep_releases, 3
set :use_sudo, false
set :update_vendors, false
set :deploy_via, :copy
role :web, "10.1.1.58"
set :user, "www-data"
set :copy_exclude, [".git", ".DS_Store", ".gitignore", ".gitmodules","nbproject"]
logger.level = Logger::MAX_LEVEL