Production Line Architecture Victor de Lima Soares Systems Engineering – UFMG
Declarative Architecture Production Line Declarative Architecture Projects IV @Copyright E-SYSTEMS TECH, LLC 2017
Objectives Identify overall project objectives: Fast architecture delivery Secure architecture: by design Reproducible builds Secure lifecycle for code and architecture components Infrastructure as code, semantically managed Constant updates through CI for architecture as code Version control system for each component: OSGi artifacts, general code, architecture description, building systems… Self healing architecture @Copyright E-SYSTEMS TECH, LLC 2017
Project Scope Define a simple architecture with the following features: Source code should be automatically sent to Test and Production system as a unit Repositories should be automatically managed and linked to the registry Artifacts should versioned and each build should be reproducible Units of deployment (Docker) should be formed by units of functionally (OSGi) Service composition should be made through the composition of units of deployment Each unit of deployment should be self-contained, and immutable in every possible location Permission systems should be tailored to specific apps, while no container will run with administrative privileges Each instance should be recreated exactly as every other one created from the same process, resisting restart events May require more than one slide @Copyright E-SYSTEMS TECH, LLC 2017
Deliverables Open-source self building architecture Production pipeline as code – CI for each component and version controlled pipes Metric providers and collectors for Java apps @Copyright E-SYSTEMS TECH, LLC 2017
Success Factors Each element must be automatically built and have its building pipeline controlled by a version control system Each element should be hardened and resist security tests No software component should be provided by code – only from the warehouse (Artifactory) Final criteria: if a bomb explodes the data center, the architecture should be able to build itself in a second location @Copyright E-SYSTEMS TECH, LLC 2017
Project Schedule and Milestones Design Tech selection Third party services selected Milestone 2 Builder in place Hardened Warehouse for: modules and images Integrated: builder and warehouses Milestone 3 Metric collection for optimization algorithms Auto deployment Milestone 4 Be happy @Copyright E-SYSTEMS TECH, LLC 2017
Registry / cloud builder Image Source v1 v2 Img Remote Commands Artifactory: OSGi module Jenkins Gradle Git S1 S2 S3 Docker cluster Stackdrive Metric collector @Copyright E-SYSTEMS TECH, LLC 2017