SlideShare uma empresa Scribd logo
1 de 49
Ido Flatow
Senior Architect
Microsoft MVP
SELA Group
Caching in Azure
More than Just Azure Caching
@idoFLATOW
http://bit.ly/flatow-blog
This presentation:
http://sdrv.ms/17s8osK
www.devconnections.com
CACHING IN WINDOWS AZURE
2
THE WORLD BEFORE
DISTRIBUTED CACHE
www.devconnections.com
CACHING IN WINDOWS AZURE
Ido Flatow
Senior Architect
Microsoft MVP
SELA Group
Caching in Azure
More than just Azure Caching
@idoFLATOW
http://bit.ly/flatow-blog
This presentation:
http://sdrv.ms/15QPjke
www.devconnections.com
CACHING IN WINDOWS AZURE
WHAT WE ARE GOING TO SEE
 Different caching solutions
 Different deployment strategies
 For each solution
 General features, pros/cons
 Windows Azure deployment steps
 C# API and benchmarks
5
www.devconnections.com
CACHING IN WINDOWS AZURE
CACHING 101
 Why do we cache?
 Scale-out our applications
 Decrease load on database
 Store data close to the application
 Speed up data access
6
www.devconnections.com
CACHING IN WINDOWS AZURE
CACHING 101
 What is expected of a cache?
 Key/value CRUD
 Store any entity type (no special attributes)
 LRU / absolute / sliding evictions
 Concurrent access
 Cache per application (multitenant)
 Secured transport
8
www.devconnections.com
CACHING IN WINDOWS AZURE
CACHING 101
 What would also be great?
 Bulk operations
 Enumeration and queries
 Clustering and replication for high-availability
 Change notifications
 Transactions
 Data persistence
 Management API
9
www.devconnections.com
CACHING IN WINDOWS AZURE
CACHING SOLUTIONS
10
Memcached
Coherence
Couchbase
Redis
SharedCache
AppFabric
NCache
StateServer
In-memory key-value store
for on-premises and Windows Azure
In-memory key-value store
Key-value store, Data structure server
NoSQL document database
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE COMPONENTS
 Windows Azure PaaS components
 Storage, database, caching
 Cloud Services
 Web role, worker role
 Virtual Machines
 OS images, virtual hard disks
 Virtual Networks
 Subnets, VPN
11
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
Cache-as-a-Service
12
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
 Store any Data-Contract serializable objects
 Item eviction (LRU, absolute, and sliding)
 Item locking
 Local cache for re-fetching
 Group items to regions
 Bulk get/delete
 Simple tag-based queries
 Offering-dependent features:
 Standard - Separate cache per application
 Premium - Notifications for region and item changes
 Includes providers for ASP.NET session state and output
cache
13
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
 Pros
 Cache-as-a-Service, no installation required
 Available from everywhere
 Supports high-availability (premium offering)
 Secured (transport + authentication)
 Cons
 Billed by cache size
 Not available in all US data centers
 Still in preview (for now)
14
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
15
Cache Service
Virtual
Machine
Web
Site
Cloud
Service
On-premises
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
 Create the cache service in the portal
 Cache size
 Region
 Add the Windows Azure Caching NuGet
package to your application
 Configure host name and security key
16
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE CACHE SERVICE
Benchmark
17
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
Distributed cache agent for cloud services
18
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
 Same features as cache service
 Separate caches per-application
 Expiration and eviction
 Local cache
 Notifications
 Regions and tagging
 Cache provider for ASP.NET
19
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
 Pros
 Runs on dedicated roles or existing roles (co-located)
 Deployment is very straightforward
 Same API as the on-premises AppFabric caching
 Supports replication for high-availability
 Provides diagnostics information
 Cons
 No security measurements (necessary?)
 Accessible only within the cloud service
 No management tools
20
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
21
Other
Roles
Co-located
Roles
Dedicated
Worker Role
Cloud Service
Clustering&Replication
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
 Dedicated cache role
 Add a Cache Worker Role project to the cloud
