On behalf of the Spring, Apache Geode, Pivotal GemFire and Pivotal Cloud Cache (PCC) communities, it is my pleasure to announce the release of Spring Boot for Apache Geode & Pivotal GemFire (SBDG)
SBDG 1.2.0.RELEASE is based on the Spring Boot 2.2.0.RELEASE and can be acquired from Maven Central.
org.springframework.geode:spring-geode-starter to use Apache Geode or
org.springframework.geode:spring-gemfire-starter to use either Pivotal GemFire or PCC in your Maven or Gradle build files and you are ready to start building highly scalable Spring Boot applications using these technologies.
Alternatively, you can start with Spring Initializer at start.spring.io.
See the "Getting Started" Guide to help you get up and running quickly, easily and reliably.
The Journey to 1.2 and the Cloud
An imperative part to SBDG’s story from the very beginning has been to help users prepare for their journey to the cloud by transforming apps into modern, fully integrated, "Cloud-Ready" services, even before being Cloud-Native, which is much more than just a technical problem.
To partly arrive at this lofty destination, you need a framework backed by technology that enables you to:
Move from a Non-Managed Platform (Standalone, Externally Managed Services) to a Managed Platform (e.g. Pivotal Platform).
And do so with little to no code or configuration changes. It should just work!
Being able to move in the opposite direction is also crucial, especially during the discovery and development phase of your project, because it enables you to iterate quicker.
This process must happen in a natural and non-invasive manner that allows you to pick and choose what capabilities you need, when you need it. Capabilities, such as caching, distributed compute and event stream processing, to name but a few, must be quick and easy to apply, and they must work reliably and be consistent regardless of the context in which the application is run.
This is not only true for new applications, but existing ones as well, that is, if you want to remain competitive and quite frankly, relevant. I really like the messaging behind this story from Oded Shopen concerning Microservices. If you get a chance, also check out his talk.
If one thing has become overwhelming apparent in the new cloud era, and more generally, in the never ending cycle that is technology, it is that we have now reached a new height in complexity. Too many layers: OS, Virtualization, Containers, App Servers, and underpinning all this, vendors selling you their *aaSes (IaaS, PaaS, SaaS).
If anything, less is more and being able to do more with less.
SBDG is uniquely positioned to do that in part because Apache Geode was somewhat ahead of it’s time, designed from the ground up with a shared-nothing, scale-out architecture, which is so crucial to running smoothly in the cloud. Consistency is also preserved.
Then, Spring, and in particular, Spring Boot, is a technology well positioned to handle any use case, especially use cases suited for Microservices. The complexity problem stated above is what makes a framework in general, and Spring Boot in particular, so important, more than most will probably appreciate.
As a result, SBDG becomes subtly yet obvsiously compelling. It seamlessly blends these two powerful technologies together to handle modern as well as existing workloads without having to use every technology known to boot.
It isn’t only about the things you would normally think of, such as data access, but also things you don’t (initially) think about, such as Data Serialization or Security (both Auth and TLS), that SBDG auto-configures for you in a context-aware manner. For example, see Issue #61.
Some of the other main themes that came out of the 1.2 series leading up to final GA were:
Assigning specific users, with non-arbitrary roles and permissions, to run your Spring Boot applications in PCF when using PCC.
Being able to target a specific PCC service when your Spring Boot applications are possibly bound to multiple instances, or maybe even use multiple instances if necessary.
Support for Hybrid Cloud Deployments.
Support for multiple Caching Patterns: Look-Aside, Inline and Near Caching along with dedicated support for the most common form of caching, HTTP Session Caching.
See the changelog for specifics on the 1.2.0.RELEASE.
Now that SBDG’s story is coming to fruition and is in alignment with Spring Boot’s release cadence, we want to expand on the existing features and make certain Cloud Data Access patterns even easier to accomplish. Some of the Cloud Data Access patterns beyond just Caching include:
Event Stream Processing & Messaging
Query + Search
System of Record
Look for more Guides and Examples on how to employ these patterns in your Cloud-Native, Spring Boot applications, and how SBDG with the power of Apache Geode makes short work of these patterns in practice.