DURATION
Three days
Outline for Cloud-Native Applications and Microservices for Cloud Foundry Developers Training
Chapter 1. Designing Applications for the Cloud
• Monolithic Applications
• Disadvantages of Monolithic Applications
• Problems with Traditional Monolithic Application Design
• Dealing with Monoliths
• Microservices
• Microservices Cons
• Micro Frontends (a.k.a. MicroUI)
• Managing the Crowd (Call the Riot Police?)
• The Twelve-Factor App Methodology for Cloud Apps
• The Twelve Factors (Part 1 of 2)
• The Twelve Factors (Part 2 of 2)
• Summary
Chapter 2. Introduction to the Pivotal Cloud Foundry Platform
• Cloud Standardization
• Cloud Standard Example: Open Cloud Computing Interface
• Links
• What is Pivotal Cloud Foundry
• PCF vs Heroku
• Architecture Modernization
• Pivotal CF is An Enterprise PaaS
• The Focus: Distributed Applications
• Operational Aspects
• Cloud Foundry Foundation Members
• Traditional On-Premise vs IaaS vs Cloud Foundry
• What is Being IaaS-Independent?
• Cloud Foundry PaaS Certification Program
• Supported Runtimes and Frameworks
• Modern Release Engineering
• The Cloud Foundry BOSH Tool Chain
• Deployment of Cloud Foundry
• Interfacing with PCF
• Open Service Broker API
• 12 Factor Apps
• Comparing with IaaS
• The cf CLI
• Scaling
• CF Details
• Cloud Foundry Open Source vs Pivotal Application Service (PAS)
• PCF Marketplace
• Tasks and Long-running Processes
• Task Execution
• Summary
Chapter 3. Pivotal Cloud Foundry Components
• Overview
• Elastic Runtime (ER) Architecture
• Elastic Runtime (ER) Conceptual Diagram
• cf push High Level Orchestration
• Cloud Controller
• Staging
• The Available Buildpacks
• The Diego Subsystem
• Container
• Diego Cell
• Garden
• Rep
• Executor
• Putting it All Together ...
• The Bulletin Board System (BBS)
• Brain
• The Loggregator Subsystem
• Virtual Machines
• VM Notes
• Router
• Login
• Putting it All Together
• Stage / Run Flows
• Summary
Chapter 4. Pivotal Cloud Foundry Buildpacks
• Overview
• System Buildpacks
• Community Buildpacks
• Applying Multiple Buildpacks
• Droplet
• Staging Sequence
• Buildpack Main Scripts
• Example of bin/detect Script
• What IF No Suitable Backpack is Detected?
• Specifying the Custom Buildpack
• Check Available System Backpacks
• Checking the Backpack Your App is Using
• Deploying Docker Images
• Summary
Chapter 5. PCF Organizations, Spaces and UUA
• User Account and Authentication (UAA)
• Organization
• Organizations and Spaces
• Roles and Permissions
• CLI
• Summary
Chapter 6. Application Security Groups
• Application Security Groups (ASGs)
• Whitelist Approach
• Default ASGs
• Security Group Rules File Example
• View ASGs with the cf CLI
• Create a Security Group with cf CLI
• Bind an ASG
• Lock Down all the Egress Traffic for a Running App
• Configure the Outbound Traffic
• Summary
Chapter 7. Pivotal Cloud Foundry Autoscaling
• Overview
• The Application Autoscaling Service
• How App Autoscaler Determines When to Scale
• Autoscaling Events
• Set up App Autoscaler
• Summary
Chapter 8. Handling Logs
• In-Class Discussion
• 12 Factor App's Take on Logs
• The Log Flow Management System
• The Log Flow Diagram
• Restart or Not Restart the App for the Log Drain to Start?
• Summary
Chapter 9. CF Route Service
• Overview
• Architecture
• Fully-Brokered Service Model
• User-Provided Service Model
• CF CLI Commands
• Client Request Flow Diagram in User-Provided Service Deployment
• How It Works
• Summary
Chapter 10. Pivotal Cloud Foundry HA
• Overview
• Availability Zones (Level 1)
• Health Management for App Instances (Level 2)
• Process-Level Monitoring (Level 3)
• The monit and BOSH Agent Processes
• Resurrection of IaaS-level VMs (Level 4)
• Summary
Chapter 11. Blue-Green Deployment
• What is Blue-Green Deployment Pattern?
• How It Works
• What if I Need a Larger Maintenance Window?
• Step 1
• Step 2
• Step 3
• Step 4
• Implementations
• General Considerations for Application and Data Model Design
• Summary
Chapter 12. Miscellaneous Topics
• TCP Routing
• Distributed Transaction Tracing
• Continuous Delivery on PCF
• Summary