EIEIOTECHNOVATION
← Training programmes

EIEIO / CLOUD & VIRTUALISATION

Pivotal Cloud Foundry Development

Course outline

4 days

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.