Book Image

Cloud Foundry for Developers

By : Rahul Kumar Jain, Rick Farmer, Wu
Book Image

Cloud Foundry for Developers

By: Rahul Kumar Jain, Rick Farmer, Wu

Overview of this book

Cloud Foundry is the open source platform to deploy, run, and scale applications. Cloud Foundry is growing rapidly and a leading product that provides PaaS (Platform as a Service) capabilities to enterprise, government, and organizations around the globe. Giants like Dell Technologies, GE, IBM, HP and the US government are using Cloud Foundry innovate faster in a rapidly changing world. Cloud Foundry is a developer’s dream. Enabling them to create modern applications that can leverage the latest thinking, techniques and capabilities of the cloud, including: ? DevOps ? Application Virtualization ? Infrastructure agnosticism ? Orchestrated containers ? Automation ? Zero downtime upgrades ? A/B deployment ? Quickly scaling applications out or in This book takes readers on a journey where they will first learn the Cloud Foundry basics, including how to deploy and scale a simple application in seconds. Readers will build their knowledge of how to create highly scalable and resilient cloud-native applications and microservices running on Cloud Foundry. Readers will learn how to integrate their application with services provided by Cloud Foundry and with those external to Cloud Foundry. Readers will learn how to structure their Cloud Foundry environment with orgs and spaces. After that, we’ll discuss aspects of continuous integration/continuous delivery (CI/CD), monitoring and logging. Readers will also learn how to enable health checks, troubleshoot and debug applications. By the end of this book, readers will have hands-on experience in performing various deployment and scaling tasks. Additionally, they will have an understanding of what it takes to migrate and develop applications for Cloud Foundry.
Table of Contents (12 chapters)

A brief introduction to TDD


Often, as developers, we prefer to run our applications locally as we develop them. This is a huge time saver in many cases as we rinse and repeat making updates or debugging while running our code through the well-worn TDD cycle of red, green, iterate. This means that, we start by creating a new test that proves some aspect of a feature that we want our code to have before the feature code is created—such that the test, when run, will fail (go red). We then create the actual feature code to satisfy the previously written test that enables the test to pass successfully (go green), followed by repeat iterations of debugging the feature code or creating more tests using the same workflow. The good side effect of TDD is that, not only do we end with code that works as intended—delivering on the promise of value the feature embodies; but, we also have clearly written tests that can serve as documentation for each feature.

With TDD, we get provable code that has many...