Book Image

Cloud Foundry for Developers

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

Cloud Foundry for Developers

By: Rahul Kumar Jain, Rick Farmer, David 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 (20 chapters)
Title Page
About the Authors
About the Reviewer
Customer Feedback

What are microservices?

Some applications are easier to build and maintain when they are broken down into smaller services that work together. Each service is developed independently, and it has its own lifecycle. An application is made up of multiple such services. A microservice is a modular service that can be developed and deployed independently.

A microservices architecture is an approach to develop an application that is composed of smaller services. Each service runs in its own process and communicates with other processes over the network using HTTP/HTTPS, Messaging, WebSockets, or any TCP protocol. Each microservice implements a specific end-to-end domain or business capability within a bounded context, and each service is developed autonomously and deployed independently. A microservice should own its related domain data model and domain logic (sovereignty and decentralized data management), based on different data storage technologies (Caching, SQL, and NoSQL) and different programming...