top of page

Developing Applications with CloudFoundry.

Time:  40 Hours

 

Prerequisite:  

 

Understanding of application development and deployment. Java/Spring developers will find the most benefit from this course. Ruby/Rails and Node.js developers will find most content relevant and useful. Developers experienced in other languages may find portions of this course challenging.

 

Course overview:

 

This hands-on course provides students with the concepts and hands-on experience needed to work with and deploy applications–typically written in Java/Spring-on Cloud Foundry. Students will gain familiarity in Cloud Foundry concepts (applications, buildpacks, manifests, organizations, spaces, users, roles, domains, routes, services), how to push applications to Cloud Foundry (various languages), services, user provided services, manifests, YAML, environment variables, autoconfiguration, logging and loggregator, VCAP_SERVICES and  VCAP_APPLICATION. The course will provide hands on experience using Pivotal Web Services, the local command line interface, and the Eclipse Cloud Foundry plugin. Students will gain hands on experience in pushing apps to Cloud Foundry, accessing logs, scaling.  Students will learn about marketplace services and will gain experience with one or more examples. Students will explore topics directly related to Spring application development in the cloud, such as Auto-configuration and Spring Cloud.

 

Course Content:

 

1. 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


2. 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 Developer Console
•  The push process: first look

 

3. CF CONCEPTS
 

•  Complete coverage of Cloud Foundry concepts: applications,buildpacks, manifests, organizations, spaces, users, roles, domains, routes, services
 

4. GETTING STARTED USING ECLIPSE/STS
 

•  Usage of the Eclipse plugin to push, scale, obtain logs, map/unmap routes, start, stop, restart
 

5. 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
•  Simplifying the push process using manifests
•  Understanding how staging works, how scaling works

 

6. APPLICATION DESIGN AND DEPLOYMENT USING MANIFESTS AND ENVIRONMENT VARIABLES
•   Simplifying the push process using manifests
•   Controlling application behavior via environment variables
•   Understanding how scaling works

 

7. SERVICES INTRODUCTION
 

•  Embracing the services abstraction
•  Understanding Marketplace, User-defined, and Custom services
•  Tour of the Pivotal CF services
•  Understanding PWS services and App Direct

 

8. 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

 

9. BUILDPACKS
 

•  Understanding how buildpacks create language / framework openness
•  The push process: a deeper look
•  Built-in vs custom buildpacks.  Buildpack compatibility
•  Specifying buildpacks

 

10. 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


11. 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

 

12. CF COMPONENTS
 

•  Understanding the Cloud Foundry components: Router, Cloud  Controller, DEAs, Warden containers, Service Brokers, Health Manager, etc.
•  Understanding how the Health Manager ensures correct instance count.
•  Continuous Delivery with Cloud Applications
•  Learn how to establish a simple Continuous Delivery chain using a 3rd party tool 

 

13. APPLICATION DESIGN AND DEPLOYMENT CONSIDERATIONS


•  Understanding the 12-Factor Application
•  Cloud Foundry design considerations: routing, load-balancing, avoiding session usage, avoiding local file access, inbound port restrictions

 

14. 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

 

15. 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

 

Who should go for this course?

 

Application developers seeking introductory understanding of Cloud Foundry and hands-on experience using it to deploy, manage, and scale applications.

 

Special notes:

 

  • On-site training is also available for customers who prefer to bring a ITEXPS Instructor to their own facilities. For additional information about on-site classes, including facility requirements, contact ITEXPS

bottom of page