Click here to load reader

DevOps Meetup Freiburg - DevOps in Practice

  • View
    729

  • Download
    1

Embed Size (px)

Text of DevOps Meetup Freiburg - DevOps in Practice

  • DevOps in der PraxisEntwicklung und Betrieb einer Anwendung in AzureHelmut Strasser, Karsten GaebertDevOps MeetUp 20.10.2015

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    AgendaHistorieProjektzieleTechnische UmsetzungDeploymentTestBetriebFazit Azure, Dev, Ops

    Gaebert, Karsten (GK) - Zielgruppe der Prsentation: Entwickler, Betrieb, IT, Entscheide

    *

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Die LsungMicrosoft Azure

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Partnerprogramm2012 - Start Azure Partnerprogramm mit Microsoft Ziele:

    Anwendungen auf Azure entwickelnTraffic + Umsatz generierenPremiumsupport durch Microsoft nutzen

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Wo ist das passende Problem?

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Projekt DownloadmanagerThemen + ZieleDistribution und Aktualisierung der Lexware DesktopprodukteHohe Bandbreite bei LastspitzenKostensenkung beim TrafficAnbindung an Shop -> Downloads von Produkten, eBooks etc.Integration in die Haufe Systemlandschaft

    TimelineProjektstart Mitte 2012Livegang V1 (POC) im Januar 2013Stndige Weiterentwicklung seit Mrz 2013

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    TeamaufstellungProjektmanagementEntwicklungsteamQK-TeamBetriebsteam

    => AufwandsabschtzungErgebnis Kosten zu hochEntwicklungsdauer zu langeRisiken zu hoch

    Und jetzt?

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    DevOps AnsatzQK ersetzen durch automatisierte TestsBetrieb im EntwicklungsteamMonitoring mit IntegrationstestsVollstndige Testabdeckung der businesskritischen Funktionen Tracking aller relevanten Ereignisse und Zustnde

    TeamProjektleitung, Consulting, Businessanalyse: 1 FTEEntwicklungsteam + Architekt: 1-3 FTEBetriebsteam: -QK: -

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    KonsequenzenAnwendung muss testbar entwickelt werdenViel Aufwand in die Testautomatisierung investierenEntwickler erstellen Tests parallel zu den FeaturesTest laufen regelmig ber das ProduktivsystemAufwnde fr die Transition zu IT und QK werden in Automatisierung investiertVerantwortung fr Betrieb liegt im EntwicklungsteamSelbstverstndnis fr den gewhlten Ansatz bei allen Beteiligten

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    FeaturesVerwaltungsportal fr:

    > 10.000 Produktuploads + Aktualisierungen1800 eBooksRest-API fr DownloadlinksGeschtzte Downloadlinks (Klickzahl und Laufzeit)Freigabeworkflow fr neue ProduktversionenSkalierung bei Lastspitzen EchtzeittrackingInstallations- und Aktualisierungstests fr neue UploadsPersonalisierte Wasserzeichen

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    FDSTFS Build

    UploadDownload

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    FDS

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    TrackingServerseitiges TrackingAngebunden ber QueueEchtzeit und StatistikFeedback ber EventsBeliebige AnsichtenALLES tracken

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    MonitoringNagios als fhrendes Toolberwachung der Bandbreite (Downloadgeschwindigkeit) aller StoragesPermanente Integrationstests ber alle Inhalte + APIsberprfung der ausgelieferten Dateiversionenberprfung aller verfgbaren InhalteAbgleich mit dem Shop

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Dev (Implementierung).NET/C# in Visual StudioAzure SDK

    Azure Emulator fr lokale Entwicklung und TestsWorkerRole und CloudService Template (PaaS)Komponenten

    Azure SQL DatenbankWorkflows (WF)Azure Queues fr die Entkoppelung (z.B. Tracking)Mehrere entkoppelte Services (Endpunkte)

    Unabhngige DeploymentsUnabhngige Skalierung CI

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    DeploymentsBuild erzeugt fertige Azure Cloud Services (package)Lauffhig nur in AzureDeployment

    ber Azure Management-PortalVisual-StudioPowershell (Automatisierung)

    Mehrere Environments

    DevIntegration (Stabilisierung)Production

    -> nur ein Branch?!

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    TestProduction- und Stagingumgebung in Azure (pro cloud service)Test auf Integration Umgebung (Konfigurationsmangement)Lasttests bei neuen Features und genderten KonfigurationenIntegrations- und Freigabetests ber das Monitoring

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    ReleasefreigabeBlue/Green - VIP Swap(Konfiguration muss stimmen)Keine DowntimeRollback sofort mglich

    Betriebberwachung im Azure Portal (RAM, CPU etc.)berwachungs-ScripteNagiosBackupAufrumenu.v.a.m

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    SkalierungBenachrichtigung bei konfigurierbaren Ereignissen (z.B. CPU-Last grer 80%)Autoskalierung abhngig von CPU Last, Queue Eintrgen etc.Manuell (Azure Portal)

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Fazit - AzureAzure als Plattform von Anfang an sehr stabilStndige Weiterentwicklung + neue Services durch MicrosoftEinfaches Deployment (PAAS)Nachteil: Starke Bindung an die Plattform, Wechsel ist aufwndigKosten nicht sofort sichtbarSehr hohe Flexibilitt (neue Server, Testumgebungen etc.)SDK Version 1.8 is not supported any more Please upgradeMicrosoft Support ber Tickets aus dem Portal funktioniert gut(5 Klicks, Mail aus Indien oder Anruf aus Mnchen je nach Dringlichkeit)Gute Dokumentation zu Azure von MS und groe Community mit Lsungen

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Fazit - DevBei der Featureentwicklung auch die Testbarkeit im Fokus behaltenTests zusammen mit der Anwendung weiterentwickelnMindestens 20% der Ressourcen fr Automatisierung einplanenLaufende Integrationstests auf Production (hilft auch beim blue/green swap)Als Entwickler wird man auch zum OperatorVorteil: keine Reibungsverluste zu einer IT-AbteilungNachteil: Weniger Zeit zum Entwickeln, SSL Zertifikate etc.

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Fazit - OpsSehr viel Test-Automatisierung (CI) notwendig, damitman sicher sein kann, dass die neue Version funktional stabil istInfrastruktur ist eine Black Box (z.B. Lasttests aus Kroatien werden geblockt, aus D nicht)CI langfristig notwendig (am Besten gleich zu Anfang)Verantwortung fr Betrieb und Dev in einem Team. Keine Schuldzuweisungen und unklare VerantwortungenKeine langen Abstimmungen zwischen den TeamsProblem 24x7 allerdings noch ungelst

    20.10.2015Seite *FDSKarsten Gaebert, Helmut Strasser

    Ende

    Danke fr eure Aufmerksamkeit!

    *

Search related