Dotazy na event #E256

Podobné dokumenty
SOFT-ENG ACADEMY 2017/2018

Softwarový proces Martin Hlavatý 4. říjen 2018

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Zkušenosti nejen z provozu Portálu občana. Jan Vlasák NAKIT Miroslav Vacula Jihomoravský kraj Václav Koudele - Microsoft

Praktické zkušenosti s Azure DevOps

Softwarový proces Bohumír Zoubek 1. říjen 2018

End-to-end testování. 26. dubna Bořek Zelinka

Zrychlete dodávky nových mobilních služeb k Vašim zákazníkům

Open source automatizace v bance

Dotazy na event #6334

Možnosti využití cloudových služeb pro provoz IT

Aktuální otázky provozu datových skladů PAVEL HNÍK

Maintenance. Tomáš Krátký, Bohumír Zoubek

Rozvoj a údržba systémů

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Petr Vlk KPCS CZ. WUG Days října 2016

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Dokumentace, konfigurační řízení

Jaké technologie využívá Portál občana. Jan Vlasák NAKIT Václav Koudele - Microsoft

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč IBM Corporation

30/10/2017. Odhady, nabídky, měření a historie. Dotazy na event #L554

Portál občana jede téměř rok bez odstávky, jak je to možné? Jan Vlasák NAKIT Václav Koudele - Microsoft

INFORMAČNÍ SYSTÉMY , Ing. Jiří Mráz

Odhady, nabídky, měření a historie

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Procesní dokumentace Process Management. Pavel Čejka

SAP Solution Manager. Verze 7.2 a mnohem víc 1

Cloud. Nebo zatím jen mlha? Workshop Day 2011 WG06 Jaromír Šlesinger, CA Technologies Bratislava, 13. október 2011

Petr Náhlovský, Servodata a.s. Michal Oškera, AUKRO s.r.o. IT PROJEKT ROKU 2017

Nástroje pro průběžnou integraci a testování

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

SOAP & REST služby. Rozdíly, architektury, použití

Správa a sledování SOA systémů v Oracle SOA Suite

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Případová studie migrace z Cisco ACE a další možnosti nasazení

FOR CONTINUOUS DELIVERY, IT S ALL ABOUT INTEGRATION

Identifikace změny Definice změny a jejího rozsahu a dopadu Schválení změny Prioritizace změn Úprava plánu projektu

programátor vs. vývojář

Obsah. Úvod 9 Poděkování 10 Co je obsahem této knihy 10 Pro koho je tato kniha určena 11 Zpětná vazba od čtenářů 11 Errata 11

Testování Java EE aplikací Petr Adámek

Zátěžové testy aplikací

Testování softwaru. 10. dubna Bořek Zelinka

Virtualizace serverů v ČSOB

Agilní metodiky a vývojové procesy

Veřejné cloudové služby

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Custom Code Management. Přechod na S/4HANA

Hardening ICT platforem: teorie nebo praxe. Pavel Hejduk ČEZ ICT Services, a. s.

Odpov di na dotazy uchaze k ve ejné zakázce. 20/ Rámcová smlouva o vývoji a údržb aplika ního programového vybavení EDS, EXK a DAP

Jak testovat software v praxi. aneb šetříme svůj vlastní čas

Agilní metodiky vývoje softwaru

Fast IT in IT. Christoph Nienhaus, IT Leader for Central Europe

INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005

Vysvětlení zadávací dokumentace č. 3

IBM Cloud computing. Petr Leština Client IT Architect. Michal Votava IBM GTS Cloud Sales. Přehled IBM služeb v cloudu IBM Corporation

Daniela Lišková Solution Specialist Windows Client.

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS. Adopting Continuous Delivery at teamplay, Siemens Healthineers

Testování SOA systémů v Oracle SOA Suite

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

Software Project Management

Vývoj informačních systémů. Přehled témat a úkolů

CM, Prostředí, Údržba

O NÁS. Specializujeme se na návrh a vývoj v následujících oblastech:

Vývoj informačních systémů. Přehled témat a úkolů


verze GORDIC spol. s r. o.

27/11/2017. Business analýza a sběr požadavků. Dotazy na event #G865

Od grafického návrhu k funkčnímu webu

Testování prakticky Otakar Ertl 17. ledna 2018

Obsah Úvod 11 Jak být úspěšný Základy IT

Composable Infrastructure infrastruktura pro další desetiletí Aleš Čáp

Joelův test. 12 kroků k lepšímu programování. Jaroslav Šnajdr

Development environment Build process DevOps. Tomáš Krátký, Bohumír Zoubek


Den pro partnery Masarykova universita - Fakulta informatiky

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

2. Začlenění HCI do životního cyklu software

PŘEDSTAVENÍ - KAREL HÁJEK Nasazení SD ve skupině ČEZ

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Co se chcete dozvědět?

Komponovatelná infrastruktura jako kód s HPE a Red Hat Ansible aneb cesta k DevOps

Řízení reálných projektů, agilní metodiky

Správa dat v podniku. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Quality assurance a testovací nástroje v praxi. Bohumír Zoubek bohumir.zoubek@profinit.eu