project
 Configure number of instances and size
 Co-located cache
 Open the Caching tab in the role’s properties, and
select the Enable Caching option
 Specify cache size (percentage of memory)
 In the application
 Add the Windows Azure Caching NuGet package
 Configure the role name running the cache
22
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
WINDOWS AZURE IN-ROLE CACHE
Benchmark
23
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
Open source, in-memory key-value cache
24
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
 Simple CRUD API
 Data is stored in binary form
 Item eviction (LRU and absolute)
 Features extended by client libraries
 Clustering
 Sliding eviction
 Replaceable serializers
 Data compression
25
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
 Pros
 Well-known solution, used by many sites
 Has many client libraries (C++, Java, PHP, .NET, Ruby …)
 Supports clustering (managed by the client library)
 Cons
 Item size limited to 1 MB
 Retrieve only by ID, no query support
 Windows port a bit old (1.4.4 from 2009)
 Replication not supported in most client libraries
 No security – public endpoints are problematic
(Security supported with SASL on Linux VMs)
26
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
27
Other
Roles
Memcached
Worker Roles
Cloud Service
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
 Cache service
 Create a new worker role
 Add an internal endpoint in the role’s properties for port 11211
 Configure number of instances and size
 Worker role
 Add the WazMemcachedServer NuGet package
 Add a bit of code (2 lines) to run the cache service
 In the application
 Add the EnyimMemcached NuGet package
 Add some code to create the client configuration
28
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
var configuration = new MemcachedClientConfiguration();
foreach (var instance in RoleEnvironment.Roles["MemcachedServer"].Instances)
{
IPEndPoint endpoint = instance.InstanceEndpoints["MemcachedEP"].IPEndpoint;
configuration.Servers.Add(endpoint);
}
var client = new MemcachedClient(configuration);
29
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
MEMCACHED
Benchmark
30
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
Open source, advanced key-value store
31
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
 Stores entities, lists, and sets
 Item eviction (LRU, absolute, and sliding)
 Item locking
 Atomic transactions for groups of commands
 Built-in Pub/Sub messaging
 Cache can be persisted periodically or
consistently
32
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
 Pros
 Supports various data types
 Windows version is up-to-date
 Data is replicated to slave servers for high-
availability
 Secured with authentication
 Cons
 Single threaded, requests are served sequentially
 Transport is not encrypted
 Does not support clustering
33
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
Cloud
Service
REDIS
34
Redis
Slave
Replication
Redis
Master
Virtual
Machine
Cloud
Service
VirtualNetwork
Other
Roles
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
 Run the deployment tool from
ossonazure.interoperabilitybridge.com
 Wait 20 minutes while it executes
 Give up and press Ctrl+C
 Open Visual Studio and do it manually
35
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
 Create a cloud project with two worker roles:
RedisMaster and RedisSlave
 Configure roles
 Add an internal endpoint for port 6379
 Set instance sizes
 Set number of slave instances
 In both worker roles
 Add the redis-server.exe and redis.conf files
 Add code to run the redis-server.exe using
Process.Start()
36
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
 In the slave worker role
 Write code to edit the redis.config and set
the master’s IP address
 In the application
 Add the ServiceStack.Redis NuGet package
 Use either the RoleEnvironment or a static IP
address to configure the master’s address
37
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
REDIS
Benchmark
38
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
Open source document database
39
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
 Entities stored as either binary or JSON
 Item eviction (absolute and sliding)
 No LRU, it’s a database
 Bulk get
 Cache (bucket) per application
 Indexing and querying with views
 Views can use reduce functions
40
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
 Pros
 Replication and clustering
 Buckets can be Couchbase or Memcached based
 Couchbase buckets are persisted (enables warmup)
 Secured (transport + authentication)
 Web administration
 Provides usage statistics
 Cons
 Requires a virtual machine and a virtual network
 Query requires serializing content to JSON
 Not totally free
