Release management na Azure platformi RENATO ŽELEZNJAK, Ekobit
Release Management is the process of managing software releases from development stage to software release [Wikipedia] Studija slučaja implementacije kod stvarnog klijenta
Njemačka firma za razvoj poslovnog softvera Preko milijun korisnika u segmentu firmi do 50 zaposlenika [company web pages] 30-ak različitih softverskih proizvoda (aplikacija), web ažuriranja, service packs Ostali proizvodi/mediji – ebooks, video zapisi… O klijentu
Release management ključan za funkcioniranje uhodanog sustava
Team Foundation Server – ključna komponenta za razvoj i verzioniranje Integrirani razvojni tim, requirements i project management, source control/versioning „Release builds” - priprema testnih i RC verzija, isporuka testerima Prije… TFS
QA (Quality assurance) timovi – testiranje verzija (kopiranje instalacija pripremljenih od dev timova), instaliranje, testiranje Prijava bugova Go/No-go za testiranu verziju Isporuka krajnjim korisnicima Prije… QA tim
Internet hosting provider – alokacija resursa Storage space / Bandwidth / Traffic Verzija dostupna krajnjim korisnicima na internetu Automatsko ažuriranje / download verzije ugrađen u proizvode Prije… Isporuka
Troškovi! –Storage space / Bandwidth / Transfer Nestabilnosti / prijelazne pojave –Dugotrajno kopiranje podataka Puno ručnog posla = puno prostora za pogreške A „napredniji” scenariji? Izazovi
Rješenje temeljeno na Azure Cloud platformi Smanjenje troškova Automatizacija release management procesa Napredniji scenariji – dijagnostika, statistike, automatizirano testiranje… Case: ReleaseManagement
RM – new deployment RM client TFS/automated build Build quality hook Management service Workflow service Upload files/meta Promote to staging Build quality change Meta: Table storage + SQL Binary: Blob storage Copy meta+binary Add metadata Validate metadata Validate install Corporate net.Cloud Product available to testers
Web API, no UI JSON endpoints Services / adapters / interfaces – Managed Extensibility Framework (MEF) Management service
Workflow service.Net Workflow (4.0) Workflow services (SOAP endpoint) Custom activities
RM – test deployment Product portal Find deployment (product, version) Setup (executable) Redirect service Convert app URL to storage URL setup.exe staging/product/ver/setup.exe Download Install Storage service Azure BLOB
Product portal
RM – release deployment Product portal Find deployment (product, version) Management service Copy meta+binary Add metadata Validate metadata Release Product available to end-users Workflow service
RM – redirecting and storage Redirect service In-house testing: redirect for „staging” External/web: redirect for „production” Storage service - Deployment for „staging” - Deployment for „production” HTTP status: redirect Azure BLOB storage Amazon storage Azure CDN
RM – automated tests Workflow service Request test Message queue Result table Wait for result VM Manager service Execute test, usually: -Create a VM, wait for boot -Download setup -Install setup (+ updates) -Snapshot of installed files -Upload logs & snapshots -Process logs / set test result (success or failure)
RM - statistics Management service Workflow service Storage service Redirect service Service bus message queue User tracking service Google analytics Get event data Merge with metadata Reformat / track events
Google Analytics
RM - diagnostics Nagios Run service availability test scripts Management service Workflow service Storage service Redirect service
Nagrađujemo vas sa 100 WinCoin bodova što ste posjetili predavanje. Osvojite dodatnih 100 WinCoin bodova ukoliko popunite službeni upitnik. HVALA!