MBI - technologická realizace modelu

SIEM Mozek pro identifikaci kybernetických útoků. Jan Kolář , Praha, Cyber Security konference 2014

Jak efektivně testovat IB. Otakar Ertl

Název prezentace 1. Poskytovatel garantovaných služeb NDC včetně kybernetické bezpečnosti ve státní správě

Novinky v Eshopech na míru. Libor Dvořák Martin Sokol

Abstrakt. Klíčová slova. Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS. Semestr LS 2017/2018. Lukáš Kadoch (xkadl17),

Úvod do Softwarového inženýrství, trendy IS/ IT. Jaroslav Žáček

Intune a možnosti správy koncových zařízení online

Quality assurance a testování

Návrh softwarových systémů - úvod, motivace

DATOVÝ SKLAD TECHNOLOGICKÝCH DAT

Statistica, kdo je kdo?

Novinky v UML 2.5 a agilní modelování

Transkript:

Release management, DevOps Bohumír Zoubek, Michal Petřík 7. února 2018 Dotazy na https://www.sli.do event #E256 1

Téma dnešní přednášky 1. Release management 2. Continuous integration / delivery / deployment / DevOps 3. Ukázky z praxe 4. Diskuze PROJECT MANAGEMENT / QUALITY ASSURANCE / DOCUMENTATION / CONFIGURATION MANAGEMENT / RELEASE MANAGEMENT / DEVOPS 3 Release management 2

Motivace Než se váš systém/změna dostane do produkce: musí ho někdo vyvíjet a testovat, musí být někde před nasazením do produkce akceptován může existovat více produkčních prostředí Typicky existují další prostředí mimo cílové! Vývojové Testovací Integrační Akceptační Předprodukční #1 Předprodukční #2 Produkční #1 Produkční #2 Produkční #3 Produkční #N 5 Sladění terminologie ČS V ČS je pojem Release managementu chápán mírně odlišně vzhledem k dnešní prezentaci Oddělení RM má zajistit, že se stovky systémů dostanou do produkce včas, jsou integrovány, Aby mohl fungovat celek, musí fungovat i každá dílčí část o tom bude dnešní přednáška 6 3

Motivace Co musíme umět pro každý systém, než se dostane do produkce: Vyrobit dodávku Připravit dodávku pro instalaci zadavatelem Nainstalovat dodávku Dodat systém jako celek Opravit malou drobnost a opravit ji rychle a ekonomicky Poradit si s různými typy prostředí Aplikační server, databázový a replikační server, operační systém, Release není jen o nasazení nové verze 7 Motivace Prostředí mohou být různého typu (různé pohledy): Typicky virtualizovaná Nově kontejnerizovaná On-premise x Cloud (SaaS, PaaS, ) Jednotky prostředí x tisíce 8 4

Motivace Integrující se aplikace a jejich závislosti Budou další systémy připraveny? Bude možná integrace? Rozdílné vývojové cykly aplikací Vodopád x agile Front-end x back-end Mobilní aplikace x web aplikace x tlustý klient zpoždění v rozsahu dodávek Něco jiného se testuje, něco jiného je na produkci Potřebuji testovat opravu produkce pro verzi X, ale na akceptačním prostředí mám nyní verzi X+1 JE POTŘEBA ŘÁD A PLÁN 9 Typické řešení 10 5

Typické řešení Je nutné postihnout minimálně: Celkový proces Odpovědnosti, styčné osoby Komunikační matice Formální náležitosti Klíčové milníky Dopady na okolní systémy Prerekvizity Kvalitativní nároky a to vše pro všechny systémy se zanesením jejich vazeb, 11 Klíčové pojmy Release (Build) Oprava buildu (patch) Instalační set En-bloc Inkrementální slyšeli jste již o multi-speed / Bi-modal IT? Zdroj: http://www.devops.com 12 6

Continuous integration / delivery / deployment / DevOps O čem se vlastně bavíme? Vytvářený software má typicky tisíce/miliony řádků kódu Všechny artefakty musí někdo: tzv. sestavit (build) otestovat nasadit znovu otestovat Lze toto realizovat ručně? Ano ALE Člověk se může uklepnout ( a pak je průšvih ) Ruční práce se nemůže měřit s výhodami automatizace Rychlost zpětné vazby Opakovatelnost Bezpečnost 14 7

O čem se vlastně bavíme? Komplexita systémů a technologií vede na nutnost automatizace jsme jen lidé a děláme chyby Vše, co lze automatizovat, by mělo být automatizováno Některé technologie již ani nepředpokládají ruční zásah Co lze automatizovat? Generování kódu Generování dokumentace Testy Sestavení aplikace Nasazení aplikace téměř vše 15 Co je DevOps? Development & Operations 16 8

Co je DevOps? Development & Operations 17 Co je DevOps? Development & Operations Často pracujeme například na analýze/vývoji a ani netušíme, kdo bude naše výstupy nasazovat do produkce Představte si ale, že jste najednou součástí jednoho týmu, který pracuje dohromady za jediným cílem funkční software 18 9

