What do developers choose when they need a fast performing datastore with a flexible data model? Hands-down, they choose Redis.
But, waiting for a Redis instance to be set up is not a favorite activity for many developers. This is why on-demand services for Redis have become popular. Developers can start building their applications with Redis right away. There is no fiddling around with installing, configuring, and operating the service.
Redis for Pivotal Cloud Foundry offers dedicated and pre-provisioned service plans for Cloud Foundry developers that work in any cloud. These plans are tailored for typical patterns such as application caching and providing an in-memory datastore. These cover the most common requirements for developers creating net new applications or who are replatforming existing Redis applications.
We'd like to invite you to a webinar discussing different ways to use Redis in cloud-native applications. We'll cover:
- Use cases and requirements for developers
- Alternative ways to access and manage Redis in the cloud
- Features and roadmap of Redis for Pivotal Cloud Foundry
- Quick demo
Presenters: Greg Chase, Director of Products, Pivotal and Craig Olrich, Platform Architect, Pivotal
1. The Fastest Way to Redis in
Pivotal Cloud Foundry
Greg Chase, Product Marketing
Craig Olrich, Platform Architect
2. Agenda
1. Redis, NoSQL and Cloud-Native Developers
2. Platform for Delivery of Redis as a Service
3. Design of Redis for PCF
4. Demo and roadmap of Redis for Pivotal Cloud Foundry
5. Q&A
3. Redis is a Unique NoSQL Offering
for Cloud-Native Developers
4. Open source key-value store used as a cache, data store, and queue
Redis is an In-Memory NoSQL Data Structure Server
● In-memory: entire data set is held in RAM
● Persistence: journal of changes to in-memory data set is persisted to
disk for durability
● Data types as keys:
○ Strings
○ Lists
○ Sets
○ Sorted sets
○ Hash tables
○ HyperLogLogs
○ GeoHash
● 49 Supported languages (including): C, C++, C#, Go, Haskell,
Java, Javascript, Objective-C, Perl, PHP, Python, R, Ruby, Rust,
Scala
5. Third most popular NoSQL engine, and #1 in-memory key-value store
Redis is Important For Your Developers’ Toolbox
● Has very different data model
from other popular engines
● Much more common than other
in-memory KV stores
● Great for caching & low latency
data management
7. 7
Software Cycles Need to Get Faster
Teams are trying to release faster with continuous delivery and devops
Sources:
1) How Netflix Deploys Code, InfoQ
2) Continuous Delivery + DevOps, Nicole Forsgren, Agile India, 2016
Service
Mindset
Time
Risk
Install
Mindset
Time
Risk
Cloud-Native
Practices
Infrequent (Manual) Delivery
Measured in months
Continuous (automated) Delivery
Measured in pushes per day
Don’t let manual provisioning of
systems get in the way of agile
delivery at scale
8. 8
How DIY Redis Impacts Software Cycles
One datastore
for many apps
Provisioning
systems
Build and configure
own data stack
Inconsistent
updates
Inconsistent
deployment
testing
Inconsistent
backups
Inconsistent security
settings
Slow
vulnerability
patching
Build &
Deliver
Production
Snowflake datastores case gaps in continuous delivery at all stages
Picking right
system sizing
9. Speed up software delivery by spending less time on overhead activities
Help Your Developers Focus on Value
Source: “Electric Cloud
LinkedIn Survey to
software developers”
Average Hours/Week
Business
Value
Overhead
0
3.25 6.5 9.75 9.75
Average hours spent per week by developers on tasks
10. Build apps faster with lots of choice; deliver faster with pervasive automation
Pivotal Cloud Foundry Allows Focus on Value
Languages Clouds
Platform Services OSes
MySQL
Dynatrace
AppMon
Spring Cloud
Services
Single
Sign On
✓ Consistent Contracts
✓ Fully Automated, Repeatable
platform managed DevOps
processes
✓ Developer + Ops Friendly
Constructs
✓ Easy to move/re-architect apps
✓ Infrastructure Failure Agnostic
Pervasive Automation
Automated, Fast, Flexible, Safe
Developer Choice
11. 11
cf push
~45
seconds
~15+
Days
Find available hosts
Install & configure runtime
Install & configure middleware
Pull application source code
Retrieve dependent libraries
Create application package
Install, configure dependent service(s)
Deploy container to host(s)
Load environment variables
Configure load balancer
Configure firewalls
Update service monitoring tools
Configure log collector
2 Days
1 Day
1 Day
¼ Day
¼ Day
¼ Day
2 Days
½ Day
¼ Day
2 Days
2 Days
3 Days
1 Day
Code Complete & Tested
Application in Production
Speed &
Consistency
Example Automation of App Deployment
13. Services leverage higher degrees of automation depending on APIs implemented
Levels of Service Integration in Pivotal Cloud Foundry
Unmanaged Services Managed Services On Demand Services
● External resources
● Automates application
binding
● Great for remote services
● Pre-provisioned BOSH-
managed resources
● Automates application
binding
● Great for shared services
● Dynamically provisioned by
developers
● Automates service creation
and application binding
● Used for dedicated
instances
Example Services:
14. Maximize developer choice while providing significant automation
Design Philosophy of Pivotal Data Services
Dedicated &
On Demand
Enterprise
Ready
Use-case
tailored
On-demand, self-service
provisioning of isolated
instances in any cloud.
Operator defined
plans, upgrade rules, and quotas
that meet enterprise requirements
Convenient packaging for
developers
15. Now providing on-demand, dedicated instances of Redis
New with Redis for Pivotal Cloud Foundry 1.8
Developers Operators
Sm plan
Med plan
Lrg planBApp Binding
● Operators create plans with varied VM and disk sizes to allow App Developers to choose the plan that fits their needs
● Plans are configured to enable caching with persistence and have operator-set quotas to manage resource use
● App Developer self-service to provision instances, removing transactional overhead from the Operations team
● Operators and App Developers can tailor certain Redis configurations to ensure instances fit use cases
16. Developers can access pre-provisioned single VM instances and shared VM instances.
Redis for Pivotal Cloud Foundry 1.8 – Additional
Developers
Operators
App
Binding
B
● Operators pre-provision a certain number of set VM and disk sizes for app developer usage
● Plans support in-memory data store scenario with persistence and automated backups with restore capabilities
● App developers can allocate pre-provisioned instances via self-service
● Shared-VM plan offers several instances within a VM to minimize resource use during development
App Binding
Pre-provisioned, dedicated VMs
Pre-provisioned, shared VM
B
B B
17. Enterprise-ready Redis as a Service
Redis for Pivotal Cloud Foundry 1.8 Features
Provisions Redis 3.2.8
Platform Integration Features
✓ Dynamically created, isolated Redis instances
✓ Pre-provisioned dedicated VM instances of Redis
✓ Pre-provisioned shared VM for small Redis instances
✓ Automated updates and upgrades by operator
✓ Customizable service plans
✓ Operator-set plan quotas
✓ Developers can migrate between plans
✓ “Secure by default” deployment
✓ Works with IPsec plugin for encrypted communication
✓ Deployment smoke tests
✓ Metrics and monitoring with Loggregator and syslog
✓ Operator managed backup policies and database restores
18. Maximize developer choice while providing significant automation
Operator & Developer Lifecycle
Operator DeveloperRedis for Pivotal
Cloud Foundry
Enable and configure
on-demand plans
Enable and configure
pre-provisioned plans
Install Redis Create service broker VM
Broker registers plans as
available in marketplace
[Dedicated-VM/Shared-VM only]
Create configured number of
dedicated VM instances
Run smoke tests
19. $ CF create-service [service] [plan] [instance name]
Create or allocate Redis instance
if quota or pre-configured
instances are available.
App gains access to Redis
service instance
$ CF bind-service [app name] [instance name]
App access to Redis service
instance is revoked
$ CF unbind-service [app name] [instance name]
Redis service resource is
destroyed or pre-provisioned
instance is flushed and pooled.
$ CF delete-service [instance name]
Service broker ready
Update service Update service broker VM
Update all service instances
Run smoke tests
Service broker ready
20. Provide Redis as a service for your developers in any cloud
Use-case Tailored Redis Plans
Net new
Redis Apps
Replatformed
Redis Apps
Caching
In-memory data store
Backing Service for Spring
Services & projects
21. How On Demand Redis Speeds Software Cycles
Automated provisioning of dedicated instances aids continuous delivery
Example Concourse pipeline utilizing Redis for Pivotal Cloud Foundry self-service provisioning for automated testing:
22. Focus on value developing data-driven applications
Benefits of Redis for Pivotal Cloud Foundry
Benefits for Developers
➢ Focus time on coding, not data
storage administration
➢ Get fast access to systems
➢ Isolated from noisy neighbors
➢ Flexible control when needed
➢ Choice of system configurations
suited for use cases
➢ Visibility into data store events &
operations
➢ Data is safely backed up
Benefits for Operators
➢ Focus time on improving platform,
not patching and administration
➢ Scale operations to support more
apps and developers
➢ Minimal time to update and patch all
deployed databases
➢ Bugs and vulnerabilities are patched
quickly
➢ Efficient consumption of resources
➢ Consistently enforced security
➢ Avoid data loss & recover quickly
24. Demo Redis App
User
Developer
Push the app Create Redis
service instance
Bind service
instance to app
App is ready
View app
interface
App in PCF Redis service
instanceCheck for
values in
cache
Returned cache value, if any
Cached values
expire over time
Market data API
No cached
value? Fetch
new data
Update cache with fetched values
25. Quarterly release cadence
Futures for Redis for Pivotal Cloud Foundry
First on-demand version
Q1 Q2 Q3 Q4
1.8
CY
1.10 1.11 1.12 1.13
2018+
On-demand datastore plan
Migration from pre-configured to on-demand
Further enhancement of on-demand instances
1.9 1.10 1.11
26. Note: Redis for Pivotal Cloud Foundry 1.9 is due to be released at the end of the month
Where to get more information
● Read the documentation
● Download Redis for Pivotal Cloud Foundry on Pivotal
Network
● Try out Redis in a Pivotal Cloud Foundry Developer’s
Sandbox