Modern Java applications are moving towards component-based architectures, as seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Topics include:
– The core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
– How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
– Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
– Commonality between delivery of SCS, microservices, and serverless components
– Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
– Validating NFRs within a service pipeline – Lessons learned in the trenches
Bio Daniel: Daniel works as an Independent Technical Consultant, and currently specialises in enabling continuous delivery within organisations through the identification of value streams, creation of build pipelines, and implementation of effective testing strategies. Daniel’s technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms, and microservice implementations. He also contributes to several open source projects, writes for InfoQ, O’Reilly, and Voxxed, and regularly presents at international conferences such as OSCON, QCon and JavaOne.