41
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
42
Replication & Clustering
Virtual
Machine
Cloud
Service
VirtualNetwork
Couchbase
VMs
On-premises
VPN
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
 Create a virtual network
 Create VMs in the virtual network
 In each VM
 Install Couchase
 Configure incoming firewall rules
(11211, 11210, 4369, 8091, 21100-21199)
 Configure Couchbase cluster
43
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
 In the application
 Add the CouchbaseNetClient NuGet
package
 Configure the VMs addresses and port
 If application is running in a cloud service
 Add a <NetworkConfiguration> element in
the ServiceConfiguration.Cloud.cscfg
 Configure the role to use the same virtual
network as the Couchbase VMs
44
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
<NetworkConfiguration>
<VirtualNetworkSite name="CachingNetwork" />
<AddressAssignments>
<InstanceAddress roleName="AzureCacheClientDemo">
<Subnets>
<Subnet name="Compute" />
</Subnets>
</InstanceAddress>
</NetworkConfiguration>
45
FeaturesPros/ConsTopologySteps
www.devconnections.com
CACHING IN WINDOWS AZURE
COUCHBASE
Benchmark
46
www.devconnections.com
CACHING IN WINDOWS AZURE
BENCHMARK COMPARISON
47
www.devconnections.com
CACHING IN WINDOWS AZURE
OTHER CACHING OPTIONS
 Install on-premises caching solutions on Virtual
Machines
 Use either Windows or Linux VMs
 Easily accessible by clients running in the same virtual
network
 External access may require additional configuration
 Use other cache-as-a-service solutions
 Prefer services that use Windows Azure – better
throughput
 Redis and Memcached are currently available as a