Co je DevOps? Daily Build Continuous Integration Continuous Delivery Compile & Assemble Smoke test Build & Test Every Commit Static Analysis Continous integration Provisioning Configuration management Deployment Počátek devadesátých let Konec devadesátých let Přelom století 19 Co je DevOps? Forma vývojového cyklu Každý krok je maximálně automatizován Vše je verzováno a testováno (nejen kód, ale i model databáze, data,...) Na všechna prostředí se používá jeden unifikovaný proces Celý cyklus řešen formou malých kroků Deployment Pipeline Rychlá a maximální zpětná vazba podporuje Agilní vývoj (Agile bez DevOps lze jen obtížně realizovat) bug = false; true; Build Test Release Vývojáři Planning Monitoring Zákazník Je nutná odpovídající kultura ve vývojovém týmu Inspirováno http://www.slideshare.net/amazonwebservices/dvo202-devops-at-amazon-a-look-at-our-tools-processes 20 10

Co je DevOps? Efektivní využití nástrojů Version Control Provisioning Configuration Management Build Automation Artifact Repository Static Analysis Automated Testing Test Data Continuous Integration and Delivery System Monitoring & Analytics... a vůle zlepšovat 21 Hlavní přínosy Snížení TTM business požadavků Snížení množství chyb se současným zvýšení rychlosti jejich oprav Snížení nákladů na zdroje (development i operations) Jednodušší zapojení nových lidí do týmu silná zpětná vazba tzv. Self-service Možnost bezpečného experimentování SHOW ME THE MONEY! Trvání cyklu Důvěra v dodávku Náklady Schopnost experimentovat 22 11

DevOps a architektura (aneb... ale u nás by to nešlo) DevOps a architektura Velmi často pracujeme s tímto:...a good old monolith 24 12

DevOps a architektura Raději bychom možná ale pracovali s tímto:... brand new cool Microservices 25 DevOps a architektura Ve spojení s DevOps lze aplikovat tzv. Strangler Pattern Uživatel Uživatel Uživatel Uživatel Abstrakce Abstrakce Abstrakce Abstrakce 26 13

DevOps a architektura Změna architektury jde ruku v ruce s release cyklem Build Test Release Build Test Release Build Test Release Build Test Release Build Test Release 27 DevOps a architektura Stejně jako u změny architektury lze DevOps zavádět postupně Postupovat lze z obou stran Ze strany vývoje například ve formě automatického buildu, unit testů,... Ze strany automatizace nasazení na prostředí, apod. Je vhodné zvolit / identifikovat oblasti, ve kterých změna nejvíce prospěje Předpokládá sběr a vyhodnocování správných metrik, například zdroje chyb, důvody odstávek monitoring 28 14

DevOps a architektura 29 Ideální podoba 15

Evoluce automatizace Code Build Integrate Test Release Deploy Operate Agilní vývoj Continuous Integration Continuous Delivery Continuous Deployment DevOps Evoluce automatizace Code Build Integrate Test Release Deploy Operate DevOps Movement Continuous Integration Continuous Delivery Continuous Deployment Continuous Operation Agile Lean Waterfall 16

Ideální podoba cesty jednoho řádku kódu Monitoring & Planning Vývojář VCS Continuous Integration Quality Gate Test Env. xstage Env. Testing Production Bezodstávkové nasazování všichni známe odstávky systému vzhledem k nutnosti upgrade a s tím spojené nervy a občas probdělé noci 34 17

Bezodstávkové nasazování Princip je vlastně jednoduchý. Node #1 Node #2 nezbytnou prerekvizitou je však vyspělá automatizace tzv. ONE CLICK DEPLOYMENT 35 Ukázky z praxe 18

CIC, technologie Internetové bankovnictví pro 1,8 mil. uživatelů, 5M+ transakcí měsíčně, 400+ business procesů, 1000+ obrazovek Integrace na všechny klíčové systémy v bance Více než 4,5 mil. řádků kódu v Javě, SQL, PL-SQL, Šablony xhtml, Android aplikace, ios aplikace (Swift, Objective C) 37 CIC - nástroje 38 19

CIC - nástroje 39 CIC - nástroje 40 20

CIC - nástroje 41 Poznatky z praxe Maximálně věrné prostředí vývojové, testovací, akceptační, Denní build Proces dodávek jednoduchý automatizovaný Kontrolované zálohovací logy reporty automatických testů Když není k dispozici hotové řešení vlastní microskripty/pluginy Nic ale není černobílé Velmi těžko dosažitelné bez týmového nadšení 42 21

Poznatky z praxe 43 Diskuze 44 22

Děkujeme za pozornost Profinit EU, s.r.o. Tychonova 2, 160 00 Praha 6 Telefon + 420 224 316 016 Web www.profinit.eu LinkedIn linkedin.com/company/profinit Twitter twitter.com/profinit_eu O čem se vlastně bavíme? Přestanou-li existovat sdílené disky, repository, PC lidí na projektu, vývojové prostředí, pak ze záloh je možno postavit vývojové prostředí a to ekonomicky 46 23