Pivotal GemFire, a high-performance, in memory database and event-oriented persistence layer that supports strong data consistency, is now available on-demand for Pivotal Cloud Foundry. GemFire for Pivotal Cloud Foundry delivers one of the market’s most powerful in memory technologies on Pivotal’s open cloud native application platform. In this post, we’ll discuss the new GemFire for Pivotal Cloud Foundry service and how to get started today.
GemFire is an in-memory, distributed database, architected for high performance transactions, elastic scalability, and high availability. Unlike traditional key-value stores, GemFire allows for accessing data by query, as well as event notifications, continuous querying, and MapReduce (via GemFire functions). Its event orientation and transparent data partitioning allow the database to quickly and efficiently scale, with customers operating up to hundreds of nodes to support 40,000 visits per second, 5TB of data in memory, and 120,000 concurrent bookings.
GemFire is a particularly useful database when you need to avoid making trade-offs between different application requirements, such as:
- Data consistency: If the application has a transactional component that requires strong data consistency, the persistence layer needs to support Atomicity, Consistency, Isolation, Durability (ACID) consistency. GemFire supports configurable consistency and is capable of providing ACID consistency across distributed nodes to support high capacity transactional applications.
- Performance: When it comes to speed, in memory datastores are generally the fastest. Another performance consideration is the need for event-orientation, or an event-driven data architecture, which allows clients to listen for changes in data, rather than repeatedly querying the database. GemFire stores all required data in RAM and allows for “continuous queries” to minimize overhead on the database.
- Availability: Depending on the function of an application, it may have different tolerance levels for availability. Anything transactional will need high availability and fault tolerance. Adding in geographic distribution provides greater availability.
- Scalability: Many NoSQL databases, including GemFire, scale horizontally to support a high volume of reads. GemFire also optimizes how data is sharded out on to different nodes with transparent data partitioning, without requiring the application to know where each piece of data is located. This helps scalability as manual updates are avoided as the system scales.
- Available as-a-service: Databases that have been preconfigured to run on a platform make it easy for developers to request and bind the database to an application that supports agile development and DevOps practices. Instead of lengthy deployment cycles, applications built with microservices persisted in a database service can quickly move into production. Now, as a service on Pivotal Cloud Foundry, GemFire is available as an on demand service.
For example, GemFire excels when you need scalability, full consistency, and high performance, all of which are table stakes for many of today’s cloud native applications.
GemFire is also useful when the complexity of an enterprise application requires different data access patterns—including querying, continuous querying, key-value access, or transactions—within different business contexts. For example, an application that supports purchasing transactions needs a data store that can support transactions, but you may also want to analyze that data using an in-memory MapReduce approach with GemFire functions.
Why else is it important to avoid trade-offs and support different access patterns? If you have a database that can solve for a number of use cases, and do them well, you can simplify the number of databases in use and hone all the skills and tribal knowledge that goes with it. In other words, polyglot persistence is great, but different databases to support different models introduces overhead.
Let’s take a quick look at why having this world-class IMDB inside today’s cloud native application platform is so unique.
Introducing GemFire for Pivotal Cloud Foundry: Cloud Native, Scalable Persistence
As a service on Pivotal Cloud Foundry, admins can quickly configure different sized service plans and create a pool of instances for GemFire. Developers then have the option to draw down instances and bind them to their applications.
Service instances are single-tenant, run on dedicated VMs and are fully configurable, making them well suited for cloud native applications and services, where different applications may have different requirements. GemFire for Pivotal Cloud Foundry comes with a CLI plugin that provides developers with commands for managing service instances, including cluster configuration, restarting, and accessing GemFire logs and statistics. Watch this video to see how to setup GemFire for Pivotal Cloud Foundry using Ops Manager and monitoring with Pulse.
Pivotal Cloud Foundry allows you to transparently and consistently deploy services, like GemFire, in different clouds, including vSphere environments, vCloud Air, and Amazon Web Services. The platform takes care of VM health monitoring, and recovery by replacing failing processes inside GemFire VMs and replacing failing VMs automatically. This allows developers to focus on their applications, while operators are unburdened from the overhead of managing high availability through automation.
Getting Started with GemFire for Pivotal Cloud Foundry
GemFire for Pivotal Cloud Foundry is now available on PivNet. As you’ll see in the documentation, it installs like any other PCF service. This first release provides the basics of GemFire’s capabilities, with the vision for the service to achieve feature parity with the core GemFire software. If you’re new to services on Pivotal Cloud Foundry, start by reading this blog post on why services are essential to a platform like Cloud Foundry.
Once the service is installed and configured, developers can begin to use GemFire as a persistence layer for their applications. When a service instance is allocated, a GemFire cluster is dedicated to it and ready for configuration to the specific needs of the application.
Since GemFire is based on the open source Apache Geode project, developers can access a number of getting started guides and training. You can also get hands-on training with Pivotal’s team of specialists for developers (PDF), and administrators (PDF).
- GemFire for Pivotal Cloud Foundry
- More about GemFire
- More about Pivotal Cloud Foundry
- New Pivotal Cloud Foundry Service: GemFire Session State Caching
- Why services are essential to Cloud Foundry
- Migrating to Cloud Native Application Architectures
Editor’s Note: ©2015 Pivotal Software, Inc. All rights reserved. Pivotal and GemFire are trademarks and/or registered trademarks of Pivotal Software, Inc. in the United States and/or other countries.Apache, Apache Hadoop, Hadoop and Apache Geode (incubating) are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
About the Author
Dormain leads Product Marketing for Pivotal Platform Ecosystem, including GemFire, Pivotal's PCF Services offerings, and ISV offerings for PCF. Previously, she was Director of Product Marketing for Mobile and Pivotal Data Suite. Prior to Pivotal, she was Director of Platform Marketing at Riverbed Technology. Prior to Riverbed, she spent over 5 years as a technology investment analyst, closely following enterprise infrastructure software companies and industry trends. Dormain holds a B. A. in History from the University of California at Los Angeles.Follow on Twitter More Content by Dormain Drewitz