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.
– 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