How to Build High Performance Apps Using Microsoft Azure Redis Cache

Slides:



Advertisements
Similar presentations
Windows Azure for SharePoint people Dennis – Solution Architect Microsoft Windows Azure.
Advertisements

System Center 2012 R2 Overview
Microsoft Azure Overview
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Licensing Your Public and Private Cloud with Microsoft Office 365, Windows Azure, SQL Server and System Center Mark Croft Director Microsoft Licensing.
Air and Water Quality Information Scientist Contributed Measurements Government Sponsored Community Input and Ratings Educational Localized in 26.
Typical Caching Patterns Web Tier Data Storage SQL Data.
CSE 190: Internet E-Commerce Lecture 10: Data Tier.
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation Windows Azure AppFabric Caching.
MID301. App Server 1 App Server 1 App Server 2 App Server 2 App Server 3 App Server 3 DatabaseDatabase Local Store.
9 TIME IT CAPACITY Actual Load Allocated IT-capacities Too Much Power Not Enough Power Load Forecast.
SharePoint Farm On Azure IAAS Prepared By : Prakhar Rastogi Premier Field engineer Microsoft India.
DEV312. “Build-On” Media Partners and Customers Azure CDN M Partner CDNs Origin Caching Released Coming Soon Partners Partner Technologies.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Windows Azure Usergroup #7 14 maart Compute $ /hour + Variable Instance Sizes Per service hour Storage Per GB stored + transactions.
Key Perf considerations & bottlenecks Windows Azure VM characteristics Monitoring TroubleshootingBest practices.
SaaS 傅汝緯 李碩元 林子驥 1. What is SaaS?  Definition :Software as a service  a software delivery model in which software and associated data are centrally.
Getting Started with Windows Azure Name Title Microsoft Corporation.
“CLOUD COMPUTING” “CLOUD COMPUTING”. SIMPLE INTRO TO CLOUD COMPUTING (download at beginning of class before viewing) SCROLL DOWN TO 2 ND VIDEO SIMPLE.
RAMCloud: A Low-Latency Datacenter Storage System Ankita Kejriwal Stanford University (Joint work with Diego Ongaro, Ryan Stutsman, Steve Rumble, Mendel.
Simple Database.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
30 Bad Habits of Server Administrators Orin Thomas M321.
Website s Azure Websites is a robust cloud platform for developing, testing, and running web apps. Build apps using your favorite tools and languages—.NET,
Amazon Web Services BY, RAJESH KANDEPU. Introduction  Amazon Web Services is a collection of remote computing services that together make up a cloud.
Aligning Architecture to Organization Stephen Cohen Chief Architect, Microsoft Worldwide Public Sector Services M363.
DEV303. C++C# C++ & C#
Getting Started with Windows Azure Cloud Computing Soup to Nuts Mike Benkovich Microsoft Corporation btlod-70.
Available via NuGet independently, major revisions infrequent and with minimal breaking changes, sole dependency for each MAML library. Contains HTTP,
Data Patterns for the Cloud James Carpinter M313.
WEBMATRIX Microsoft Pranav Rastogi.
Windows Azure Conference 2014 Designing Applications for Scalability.
Cloud Time - Embellishing the Office 365 calendar Thivy Ruthra Tasleem Hussein M328.
M360 Directory Synchronisation & Authentication Deployment options: Skype for Business Online Skype for Business Server 2015 Skype for Business Hybrid.
Deploying, Organizing and Securing Applications with the Azure Resource Manager Emil Velinov Senior Program Manager, AzureCAT M391.
Azure IAAS Overview & What’s New Steve Letford & Stu Fox M318.
Virtualization Vision & Strategy Ben Armstrong M246.
Includes the following resources: Windows Azure 3 small compute instances 3GB of storage 250,000 storage transactions SQL Azure Two 1GB Web Edition.
Windows Azure Conference 2014 Caching Data in the Cloud with Windows Azure.
How to Build on Windows Azure?
Introduction to ASP.NET 5
Windows Azure Conference 2014 LAMP on Windows Azure.
Microsoft Ignite /25/ :39 PM SSDT for Visual Studio Bet you can’t tell what your database looked like 6 months ago Hannah Gray, Development.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
SQL Server BI Drill Down Stuart Mackereth & Manpreet Gill M236.
Building Azure Web Apps with Node.js and the Spotify Web API Daniel Larsen M361.
Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.
DMBS Architecture May 15 th, Generic Architecture Query compiler/optimizer Execution engine Index/record mgr. Buffer manager Storage manager storage.
To the cloud… Brian Hitney Developer Evangelist, Microsoft
Big Data Analytics with Excel Peter Myers Bitwise Solutions.
Develop for the Cloud - Windows Azure Microsoft gi Pranav Rastogi.
Unit 3 Virtualization.
Redis:~ Author Anil Sharma Data Structure server.
Everything you need to know!
Windows Azure Migrating SQL Server Workloads
Design and Implement Cloud Data Platform Solutions
Developing an app for SharePoint autohosted in Azure
Microsoft Azure Enables Enhanced Parental Control and Advanced Multi-Device Security “Security, scalability, and high availability were our most important.
02 | Design and implement database
Microsoft Build /6/2018 4:55 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Azure Fundamentals: Data Understanding Microsoft Azure SQL
Microsoft Azure for SQL Server Professionals
Let's make a complex dataset simple using Azure Cosmos DB
Migrating your applications to Azure
Azure Cosmos DB with SQL API .Net SDK
“CLOUD COMPUTING”.
The Database World of Azure
Windows Azure SDK 1.7 and New Features
Presentation transcript:

How to Build High Performance Apps Using Microsoft Azure Redis Cache Pranav Rastogi | @rustd M350

Introduction

Professional ASP.NET 4.5 in C# and VB Azure Redis Cache ASP.NET

Agenda Why Cache Redis Azure Redis Cache FAQs

Typical Caching Pattern Storage Web Tier Data Data SQL

Storage Web Tier Cache Azure Region SQL - High Throughput - Low Consistent Latency 50% : <3ms 99% : <10ms Web Tier Cache Azure Region Data Data SQL

Caching

Redis

What is Redis? “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 “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

Rich 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

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, bitmaps and hyperloglogs. Transactions Publisher-Subscriber pattern LUA scripting Pipelining Client libraries in multiple languages

Redis features… Databases Highly customizable replication support Supports hierarchy of ‘Slaves’ per ‘Master’ Persistence support Point in time, Log every write, or both Clustering

Redis

Azure Redis Cache Service

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 China and Government cloud coming SSL Basic SKU : Single cache node Standard SKU: Cache node + one replica Availability SLA of 99.9%

Azure Redis Cache… RBAC Provisioning Redis Cache Monitoring/ Diagnostics Alerts ASP.NET Session & Output Cache Providers Memcache protocol shim

Azure Redis Cache

FAQs

Which Azure Cache offering is right for me? We recommend all new developments use Azure Redis Cache. https://msdn.microsoft.com/en-us/library/azure/dn766201.aspx

How to pick the Cache SKU Cache size High Availability - Standard Network bandwidth Cache and client should be in the same region

Azure Redis Cache Latency 50% : <3ms 99% : <10ms Pings sent via redis-benchmark.exe Client and Cache in same region Lightly loaded Cache

(Simple GET calls of 1 KB values) Bandwidth (Mbits/sec) Azure Redis Cache Performance Cache Name Cache Size GET/sec (Simple GET calls of 1 KB values) Bandwidth (Mbits/sec) Cores (Redis) C0 250 MB 610 5 0.25* C1 1 GB 12,200 100 1* C2 2.5 GB 24,300 200 1 C3 6 GB 48,875 400 C4 13 GB 61,350 500 C5 26 GB 112,275 1000 C6 53 GB 153,219 1000+

High Latency Cache and client in the same region. Network bandwidth limits on client or server. Redis commands usage. Measure and iterate.

Scaling Azure Redis Cache Build 2013 4/25/2017 Scaling Azure Redis Cache Scale Up– aka Vertical Scaling Increased Cache Size (Memory) Increased Bandwidth Single CPU Scale Out– aka Horizontal Scaling Increased Cache Size, Bandwidth, CPU Improved Availability Client responsible for sharding (Static/Dynamic) Sharding on Server (Clustering) in future roadmap © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Monitoring Azure Redis Cache Monitor in the portal. Set eviction policies. Set Alerts. Monitor using Redis tools eg. redis-cli.exe High Fragmentation Benchmarking using redis-benchmark.exe

Client configuration – StackExchange.Redis Use latest version Single instance of ConnectionMultiplexer AbortOnConnectFail=false ConnectRetry ConnectionTimeout Large values/ Long running commands Use multiple Connection Multiplexers for different connection settings.

Cache patterns Cache Aside pattern Retry logic Local cache

Multi-Region Scenario Azure Region 1 Azure Region 2 Storage Web Tier Web Tier Cache Cache Cache Sync

Multi-Region Scenario Azure Region 1 Azure Region 2 Web Tier SQL Web Tier SQL Cache Cache

High Availability Availability Set Slave Azure Redis Endpoint Master TechEd 2013 4/25/2017 6:34 PM High Availability Azure Redis Endpoint [Shim] Master Slave Master Slave Availability Set © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

High Availability Availability Set Slave Azure Redis Endpoint Master TechEd 2013 4/25/2017 6:34 PM High Availability Azure Redis Endpoint [Shim] Master Slave Slave Master Availability Set © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

High Availability Availability Set Slave Azure Redis Endpoint Master TechEd 2013 4/25/2017 6:34 PM High Availability Azure Redis Endpoint [Shim] Master Slave Slave Master Availability Set © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Roadmap

Roadmap Scale Up/ Down Configuring Redis – key space notification Persistence Azure Regions China/ Government Cloud support Clustering Virtual Network Geo Replication

Resources Pricing Documentation Cache User Voice Microsoft patterns & practices on Cache Retry logic Investigating Timeout Exceptions in StackExchange.Redis Memcache protocol shim

Resources Microsoft Virtual Academy TechNet & MSDN Flash 4/25/2017 Microsoft Virtual Academy Resources TechNet & MSDN Flash Free Online Learning http://aka.ms/mva Subscribe to our fortnightly newsletter http://aka.ms/technetnz http://aka.ms/msdnnz Sessions on Demand http://aka.ms/ch9nz © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Complete your session evaluation now and be in to win! 4/25/2017 6:34 PM Complete your session evaluation now and be in to win! © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4/25/2017 6:34 PM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.