service in Windows Azure (http://garantiadata.com)
48
www.devconnections.com
CACHING IN WINDOWS AZURE
THE GOTCHAS
 Security
 Private vs. Public vs. Virtual network
 Clustering
 Public endpoint load balancing
 Debugging
 Deployed cache vs. Windows Azure Emulator
 VM restarts
 Cache resets due to guest/host upgrades
 Price
 Choose the proper instance size
49
www.devconnections.com
CACHING IN WINDOWS AZURE
RESOURCES
50
Windows Azure Cache
bit.ly/appfabric-on-azure
bit.ly/azure-caching-memcached
Memcached
memcached.org
bit.ly/memcached-on-azure
Redis
redis.io
bit.ly/redis-on-azure
bit.ly/redis-on-azure-linux
Couchbase
www.couchbase.com
bit.ly/couchbase-on-azure
idof@sela.co.il @idoflatow http://bit.ly/flatow-blog
This presentation: sdrv.ms/17s8osK

Mais conteúdo relacionado

Mais procurados

Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examplesBrian Benz
 
Azure Recovery Services
Azure Recovery ServicesAzure Recovery Services
Azure Recovery ServicesPavel Revenkov
 
Zabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementZabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementDaisuke Ikeda
 
Building Scalable, Real Time Applications for Financial Services with DataStax
Building Scalable, Real Time Applications for Financial Services with DataStaxBuilding Scalable, Real Time Applications for Financial Services with DataStax
Building Scalable, Real Time Applications for Financial Services with DataStaxDataStax
 
Amazon RDS for MySQL: Best Practices and Migration
Amazon RDS for MySQL: Best Practices and MigrationAmazon RDS for MySQL: Best Practices and Migration
Amazon RDS for MySQL: Best Practices and MigrationAmazon Web Services
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Brian Benz
 
Overview of DataStax OpsCenter
Overview of DataStax OpsCenterOverview of DataStax OpsCenter
Overview of DataStax OpsCenterDataStax
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014Amazon Web Services
 
Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS永对 陈
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageSpiffy
 
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops TeamManaging 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops TeamRedis Labs
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
Scaling DataStax in Docker
Scaling DataStax in DockerScaling DataStax in Docker
Scaling DataStax in DockerDataStax
 
Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11ColdFusionConference
 
Windows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayWindows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayJeff Chu
 
Tech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureBrian Benz
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
 
Create HDInsight Cluster in Azure Portal (February 2015)
Create HDInsight Cluster in Azure Portal (February 2015)Create HDInsight Cluster in Azure Portal (February 2015)
Create HDInsight Cluster in Azure Portal (February 2015)Cindy Gross
 

Mais procurados (20)

Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
 
Azure Recovery Services
Azure Recovery ServicesAzure Recovery Services
Azure Recovery Services
 
Zabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementZabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud Management
 
Building Scalable, Real Time Applications for Financial Services with DataStax
Building Scalable, Real Time Applications for Financial Services with DataStaxBuilding Scalable, Real Time Applications for Financial Services with DataStax
Building Scalable, Real Time Applications for Financial Services with DataStax
 
Amazon RDS for MySQL: Best Practices and Migration
Amazon RDS for MySQL: Best Practices and MigrationAmazon RDS for MySQL: Best Practices and Migration
Amazon RDS for MySQL: Best Practices and Migration
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014
 
Redis Replication
Redis ReplicationRedis Replication
Redis Replication
 
Overview of DataStax OpsCenter
Overview of DataStax OpsCenterOverview of DataStax OpsCenter
Overview of DataStax OpsCenter
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
 
Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storage
 
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops TeamManaging 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
Managing 50K+ Redis Databases Over 4 Public Clouds ... with a Tiny Devops Team
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
CFML Sessions For Dummies
CFML Sessions For DummiesCFML Sessions For Dummies
CFML Sessions For Dummies
 
Scaling DataStax in Docker
Scaling DataStax in DockerScaling DataStax in Docker
Scaling DataStax in Docker
 
Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11Using amazon web services with cold fusion 11
Using amazon web services with cold fusion 11
 
Windows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree DayWindows 與 Azure 的容器旅程 @ Skilltree Day
Windows 與 Azure 的容器旅程 @ Skilltree Day
 
Tech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on Azure
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
Create HDInsight Cluster in Azure Portal (February 2015)
Create HDInsight Cluster in Azure Portal (February 2015)Create HDInsight Cluster in Azure Portal (February 2015)
Create HDInsight Cluster in Azure Portal (February 2015)
 

Semelhante a Caching in Windows Azure

NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014Brian Benz
 
Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudICT-Partners
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS
 
Dockercon2015_paypal
Dockercon2015_paypalDockercon2015_paypal
Dockercon2015_paypalahunnargikar
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftSerhat Dirik
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystemNETFest
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesNEXTtour
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Alex Thissen
 
Agile Infrastructure with Windows Azure
Agile Infrastructure with Windows AzureAgile Infrastructure with Windows Azure
Agile Infrastructure with Windows AzureHARMAN Services
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Louis Göhl
 
Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Pedro Sousa
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devicesPatric Boscolo
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesQAware GmbH
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...Docker, Inc.
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewJason Peng
 

Semelhante a Caching in Windows Azure (20)

NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
 
Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloud
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
 
Dockercon2015_paypal
Dockercon2015_paypalDockercon2015_paypal
Dockercon2015_paypal
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
 
Agile Infrastructure with Windows Azure
Agile Infrastructure with Windows AzureAgile Infrastructure with Windows Azure
Agile Infrastructure with Windows Azure
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]
 
Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​Yet Another Session about Docker and Containers​
Yet Another Session about Docker and Containers​
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology Overview
 

Mais de Ido Flatow

Google Cloud IoT Core
Google Cloud IoT CoreGoogle Cloud IoT Core
Google Cloud IoT CoreIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War StoriesIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applicationsIdo Flatow
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...Ido Flatow
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureIdo Flatow
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldIdo Flatow
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Ido Flatow
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0Ido Flatow
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with FiddlerIdo Flatow
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2Ido Flatow
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For DevelopersIdo Flatow
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIdo Flatow
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsIdo Flatow
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 

Mais de Ido Flatow (20)

Google Cloud IoT Core
Google Cloud IoT CoreGoogle Cloud IoT Core
Google Cloud IoT Core
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War Stories
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applications
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For Developers
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute Solutions
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 

