Microservices are independent applications that can be knit together into a larger system. Developers use microservices both to create new apps, and as a pattern to break apart and refactor legacy monolithic apps for the cloud era.
"Split That Monolith: A Java on Cloud Foundry Story"
Getting Agile with Microservices
Adopting a microservices architecture can have a number of benefits, including helping you to release software faster, update your software more frequently, and even add new features more quickly. Organizationally, a microservices approach lets you dedicate smaller teams to smaller sections of the overall system. As these teams work independently, they can deliver updates faster. Microservices improve your team’s ability to innovate, unblock creativity and release more frequently.
Why Platforms Benefit Microservices
Using an application development platform to manage the health and lifecycle of microservices will boost the efficiency of your efforts, as will a Continuous Integration tool, which takes responsibility for testing the code, approving it for release, compiling and publishing it.
Using microservices does increase the number of distinct applications that need to be managed, which potentially increases the operational complexity of your environment. Platforms make it easier by handling much of that operational complexity on your behalf. Your platform will make it easier to scale up your app when there’s demand, watch for unhealthy instances, describe services talking to each other, accept code being offered by Continuous Integration pipelines, and more.
Cloud Foundry Application Runtime (CFAR) automates updates to the libraries on which developers rely. Patching a library becomes very easy across a fleet of microservices. Platform operators can update the stem cell and root file system–the lowest level in a container–so that a rolling update of the whole platform can be kicked off.
By far, the most common use of CFAR is for microservices. 54 percent of those polled in our User Survey use Cloud Foundry Application Runtime for microservices, followed by websites (38 percent), internal business applications (31 percent), Software-as-a-Service (SaaS) (27 percent) and legacy software (eight percent).
When using Cloud Foundry Container Runtime, developers are responsible for updating underlying libraries themselves. Because it’s based on Kubernetes, Container Runtime handles networking between and provides extra resilience for deployed applications.
You don’t need to use a microservices architecture to get value out of Cloud Foundry — you can certainly run monolithic applications inside it too, and it will get many of the same benefits. But if you choose a microservices architecture, you will need a platform like Cloud Foundry to avoid operational complexity and focus on shipping great software.
Who Uses Cloud Foundry?
Enterprises around the globe trust Cloud Foundry to deliver apps written in any language to any cloud in minutes.