Greg Simons 15/12/2015 Disclaimer: I am not affiliated directly with Cloud Foundry or the Cloud Foundry Foundation Getting started with
(Wiggins) Migrating to Cloud-Native Application ArchitecturesMigrating to Cloud-Native Application Architectures (Stine) MicroservicesMicroservices (Fowler) Stormy Technology Evangelist Cloud Foundry
Elastic infrastructure? API Provisioning? Scalable? Cheaper? Containers, Virtualisation?
Building an application that is specifically designed to run in a cloud environment.
Cloud Native is a way of life!
Speed Safety Scale Client Diversity
Fast Provisioning Fast delivery How do I know if we are already fast? How long would it take for you to get a single line of code in to a production environment?
Building a Production ready application architecture that’s: Highly available (100%) not the 5 9’s approach So how do we do this?
It’s all about the Open Source
Used to be about code. About cost savings Now that’s table stakes.
Mobile Clients
We see a world of cloud computing that is UBIQUITOUS and FLEXIBLE supporting public, private, and hybrid application environments. PORTABLE and INTEROPERABLE enabling users to move their applications wherever they need to go. VIBRANT and GROWING underlying a massive ecosystem of applications and developers based on an efficient marketplace.
12 factor Microservices Anything else?
Single deployable unit not the collective “Application”
1) Codebase 2) Dependencies 3) Config 4) Backing services 5) Build, release, run 6) Processes 7) Port Binding 8) Concurrency 9) Disposability 10) Dev/Prod Parity 11) Logs 12) Admin Processes Traditional App 12 Factor App Time between deploys WeeksHours Code authors v code deployers Different people Same people Dev v Prod DivergentAs similar as possible
No, provided your Organization is ready and willing to change!!!
Team structure Less dependency on tech stack (microservices) DevOps (IaaS > PaaS) Application Release Automation API Provisioning
Without organisational change We end up missing points of the value behind the Agile Manifesto
Release boards, approval boards, committees “can” hinder speed, increase cost to delivery!
Gold Silver
Prescriptive Assembly CHRONOS runC scheduler.next gorouter Cloud Controller Auth Loggregator Staging Buildpacks BOSH Service Broker Diego etcd Core Services container.next
Carrier Networking Datacenter Networking Datacenter Operating Systems Hardware Virtual Machines Operating Systems Application Platforms Programming Frameworks Containers
I have Cloud Foundry setup with: Virtual Box Vagrant Bosh-lite
Login Push Scale It’s that easy !
DEMO Application
Thank you for listening! Greg Simons (Technical