Último

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Caching in Windows Azure

  • 1. Ido Flatow Senior Architect Microsoft MVP SELA Group Caching in Azure More than Just Azure Caching @idoFLATOW http://bit.ly/flatow-blog This presentation: http://sdrv.ms/17s8osK
  • 2. www.devconnections.com CACHING IN WINDOWS AZURE 2 THE WORLD BEFORE DISTRIBUTED CACHE
  • 4. Ido Flatow Senior Architect Microsoft MVP SELA Group Caching in Azure More than just Azure Caching @idoFLATOW http://bit.ly/flatow-blog This presentation: http://sdrv.ms/15QPjke
  • 5. www.devconnections.com CACHING IN WINDOWS AZURE WHAT WE ARE GOING TO SEE  Different caching solutions  Different deployment strategies  For each solution  General features, pros/cons  Windows Azure deployment steps  C# API and benchmarks 5
  • 6. www.devconnections.com CACHING IN WINDOWS AZURE CACHING 101  Why do we cache?  Scale-out our applications  Decrease load on database  Store data close to the application  Speed up data access 6
  • 7. www.devconnections.com CACHING IN WINDOWS AZURE CACHING 101  What is expected of a cache?  Key/value CRUD  Store any entity type (no special attributes)  LRU / absolute / sliding evictions  Concurrent access  Cache per application (multitenant)  Secured transport 8
  • 8. www.devconnections.com CACHING IN WINDOWS AZURE CACHING 101  What would also be great?  Bulk operations  Enumeration and queries  Clustering and replication for high-availability  Change notifications  Transactions  Data persistence  Management API 9
  • 9. www.devconnections.com CACHING IN WINDOWS AZURE CACHING SOLUTIONS 10 Memcached Coherence Couchbase Redis SharedCache AppFabric NCache StateServer In-memory key-value store for on-premises and Windows Azure In-memory key-value store Key-value store, Data structure server NoSQL document database
  • 10. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE COMPONENTS  Windows Azure PaaS components  Storage, database, caching  Cloud Services  Web role, worker role  Virtual Machines  OS images, virtual hard disks  Virtual Networks  Subnets, VPN 11
  • 11. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE Cache-as-a-Service 12
  • 12. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE  Store any Data-Contract serializable objects  Item eviction (LRU, absolute, and sliding)  Item locking  Local cache for re-fetching  Group items to regions  Bulk get/delete  Simple tag-based queries  Offering-dependent features:  Standard - Separate cache per application  Premium - Notifications for region and item changes  Includes providers for ASP.NET session state and output cache 13 FeaturesPros/ConsTopologySteps
  • 13. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE  Pros  Cache-as-a-Service, no installation required  Available from everywhere  Supports high-availability (premium offering)  Secured (transport + authentication)  Cons  Billed by cache size  Not available in all US data centers  Still in preview (for now) 14 FeaturesPros/ConsTopologySteps
  • 14. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE 15 Cache Service Virtual Machine Web Site Cloud Service On-premises FeaturesPros/ConsTopologySteps
  • 15. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE  Create the cache service in the portal  Cache size  Region  Add the Windows Azure Caching NuGet package to your application  Configure host name and security key 16 FeaturesPros/ConsTopologySteps
  • 16. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE CACHE SERVICE Benchmark 17
  • 17. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE Distributed cache agent for cloud services 18
  • 18. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE  Same features as cache service  Separate caches per-application  Expiration and eviction  Local cache  Notifications  Regions and tagging  Cache provider for ASP.NET 19 FeaturesPros/ConsTopologySteps
  • 19. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE  Pros  Runs on dedicated roles or existing roles (co-located)  Deployment is very straightforward  Same API as the on-premises AppFabric caching  Supports replication for high-availability  Provides diagnostics information  Cons  No security measurements (necessary?)  Accessible only within the cloud service  No management tools 20 FeaturesPros/ConsTopologySteps
  • 20. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE 21 Other Roles Co-located Roles Dedicated Worker Role Cloud Service Clustering&Replication FeaturesPros/ConsTopologySteps
  • 21. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE  Dedicated cache role  Add a Cache Worker Role project to the cloud project  Configure number of instances and size  Co-located cache  Open the Caching tab in the role’s properties, and select the Enable Caching option  Specify cache size (percentage of memory)  In the application  Add the Windows Azure Caching NuGet package  Configure the role name running the cache 22 FeaturesPros/ConsTopologySteps
  • 22. www.devconnections.com CACHING IN WINDOWS AZURE WINDOWS AZURE IN-ROLE CACHE Benchmark 23
  • 23. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED Open source, in-memory key-value cache 24
  • 24. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED  Simple CRUD API  Data is stored in binary form  Item eviction (LRU and absolute)  Features extended by client libraries  Clustering  Sliding eviction  Replaceable serializers  Data compression 25 FeaturesPros/ConsTopologySteps
  • 25. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED  Pros  Well-known solution, used by many sites  Has many client libraries (C++, Java, PHP, .NET, Ruby …)  Supports clustering (managed by the client library)  Cons  Item size limited to 1 MB  Retrieve only by ID, no query support  Windows port a bit old (1.4.4 from 2009)  Replication not supported in most client libraries  No security – public endpoints are problematic (Security supported with SASL on Linux VMs) 26 FeaturesPros/ConsTopologySteps
  • 26. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED 27 Other Roles Memcached Worker Roles Cloud Service FeaturesPros/ConsTopologySteps
  • 27. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED  Cache service  Create a new worker role  Add an internal endpoint in the role’s properties for port 11211  Configure number of instances and size  Worker role  Add the WazMemcachedServer NuGet package  Add a bit of code (2 lines) to run the cache service  In the application  Add the EnyimMemcached NuGet package  Add some code to create the client configuration 28 FeaturesPros/ConsTopologySteps
  • 28. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED var configuration = new MemcachedClientConfiguration(); foreach (var instance in RoleEnvironment.Roles["MemcachedServer"].Instances) { IPEndPoint endpoint = instance.InstanceEndpoints["MemcachedEP"].IPEndpoint; configuration.Servers.Add(endpoint); } var client = new MemcachedClient(configuration); 29 FeaturesPros/ConsTopologySteps
  • 29. www.devconnections.com CACHING IN WINDOWS AZURE MEMCACHED Benchmark 30
  • 30. www.devconnections.com CACHING IN WINDOWS AZURE REDIS Open source, advanced key-value store 31
  • 31. www.devconnections.com CACHING IN WINDOWS AZURE REDIS  Stores entities, lists, and sets  Item eviction (LRU, absolute, and sliding)  Item locking  Atomic transactions for groups of commands  Built-in Pub/Sub messaging  Cache can be persisted periodically or consistently 32 FeaturesPros/ConsTopologySteps
  • 32. www.devconnections.com CACHING IN WINDOWS AZURE REDIS  Pros  Supports various data types  Windows version is up-to-date  Data is replicated to slave servers for high- availability  Secured with authentication  Cons  Single threaded, requests are served sequentially  Transport is not encrypted  Does not support clustering 33 FeaturesPros/ConsTopologySteps
  • 33. www.devconnections.com CACHING IN WINDOWS AZURE Cloud Service REDIS 34 Redis Slave Replication Redis Master Virtual Machine Cloud Service VirtualNetwork Other Roles FeaturesPros/ConsTopologySteps
  • 34. www.devconnections.com CACHING IN WINDOWS AZURE REDIS  Run the deployment tool from ossonazure.interoperabilitybridge.com  Wait 20 minutes while it executes  Give up and press Ctrl+C  Open Visual Studio and do it manually 35 FeaturesPros/ConsTopologySteps
  • 35. www.devconnections.com CACHING IN WINDOWS AZURE REDIS  Create a cloud project with two worker roles: RedisMaster and RedisSlave  Configure roles  Add an internal endpoint for port 6379  Set instance sizes  Set number of slave instances  In both worker roles  Add the redis-server.exe and redis.conf files  Add code to run the redis-server.exe using Process.Start() 36 FeaturesPros/ConsTopologySteps
  • 36. www.devconnections.com CACHING IN WINDOWS AZURE REDIS  In the slave worker role  Write code to edit the redis.config and set the master’s IP address  In the application  Add the ServiceStack.Redis NuGet package  Use either the RoleEnvironment or a static IP address to configure the master’s address 37 FeaturesPros/ConsTopologySteps
  • 37. www.devconnections.com CACHING IN WINDOWS AZURE REDIS Benchmark 38
  • 38. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE Open source document database 39
  • 39. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE  Entities stored as either binary or JSON  Item eviction (absolute and sliding)  No LRU, it’s a database  Bulk get  Cache (bucket) per application  Indexing and querying with views  Views can use reduce functions 40 FeaturesPros/ConsTopologySteps
  • 40. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE  Pros  Replication and clustering  Buckets can be Couchbase or Memcached based  Couchbase buckets are persisted (enables warmup)  Secured (transport + authentication)  Web administration  Provides usage statistics  Cons  Requires a virtual machine and a virtual network  Query requires serializing content to JSON  Not totally free 41 FeaturesPros/ConsTopologySteps
  • 41. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE 42 Replication & Clustering Virtual Machine Cloud Service VirtualNetwork Couchbase VMs On-premises VPN FeaturesPros/ConsTopologySteps
  • 42. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE  Create a virtual network  Create VMs in the virtual network  In each VM  Install Couchase  Configure incoming firewall rules (11211, 11210, 4369, 8091, 21100-21199)  Configure Couchbase cluster 43 FeaturesPros/ConsTopologySteps
  • 43. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE  In the application  Add the CouchbaseNetClient NuGet package  Configure the VMs addresses and port  If application is running in a cloud service  Add a <NetworkConfiguration> element in the ServiceConfiguration.Cloud.cscfg  Configure the role to use the same virtual network as the Couchbase VMs 44 FeaturesPros/ConsTopologySteps
  • 44. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE <NetworkConfiguration> <VirtualNetworkSite name="CachingNetwork" /> <AddressAssignments> <InstanceAddress roleName="AzureCacheClientDemo"> <Subnets> <Subnet name="Compute" /> </Subnets> </InstanceAddress> </NetworkConfiguration> 45 FeaturesPros/ConsTopologySteps
  • 45. www.devconnections.com CACHING IN WINDOWS AZURE COUCHBASE Benchmark 46
  • 46. www.devconnections.com CACHING IN WINDOWS AZURE BENCHMARK COMPARISON 47
  • 47. www.devconnections.com CACHING IN WINDOWS AZURE OTHER CACHING OPTIONS  Install on-premises caching solutions on Virtual Machines  Use either Windows or Linux VMs  Easily accessible by clients running in the same virtual network  External access may require additional configuration  Use other cache-as-a-service solutions  Prefer services that use Windows Azure – better throughput  Redis and Memcached are currently available as a service in Windows Azure (http://garantiadata.com) 48
  • 48. www.devconnections.com CACHING IN WINDOWS AZURE THE GOTCHAS  Security  Private vs. Public vs. Virtual network  Clustering  Public endpoint load balancing  Debugging  Deployed cache vs. Windows Azure Emulator  VM restarts  Cache resets due to guest/host upgrades  Price  Choose the proper instance size 49
  • 49. www.devconnections.com CACHING IN WINDOWS AZURE RESOURCES 50 Windows Azure Cache bit.ly/appfabric-on-azure bit.ly/azure-caching-memcached Memcached memcached.org bit.ly/memcached-on-azure Redis redis.io bit.ly/redis-on-azure bit.ly/redis-on-azure-linux Couchbase www.couchbase.com bit.ly/couchbase-on-azure idof@sela.co.il @idoflatow http://bit.ly/flatow-blog This presentation: sdrv.ms/17s8osK

Notas do Editor

  1. Availability – not supported in South Central US