Duration
4 days
Outline
Overview of CF
- Understanding IaaS, PaaS, and SaaS
- Understanding the Open nature of Cloud Foundry
- The Cloud Foundry Foundation
- App Centric platform
- Pivotal CF and Pivotal Web Services
- A guide to the documentation
CF CONCEPTS
- Complete coverage of Cloud Foundry concepts:
- applications,
- buildpacks,
- manifests,
- organizations,
- spaces,
- users,
- roles,
- domains
- , routes,
- services
GETTING STARTED USING CLI
- Using the CLI - login, target, push, apps, logs, scale, start, stop, restart, restage, un/map-route
- Understanding the Cloud Foundry URLs
- Understanding app names, hosts, domains, and routes
- The Apps Manager
- The push process: first look
GETTING STARTED USING ECLIPSE/STS
- Usage of the Eclipse plugin to push, scale, obtain logs, map/unmap routes, start, stop, restart
LOGGING AND TROUBLESHOOTING
- Understanding practical CF usage such obtaining logs, recent logs, CF_TRACE, events, debugging options, troubleshooting techniques
- Understanding Loggregator: sources and sinks, log types
- Understanding direct file access and its limitations
- Using SSH to access containers
- Simplifying the push process using manifests
- Understanding how staging works
USING MANIFESTS AND ENVIRONMENT VARIABLES
- Simplifying the push process using manifests
- Controlling application behavior via environment variables
- Understanding how scaling works
SERVICES INTRODUCTION
- Embracing the services abstraction
- Understanding Managed, User-defined, and Custom services
- Tour of the Pivotal CF services
- Understanding PWS services and App Direct
USING SERVICES
- Understanding service instance provisioning
- Behind the scenes: The Service Broker API
- Listing marketplace services, finding existing instances, creating new instances, binding instances to apps
- Accessing bound service information via VCAP_SERVICES, 3rd party libraries, and Spring Cloud
BUILDPACKS
- Understanding how buildpacks create language / framework openness
- The push process: a deeper look
- Built-in vs custom buildpacks. Buildpack compatibility
- Specifying buildpacks
CUSTOMIZING BUILDPACKS
- Understanding Buildpack structure
- A close look at the Java buildpack: container detection, framework detection, logged output
- Configuring the Java buildpack: runtime/container/framework version selection, resource configuration
- Extending the Java buildpack: supporting other runtimes/containers/frameworks
- Debugging the Java buildpack
MANAGING APPLICATIONS IN CLOUD FOUNDRY
- Understanding the importance of 3rd Party Log Management services and how to route application logs to them
- Gain insight into running applications by binding to Application Performance Monitoring tools.
- Learn how to automatically respond to changing load conditions using Pivotal Autoscaling
- Deployment techniques: Blue/Green deployment, Canary deployment
CF COMPONENTS
- Understanding Cloud Foundry components such as the Router, Cloud Controller, Cells and DEAs, Containers, Service Brokers
- Appreciating the differences between the original DEA architecture and the newer Diego runtime
HIGH AVAILABILITY
- Overview of BOSH
- The Four levels of High Availability provided by Cloud Foundry
- Understanding how the Converger or Health Manager ensure correct instance count.
APPLICATION DESIGN AND DEPLOYMENT CONSIDERATIONS
- Understanding the 12-Factor Application
- Cloud Foundry design considerations: routing, load-balancing, session usage, avoiding local file access, inbound port restrictions
SPRING AND CLOUD APPLICATIONS
- Examining how to make use of Spring IO, Spring Boot, Spring Data, and Spring Cloud
- Taking advantage of Profiles when running Spring applications
JAVA APPLICATIONS ON CLOUD FOUNDRY
- Understanding the impact of statefulness on a cloud-based application and how to mitigate it.
- Embracing environment variables for configuration
- Understanding the ephemeral nature of the local file system
- Understanding Auto-configuration
- Using Spring Cloud for service binding
- Management options using JMX over HTTP
- Local vs Cloud deployment
DEVELOPING MICROSERVICES
- What is a Microservice?
- The Pros, cons and challenges
- Refactoring an existing application
- Using Spring Cloud and the Spring Netfix components such as Eureka, Ribbon and Hystrix
Programme scope, delivery arrangements and suitability are confirmed during enquiry.