Chief Technical Evangelist -...

35

Transcript of Chief Technical Evangelist -...

Page 1: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something
Page 2: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something
Page 3: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Chief Technical Evangelist – Cloud

blog.

www.brianHprince.com

twitter.

@brianHprince

email.

[email protected]

• Author of “Azure in Action”

• Deep cloud and architecture background

• Experience leading agile software teams

“I love gaming, both Xbox and table top

games. I just crossed 70,000 achievement

points.”

Page 4: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Agenda

• Why use Cache

• Redis

• Azure Offering

Page 5: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Typical Caching Patterns

Web Tier

Data

Storage

SQL

Data

Page 6: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Typical Caching Patterns

Web Tier

Cache

Data

Data

Storage

SQL

- High Throughput

- Low Consistent Latency

50% : <3ms

99% : <10ms

Azure

Region

Page 7: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

REDIS

Page 8: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

“Redis has many different use cases. The simplest way to describe it

is something between a traditional database and doing

computations in memory. Redis exposes data structures that are

accessed in memory via a set of commands. ” – Salvatore

“ Redis is an open source, BSD licensed, advanced key-value store. It is often

referred to as a data structure server since keys can contain strings, hashes,

lists, sets and sorted sets. ” - redis.io

What is Redis?

Page 9: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Rich Redis Ecosystem

• Proven at scale

• Twitter, Github, Weibo, Pinterest, Snapchat, Craigstlist, StackOverflow, Flickr …

• Knowledgeable community

• Rich set of clients, higher level libraries

• Easy to hire for

Page 10: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Core Redis Features

• Low latency, high throughput key-value store

Per Key expiry, choice of eviction policies

• Atomic operations on data types

Strings, hashes, lists, sets, sorted sets

• Publisher-Subscriber pattern

• LUA scripting

• Transactions

• Pipelining

• Client libraries in multiple languages

Page 11: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Redis Admin Features

• Highly customizable replication support

• Supports hierarchy of ‘Slaves’ per ‘Master ’

• Persistence support *

• Point in time, Log every write, or both

• Clustering *

Page 12: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

REDIS CACHE

- CLI

- VS

- AZURE

Demo

Page 13: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

AZURE REDIS CACHE

PaaS Service

Page 14: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Azure Redis Cache

• Redis Cache hosted and managed by Microsoft

• Dedicated virtual machine per cache

• Sizes: 256 MB, 1 GB, 2.8 GB, 6 GB, 13 GB, 26 GB, 53 GB

• Available in all Azure Regions

• Except China and Government cloud

• Basic SKU : Single cache node

• Standard SKU: Cache node + one replica

• Availability SLA of 99.9%

• SSL support

Page 15: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Azure Redis Cache…

• Monitoring/ Diagnostics

• Alerts

• ASP.NET Session & Output Cache Providers

Page 16: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

HIGH AVAILABILITY

Standard SKU only

Page 17: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

High Availability

Availability Set

Master Slave

Page 18: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

High Availability

Availability Set

Master Slave

Page 19: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

High Availability

Availability Set

Master Slave

Page 20: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

High Availability

Availability Set

Master Slave

Page 21: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

SCALING AZURE REDIS CACHE

Page 22: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Azure Redis Cache Latency

50% : <3ms

99% : <10ms

• Pings sent via RedisBenchmark.exe

• Client and Cache in same region

• Lightly loaded Cache

Page 23: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Scaling Azure Redis Cache

– Increased Cache Size (Memory)

– Increased Bandwidth

– Single CPU

– Increased Cache Size, Bandwidth, CPU

– Improved Availability

– Client responsible for sharding (Static/Dynamic)

– Sharding on Server (Clustering) in future roadmap

Page 24: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Azure Redis Cache Performance

Cache Size

(GB)

Bandwidth

(Mbps)

GET/sec

(1KB values)

Cores

(Redis)

0.25 5 600 0.25*

1 100 12k 1*

2.8 200 24k 1

6 400 48k 1

13 500 60k 1

26 1000 110k 1

53 1000+ 150k 1

Page 25: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

LOOKING AHEAD

Page 26: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

• Open public endpoint

• China/Government Cloud support

• Geo Replication [One Master, Read-only geo replicas]

• Persistance

• Clustering

• Scaling

Page 27: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Resources

http://azure.microsoft.com/en-us/services/cache/

http://blogs.msdn.com/b/webdev/archive/2014/05/12/announcing-asp-net-session-state-

provider-for-redis-preview-release.aspx

Page 28: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

CACHE PATTERNS

Page 29: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Basic Patterns – Cache over SQL

Web Tier

Data

SQL

Data

Page 30: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Basic Patterns – Cache over SQL

Web Tier

Cache

Data

Data

SQL

- High Throughput

- Consistent Low Latency

Azure

Region

Page 31: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Basic Patterns – Cache over Storage

Web Tier

Cache Dynamic

Data

Dynamic

Data

Storage

Static

Data

Page 32: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Basic Patterns – Multi-Region Scenario

Web Tier

Cache

Storage Azure Region 1

Web Tier

Cache

Azure Region 2

Cache

Sync

Page 33: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Basic Patterns – Multi-Region Scenario

Web Tier

Cache

Azure Region 1

Web Tier

Cache

Azure Region 2

SQL SQL

Page 34: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

Secondary Index

Wilber Finely 0001:0032

0001:0032

234 1st St.:20.0:

Page 35: Chief Technical Evangelist - download.microsoft.comdownload.microsoft.com/documents/hk/technet... · Redis has many different use cases. The simplest way to describe it is something

http://aka.ms/WAD267

Session Evaluation