Blog
March 22, 2017 by Cloud Foundry Training, Training

Cloud Foundry for Developers

Day 1

Title Description Tools and Frameworks Workshop
Introduction
Introduction Agenda for the training. Verify environment configuration. General introduction for PaaS. What are the advantages of CF in comparison to bare IaaS.
Cloud Foundry overview CF infrastructure overview. Advantages and documentation. Useful resources. Terminology: Organizations, spaces, limits, qotas, services, roles
Introduction to CF Components CF Components overview (Controller, Router, DEA, UAA etc.)
Basic operations
Cloud Foundry CLI Management activities using CF CLI CF CLI Changing setting for quota, user/roles/spaces configuration using CLI.
Manifest.yaml configuration Overview, study configuration parameters manifest.yaml Sample applications deployment.
12-factor apps with examples
Introduction to spring boot Spring Boot overview. The most important Spring Boot components. Comparing Spring Boot with Spring. Spring Boot Create a simple REST service and deploy it to CF.
Codebase What happens when multiple apps use the same codebase. What are the consequences?
Dependencies Why is it a bad idea to use indirectly defined dependencies? How they can affect applications in Cloud Foundry.
Configuration Working with environment variables in Cloud Foundry. @RefreshScope, and services, like Archaius. Change log level in the run time
Services in CF Spring cloud and services configuration Data Services Attach MySQL and save requests from our REST service in the DB.
Build, Release and Run Define goals for each of the stages. Use Redis and sessionManager to keep a session in a DB. Run 2 instances and test the connection.
Processes Working with persistent information: sessions, files, etc. Redis, Session Manager Use Redis and sessionManager to keep a session in a DB. Run 2 instances and test the connection.
Network operations CF Network operations, TCP Routing.
Concurrency Comparing CF platforms. What approaches do they provide for scalability?
Disposability Application life cycle. What an application running on Cloud Foundry can do at shutdown.


Day 2

Title Description Tools and Frameworks Workshop
12-factor apps with examples
Dev/Prod parity The difference between dev and prod environments, how to use third-party services, and changes that need to be introduced to team structure and developers’ mindset. Vagrant Emulate similar local and production environment
Logs Log processing. The Cloud Foundry approach to working with logs: Elasticsearch/Logstash/Kibana. Log management, Elastic search, logstash, kibana Send logs to ELK and read values on the dashboard.
Admin Processes Why use a unified approach when working even with minor changes? An example with Liquibase. Liquibase. Manage changes to db schema in dev/QA/prod environments
Architecture
Monoliths and microservices Use cases where microservices can be useful. Examples of use cases where microservices shouldn’t be used. Discussion
Distributed tracing system in Cloud with Zipkin
Orchestration vs. choreography Compare both approaches based on the example in the previous step. Decomposing a monolithic architecture into microservices. Discussion
Security Web app SSO, configuring TLS, HTTPS, security key management
Service Discovery, Blue-green deploymen General concepts and a comparison of ZooKeeper, Eureka, and Consul. Domains and routes in Cloud Foundry. Blue-green deployments Eureka Create domain routes. Upgrade an application in zero-downtime mode
The trade-offs and benefits of local vs. remote calls between services The pros and cons for both approaches. Hystrix. Session propagation. Hystrix Create another REST service and use Hystrix for cross-service communication.
Troubleshooting Debugging techniques (cf apps, cf events, and cf logsrecent), remote debugging in CF. Troubleshooting containerized services. Debug
Operations
Continuous delivery and continuous integration How to work with CI/CD tools in CF. Organize development process using CF CI/CD
Metrics and Monitoring Tools and services. Examples.
Extra topics
High Availability in CF Introduction to HA in CF Recommen – dations
Tests for microservices Unit-tests, component tests, integration tests, and end-to-end tests. Limitations.


Day 3

Title Description Tools and Frameworks Workshop
Advanced topics
Cloud Controller API An example of how to work with the Cloud Controller API directly. Get information about events using API. Working with the Controller API using Curl
Memory Calculator for Java applications in Cloud Foundry How to optimize the memory used by Java applications in Cloud Foundry?Tune memory settings for a Java application. Memory Calculator
High Availability in CF Introduction to HA in CF. Placement strategy. Recommen – dations
Buildpack management
Buildpacks Buildpack definition. Buildpack management activities. Run a Java application locally using a buildpack.
Custom buildpacks How to create a customized buildpack. Modifying the existing buildpack. Example custom buildpack.
Dependencies Why is it a bad idea to use indirectly defined dependencies? How can they affect applications which are provisioned automatically? Buildpacks management
Services in Cloud Foundry
A custom service broker The role of the service broker in CF, how to create a custom service broker. Write a simple MySQL service broker for CF.

© 2001–2019 Altoros