In times of profound change, the learners inherit the earth, while the learned find themselves beautifully equipped to deal with a world that no longer exists. - Eric Hoffer
GOAL: Continuous Delivery
WHAT: 12 Factor Apps
12 Factor Apps: …separate code from configuration, stateful data from stateless processes, build steps from deployment; and Trust operations to the platform.
Continuous Delivery Release early and often Higher Quality of Code DevOps Shared responsibility Common incentives, tools, process and culture Microservices Loosely coupled components Automated deploy without waiting on individual components Cloud Native Platform
Cloud Native Framework Contract: 12 Factor App Contract: BOSH Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Tools Spring Cloud Spring Boot Cloud Foundry BOSH AWS VMware OpenStack Application Framework Runtime Platform Infrastructure Automation Elastic Infrastructure IT Ops IT Ops
Why Cloud Foundry? “It’s definitely around speed to market, but it’s also about getting it right faster.” George Sherman, CIO of JPMC “100% uptime.” - Alex Curtis, Garmin “From 100 days to minutes. That’s what Pivotal CF gives us.” - Andy Zitney, SVP, Allstate
The Cloud Native Pipeline Deliver High Quality Software, Faster and Continuously From Idea to Production Solution: Distributed revision control and source code management. Collaborative software development Solution: Build and test software projects continuously and incrementally. Hundreds of compatible plugins Solution: Share binaries and manage distributions. Manage artifact lifecycle. Avoid license violations Develop, test, QA and production on the same platform. Simple, developer friendly commands and APIs. Operational benefits for every app. Built-in ecosystem services. Deploy, operate and scale on any IAAS AUTOMATION. Integrate tools and automate processes from testing to builds and deployment SPEED. Release more frequently with smaller bits will reduce complexity and improve time-to-market QUALITY. Reduce feedback loop using test- driven development to surface problems sooner and be responsive AGILITY. Push updates on regular basis with no downtime to improve customer experience and time to market Commit Code Change Automate Build & Test (Unit Test, Static Code Analysis) Store Binaries & Build Artifacts Automated Integration Testing Acceptance, Performance & Load Zero Downtime Upgrade to Production Build Pipeline Operations Tool Chain Gitlab Jenkins Development Test + UAT + Staging Production Problem: Customers want to use Git distributed source code control system, yet maintain on-premise control of it Problem: Current application delivery pipeline is manual and error-prone, and lacks automation, scale, speed, transparency, compliance and reliability. Problem: Development requires management of binary artifacts to incorporate 3rd party components and track application binary artifacts
Microservices: Scale Agile Teams Spring Cloud Designed for elastic infrastructure in partnership with Netflix n+1
Netflix deploys software into production thousands of times every day. How?
core boot Cloud Services Service Registry Config Server Circuit Breaker Ops + Platform Dev Spring Cloud: Cloud Native Application Framework Rich, production ready library based on Netflix OSS for cloud native components, security and management.