Click here to load reader

Verteilte Entwicklung Herausforderung, Betrachtungen und ... · PDF file Continuous Integration / Delivery braucht „zentrale“ Infrastruktur DevOps / „DevProd“ Kleine Schritte

  • View
    1

  • Download
    0

Embed Size (px)

Text of Verteilte Entwicklung Herausforderung, Betrachtungen und ... · PDF file Continuous...

  • Verteilte Entwicklung Herausforderung, Betrachtungen und Lösungansätze

    Embedded Computing Conference 2016 Winterthur, Schweiz 31 Mai 2016

    Philip Zollinger

  • 1 - © EVOCEAN www.evocean.com

    Administrativer Aufwand für verteilte Entwicklungs nimmt überproportional zu

    Zusammenarbeit nimmt ständig zu

    Globalisierung nimmt zu

    Entwicklungs-Takt und -Schnelligkeit nimmt ständig zu

    Zugriff auf korrekte „Entwicklungsdaten“ Ressourcen, ortsunabhängig ist kritisch

    Fokus auf Kernkompetenzen ist wichtig

    Sicherheitsaspekte

    Stabile, robuste „Infrastruktur“ immer wichtiger

    Flexibilität / Agilität nimmt einen immer höheren Stellenwert

    Entwickler müssen einfach zu den Information kommen

    Was bewegt mich darüber zu sprechen

  • 2 - © EVOCEAN www.evocean.com

    EVOCEAN – www.evocean.com

  • 3 - © EVOCEAN www.evocean.com

    Configuration Management

    Model Driven Development

    Requirements Management

    Lean & Agile

    Quality Management

    Continuous Improvement

    Improving Software-, Product- and Systems Engineering.

    Internet of Things Threat Detection

  • 5 - © EVOCEAN www.evocean.com

    SORRY – Meine Folien sind in deutsch und englisch …

  • 6 - © EVOCEAN www.evocean.com

    Wachstum

    Akquisition

    Zusammenarbeit mit Partner

    Zugriff auf Ressourcen

    Flexibilität von Arbeitsmodellen

    Innovativ bleiben

    Lokal sein auch wenn global

    Treiber einer verteilten Entwicklung

  • 7 - © EVOCEAN www.evocean.com

    Agilität schneller, Feedback, adaptieren

    Continuous Integration / Delivery braucht „zentrale“ Infrastruktur

    DevOps / „DevProd“ Kleine Schritte - Zusammenarbeit zwischen Entwicklung und Operations / bzw. Produktion

    Collaborative Engineering über mehrere Disziplinen (Systems Engineering)

    IoT , Industrie 4.0 wird dies verstärken

    Einfluss von aktuellen Trends Agilität – Continuous Delivery – DevOps – Collaborative Eng.

    https://www.zukunftsinstitut.de/dossier/megatrends/

  • 8 - © EVOCEAN www.evocean.com

    Herausforderung unterschiedliche Stakeholder Anforderungen

    Developer Productivity

    Non-Technical Contributor Productivity

    Production Needs

    Corporate Goals

    Quality and

    Security

  • 9 - © EVOCEAN www.evocean.com

    Was braucht die Entwicklung Aus Entwicklersicht

    Einfacher Zugriff auf Daten

    Klare Kommunikation von Produktstrategie, Aufgaben und Prioritäten

    Möglichst schneller Feedback auf Arbeit

    Einfache Zusammenarbeit im Kontext mit anderen

    Zufriedene Entwickler sind sehr wichtig für Produktivität

  • 10 - © EVOCEAN www.evocean.com

    Was braucht die Entwicklung aus IT Adminsicht

    Schlanke Admin der Infrastruktur

    Sicherstellung der Verfügbarkeit der Infrastruktur und Zugriff

    Sie will sicherstellen dass User immer arbeiten können

    Monitoring zwecks schnellem agieren bei Problemen

    Hybrid Cloud Strategie – möglichst offene Standards

  • 11 - © EVOCEAN www.evocean.com

    Was braucht die Entwicklung aus Entwicklungsleitungssicht

    Sichere robuste Infrastruktur, damit die Entwicklung arbeiten können – hoher SLA. - klare HA/DR Strategie

    Klare Produkt Linien, bzw. Plattform Strategie -> Wiederverwendung

    Klare System- / Produkt- / Software-Entwicklungs Lifecycle Strategie, Change Management

    Schlanke Prozesse die keinen unnötigen Ballast haben

    Raum für Innovation, klare Prioritäten, Ziele

    Automatisation wo sinnvoll

    Möglichst einfach skalierbar Infrastruktur, flexibles Ressourcenplanung

    Schlankes zielorientiertes Reporting.

    Klare transparente Sicht „wo“ die Projekte stehen, was fehlt …

    Verbesserungsinitiativen: Schnelligkeit, Produktivität, Zusammenarbeit

  • 12 - © EVOCEAN www.evocean.com

    Was braucht die Entwicklung aus Unternehmersicht

    Schutz von IP / Daten

    Möglichst einfach skalierbare Infrastruktur

    Konformität bezüglich gesetzlichen Regulatorien (Compliance / Standards)

    Schlankes zielorientiertes Reporting

    GL will zu jedem Zeitpunkt wissen „wo“ die Projekte sind.

    Produkt (Portfolio) / Markt / Innovation-Strategie

    Verbesserungs-Initiativen bezüglich Time to Market, Innovation, Produktivität

  • 13 - © EVOCEAN www.evocean.com

    Was wir öfters antreffen ….

    Repository sprawl • Teams use their own stores • SCM tool limits force artificial splits • Siloes, poor visibility, no sharing, low security, broken builds

    Inefficient CI / DevOps • Little/no CI • Slow, broken builds • Multiple security models

    Poor scaling for distributed teams • Add-ons needed • Complex setup, on-going management • Poor performance

  • 14 - © EVOCEAN www.evocean.com

    Techniken

    Lean, agile Prinzipien

    Requirements Engineering

    Klare Produktlinienstrategie , bzw. Platformstrategie zwecks Wiederverwendung

    Versionieren, Varianten Management über alle Artefakte Keywords „Streams“ bzw. „global Configurations“

    Visual Management – Boards

    Collaboration im Kontext– Reviews, Konversationen über Artifakte

    Systems Engineering – Model Based Systems Engineering, Model Driven Development

    Continuous Integration / DevOps / Continuous Delivery (Automated Testing: PreComit, PostComit)

  • 15 - © EVOCEAN www.evocean.com

    Asset Storage

    Vision – Single Source of Truth

    Asset Storage as “Nerve Center” for entire Organization

    DBAs

    Release ManagementOperations

    Systems Engineering Quality Assurance

    Development

    Production state flags

    Automated Installs

    Operation scripts

    Automated Deployments for dev/QA/production

    Source code repository

    Logging for all automation

    Historical reporting repository

    Puppet manifests

    Puppet logs

    SAE scripts

    Oracle scripts

    SQL server scripts

    SQL server packages

    QA application configurations

    All installs taken from Perforce

    Source Code Repository

    Unit testing configurations

    Development tools/scripts

    Drawings etc.

    MonoRepo

  • 16 - © EVOCEAN www.evocean.com

    Lösungsvision

    Digital Asset Storage

    Planning Task Man.

    Require- ments

    Develop- ment

    Quality Assurance

    Deploy- ment

    Maint- enance

    Collaboration - Realtime Reporting - Traceabilty

  • 17 - © EVOCEAN www.evocean.com

    Verteilte Infrastruktur (Digital Storage)

    Versioning Service

    Proxy

    Proxy

    Replication ServiceD/R

    Build Replica

  • 18 - © EVOCEAN www.evocean.com

    Verteilte Infrastrukur - Narrow cloning

    Any file type Any number of files Any size of history

    Art

    Code

    Core

    iOS

    Win

    Tests

    Shared Helix

    Code

    Core

    iOS

    Tests

    Jill’s Helix repo

    Code

    Core

    Win

    Tests

    John’s Helix repo

  • 19 - © EVOCEAN www.evocean.com

    Verteilte Infrastruktur - Shallow cloning

    #1

    #2

    #3

    #4

    #1

    #2

    #3

    shared local

    #3

    #2

    #4

    #3

    clone –m 2

  • 20 - © EVOCEAN www.evocean.com

    CSODevOps

    Infrastruktur optimiert für Continuous Delivery

    Trunk Based Development Continuous Integration

    Infrastructure as Code Continuous Testing

  • 21 - © EVOCEAN www.evocean.com

    Open Standard to share data more easily

    Better integration between tools

    Flexible, robust connections

    Exposing more data

    Many contributors from many industires

    Simple specifications as a common baseline which can be extended

    Inspired by the web and linked data standards

    Access with RESTful services throuh URL

    Challenge: Tool Integration Open Service Lifecycle Management (OSLC)

    http://www.oasis-oslc.org http://www.open-services.net

  • 22 - © EVOCEAN www.evocean.com

    Engineering teams are meeting the challenge with Continuous Engineering platform

    Requirements

    Design

    Tracking, planning, change management Configuration management

    Reporting and analysis

    Validation & Verification

  • 23 - © EVOCEAN www.evocean.com

    Verteilte Entwicklung: Streams

    Enforce trunk-based development principles Built-in tracking of parent-child relationships Automate trunk integration, everyone in sync Task streams for per-task branching Quick context-switching

  • 24 - © EVOCEAN www.evocean.com

    Component-based development (CBD)

    • Complex project broken down into smaller independent components

    • Each component has its own lifecycle • There can be multiple releases

    • CBD assembles components in configurations

  • 25 - © EVOCEAN www.evocean.com

    Component-based development

    • Streams are the versioned configur

Search related