Scale Your Data Tier With Windows Server App FabricChris Dufour
The distributed in-memory caching capabilities of Windows Server AppFabric will change how you think about scaling your Microsoft .NET-connected applications. Come learn how the distributed nature of the AppFabric cache allows large amounts of data to be stored in-memory for extremely fast access, how AppFabric's integration with Microsoft ASP.NET makes it easy to add low-latency data caching across the web farm, and discover the unique high availability features of AppFabric which will bring new degrees of scale and resilience to your data tier and your web applications.
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Amazon Web Services
(Presented by Citrix)
As we move to a world where all users are mobile and apps are increasingly delivered from the cloud, security, compliance, and user experience service-level expectations are higher than ever, necessitating that IT look beyond traditional methods for delivering applications. However, there are intelligent cloud networking and provisioning solutions on AWS that can be leveraged to create a service delivery model that addresses the new paradigm. Learn how Citrix NetScaler VPX on AWS provides full application visibility and control through a combination of customer case studies and demos.
In this session, you learn how to:
-Deploy Citrix application delivery technologies (NetScaler, NetScaler Gateway, CloudBridge) into AWS
-Optimize next-gen web applications delivered from AWS, using traffic management and application acceleration capabilities
-Provide global application availability across on-premises data centers and multiple AWS regions using CloudBridge, global server load balancing, and Amazon Route 53 DNS
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service for operational and analytics workloads. It offers a multi-mastering feature by automatically scaling throughput, compute, and storage. You can elastically scale throughput and storage, and take advantage of fast, single-digit-millisecond data access using your favorite API including SQL Core(SQL API), MongoDB, Cassandra, Tables, or Gremlin. Cosmos DB provides comprehensive service level agreements (SLAs) for throughput, latency, availability, and several consistencies.
Scale Your Data Tier With Windows Server App FabricChris Dufour
The distributed in-memory caching capabilities of Windows Server AppFabric will change how you think about scaling your Microsoft .NET-connected applications. Come learn how the distributed nature of the AppFabric cache allows large amounts of data to be stored in-memory for extremely fast access, how AppFabric's integration with Microsoft ASP.NET makes it easy to add low-latency data caching across the web farm, and discover the unique high availability features of AppFabric which will bring new degrees of scale and resilience to your data tier and your web applications.
Enterprise Service Delivery from the AWS Cloud (ARC208) | AWS re:Invent 2013Amazon Web Services
(Presented by Citrix)
As we move to a world where all users are mobile and apps are increasingly delivered from the cloud, security, compliance, and user experience service-level expectations are higher than ever, necessitating that IT look beyond traditional methods for delivering applications. However, there are intelligent cloud networking and provisioning solutions on AWS that can be leveraged to create a service delivery model that addresses the new paradigm. Learn how Citrix NetScaler VPX on AWS provides full application visibility and control through a combination of customer case studies and demos.
In this session, you learn how to:
-Deploy Citrix application delivery technologies (NetScaler, NetScaler Gateway, CloudBridge) into AWS
-Optimize next-gen web applications delivered from AWS, using traffic management and application acceleration capabilities
-Provide global application availability across on-premises data centers and multiple AWS regions using CloudBridge, global server load balancing, and Amazon Route 53 DNS
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service for operational and analytics workloads. It offers a multi-mastering feature by automatically scaling throughput, compute, and storage. You can elastically scale throughput and storage, and take advantage of fast, single-digit-millisecond data access using your favorite API including SQL Core(SQL API), MongoDB, Cassandra, Tables, or Gremlin. Cosmos DB provides comprehensive service level agreements (SLAs) for throughput, latency, availability, and several consistencies.
Presented at JavaOne 2015.
JSR107, aka the Temporary Caching API for the Java Platform, has now been finalized almost 2 years ago. We've heard all about its ease of use and capabilities. But there is much left unaddressed. The good news is that the EG is looking at addressing many of the current shortcomings... But what do you do now? Go for proprietary APIs?!
Ehcache, the de facto caching API for 10 years now, has gone through a major API revamp: Ehcache3. One major theme, beyond its usual ease of use, was JSR107. Natively integrating it, but also looking beyond. With close to no API tie-ins, Ehcache3 lets you extend the JSR107 API transparently to go beyond the specification: topology-wise: whether you want to go offheap and scale up, or scale out by clustering your caches; functionality-wise: using transactional caches, automatic resource control or even using a write-behind cache to scale out writes...
Best of all is that this isn't only minimally intrusive, it is also all free to use and available as part of the open-source Ehcache v3 that has been GA'ed earlier this year...
Learn how to leverage various tools to quickly and consistently create full environments in minutes.
Like most things in life, there's an easy way and a hard way. The same holds true when working in cloud environments such as Microsoft Azure. The Azure management portal and Visual Studio can be great for relatively simple projects, but quickly become tedious when trying to create the multiple resources that often make up a real-world solution. This session will demonstrate how to leverage various tools, such as PowerShell, Azure Resource Manager, Azure Automation, and the Azure Management Library, to quickly and consistently create full environments in minutes.
You will learn:
- How to use Azure Management Library to create various Azure assets
- How to use Azure PowerShell cmdlets to query Azure services, deploy VMs and Cloud Services
- How to leverage Azure Automation to reduce operating costs and other management tasks
You host Relativity data in SQL Server, and you can't just go buy a new server. You need to figure out where your server's bottleneck is, and find the easiest workaround to make it go faster. Microsoft Certified MasterBrent Ozar will show you how to check your SQL Server's vital stats with free tools, and then determine whether you need indexes, memory, or different config settings.
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)Maarten Balliauw
Serving up content on the Internet is something our web sites do daily. But are we doing this in the fastest way possible? How are users in faraway countries experiencing our apps? Why do we have three webservers serving the same content over and over again? In this session, we’ll explore the Azure Content Delivery Network or CDN, a service which makes it easy to serve up blobs, videos and other content from servers close to our users. We’ll explore simple file serving as well as some more advanced, dynamic edge caching scenarios.
Docker Java App with MariaDB – Deployment in Less than a Minutedchq
DCHQ is a deployment automation, life-cycle management & governance platform for Docker-based applications. Developers can model, deploy, backup, update and monitor container-based applications in seconds.
A lab tutorial about How you can get started and automate DB12c Multitenant l...Hari Srinivasan
This is a lab tutorial explaining the lifecycle management pieces you would need to know to get started with DB12c. The illustrated steps in the book is explained with a very common story line using an imaginary 'Plug Inc'.
Learn how to use Enterprise Manager to automate Database Lifecycle operations for the new Oracle DB12c.
Handling Relational Data in a Distributed CacheAlachisoft
Most ASP.NET applications that needs scalability are data intensive and use relational database as their data store. This presentation provides information about relational data, object relational mapping, its management, caching strategies and handling collections in a distributed cache.
We looked at the data. Here’s a breakdown of some key statistics about the nation’s incoming presidents’ addresses, how long they spoke, how well, and more.
Presented at JavaOne 2015.
JSR107, aka the Temporary Caching API for the Java Platform, has now been finalized almost 2 years ago. We've heard all about its ease of use and capabilities. But there is much left unaddressed. The good news is that the EG is looking at addressing many of the current shortcomings... But what do you do now? Go for proprietary APIs?!
Ehcache, the de facto caching API for 10 years now, has gone through a major API revamp: Ehcache3. One major theme, beyond its usual ease of use, was JSR107. Natively integrating it, but also looking beyond. With close to no API tie-ins, Ehcache3 lets you extend the JSR107 API transparently to go beyond the specification: topology-wise: whether you want to go offheap and scale up, or scale out by clustering your caches; functionality-wise: using transactional caches, automatic resource control or even using a write-behind cache to scale out writes...
Best of all is that this isn't only minimally intrusive, it is also all free to use and available as part of the open-source Ehcache v3 that has been GA'ed earlier this year...
Learn how to leverage various tools to quickly and consistently create full environments in minutes.
Like most things in life, there's an easy way and a hard way. The same holds true when working in cloud environments such as Microsoft Azure. The Azure management portal and Visual Studio can be great for relatively simple projects, but quickly become tedious when trying to create the multiple resources that often make up a real-world solution. This session will demonstrate how to leverage various tools, such as PowerShell, Azure Resource Manager, Azure Automation, and the Azure Management Library, to quickly and consistently create full environments in minutes.
You will learn:
- How to use Azure Management Library to create various Azure assets
- How to use Azure PowerShell cmdlets to query Azure services, deploy VMs and Cloud Services
- How to leverage Azure Automation to reduce operating costs and other management tasks
You host Relativity data in SQL Server, and you can't just go buy a new server. You need to figure out where your server's bottleneck is, and find the easiest workaround to make it go faster. Microsoft Certified MasterBrent Ozar will show you how to check your SQL Server's vital stats with free tools, and then determine whether you need indexes, memory, or different config settings.
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)Maarten Balliauw
Serving up content on the Internet is something our web sites do daily. But are we doing this in the fastest way possible? How are users in faraway countries experiencing our apps? Why do we have three webservers serving the same content over and over again? In this session, we’ll explore the Azure Content Delivery Network or CDN, a service which makes it easy to serve up blobs, videos and other content from servers close to our users. We’ll explore simple file serving as well as some more advanced, dynamic edge caching scenarios.
Docker Java App with MariaDB – Deployment in Less than a Minutedchq
DCHQ is a deployment automation, life-cycle management & governance platform for Docker-based applications. Developers can model, deploy, backup, update and monitor container-based applications in seconds.
A lab tutorial about How you can get started and automate DB12c Multitenant l...Hari Srinivasan
This is a lab tutorial explaining the lifecycle management pieces you would need to know to get started with DB12c. The illustrated steps in the book is explained with a very common story line using an imaginary 'Plug Inc'.
Learn how to use Enterprise Manager to automate Database Lifecycle operations for the new Oracle DB12c.
Handling Relational Data in a Distributed CacheAlachisoft
Most ASP.NET applications that needs scalability are data intensive and use relational database as their data store. This presentation provides information about relational data, object relational mapping, its management, caching strategies and handling collections in a distributed cache.
We looked at the data. Here’s a breakdown of some key statistics about the nation’s incoming presidents’ addresses, how long they spoke, how well, and more.
My books- Hacking Digital Learning Strategies http://hackingdls.com & Learning to Go https://gum.co/learn2go
Resources at http://shellyterrell.com/emoji
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising.
This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.
Intro to Windows Server AppFabric
by Ron Jacobs, Senior Technical Evangelist at Microsoft
Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS.
This presentation will help SQL Server developers and DBAs get up to speed on AppFabric. You'll also learn how Windows AppFabric caching can help you scale your Data Tier.
You will learn:
•The core capabilities of Windows Server AppFabric
•How the distributed nature of AppFabric’s cache allows large amounts of data to be stored in-memory for extremely fast access and help you scale your SQL Data Tier
•How to get started with Windows Server AppFabric
Application Scalability in Server Farms - NCacheAlachisoft
NCache is an in-memory caching solution by Alachisoft that improves application scalability and performance by reducing database trips and storing frequently accessed data in memory to provide better performance. It is also used to cache session data in web farms.
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...Docker, Inc.
Mark Church - Product Manager, Docker
Don Stewart - Solutions Architect, Docker
Persistent storage has quickly advanced from something considered incompatible with containers to a mature set of solutions and patterns that have been thoroughly adopted by the industry. We’ll define the persistent characteristics of different use-cases and map these to some of the many solutions that exist for container storage. From this talk you’ll learn about the storage options available to users on Swarm, Kubernetes, on-premises, cloud, and how they work and compare to each other. You’ll also learn how to characterize different persistent application requirements and the solutions best for suited for them.
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Shailendra Prasad
1. How to scale – options (pros and cons)
2. Caching basics (various options available)
3. Recent updates of Open source Ehcache project.
4. Scaling your existing application with Ehcache, Terracotta OSS
5. Advance caching techniques for scaling using Terracotta BigMemory
6. Customer use cases where caching was mission critical
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...Cisco DevNet
Data gravity is a reality when dealing with massive amounts and globally distributed systems. Processing this data requires distributed analytics processing across InterCloud. In this presentation we will share our real world experience with storing, routing, and processing big data workloads on Cisco Cloud Services and Amazon Web Services clouds.
Windows Server AppFabric Caching - What it is & when you should use it?Robert MacLean
This is from my Tech-Ed Africa 2010 talk. For more information see: http://www.sadev.co.za/content/teched-africa-2010-slides-scripts-and-demos-my-talks
This session looks at what AppFabric Caching is from start to deep dive.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
5. Typical Web Architecture
•Need to get routed to
same machine (i.e. sticky
sessions)
Users
•Each machine round trips
for data
•Data that is cached is
stored in the memory of
one server
Web
Tier
•CPU and disk can get
saturated due to traffic
•Service access is slow
Data
Tier
9. Good but…
Cache is scoped to machine / process
◦ Machines die
◦ Processes recycle
Cache memory is limited
10. What if?
You could have as much cache as you
wanted?
You could share a giant cache across
servers, services and even clients?
What if this was something you could
simply add to the platform for
1
free?
1Some features may require
certain editions of Windows
Server
12. Unified Cache View
What is AppFabric Caching?
An explicit, distributed, in-memory
application cache for all kinds of data
Caching clients
can be across
machines or
processes
Clients Access
the Cache as if it
was a large
single cache
Cache Layer
distributes data
across the
various cache
nodes
13. AppFabric Cache
•No need for sticky sessionsUsers
•Cached data available to all
servers
Web
Tier
•Multiple machines means
scale and high-availability
•Lots of cache memory
Caching
Tier
•Reduces load on database
•Duplicate Service Calls
eliminated
Data
Tier
14. Data Distribution - Partitioned Cache
… Web Tier
Cache
Tier
CacheService
CacheService
Cache
Service
A C EDB G IHF
ASP.Net App
Caching Client
ASP.Net App
Caching Client
ASP.Net App
Caching Client
AC ED BGI HF
Scale on Data Size
◦ More machines => More memory to cache
Scale on Cache Throughput
◦ More machines => keys distributed across more machines => better
throughput
21. Caching
Service
Caching
Service
Cachin
g
Service
Configuration Store
Install
AppFabric
Copy Client DLLs
…Application Application Application<hosts>
<host name="BL1CDB8083714“
cachePort="22233"
cacheHostName="DistributedCacheService"/>
…..
</hosts>
<localCache isEnabled=“true" ../>
<security … />
Caching Access
Layer
Caching Access
Layer
Caching Access
Layer
.NET 3.5 SP1 OR .NET 4
Configure
AppFabric
.NET 4
Update Web.config
Deployment
22. Usage Pattern – Cache Aside
(Explicit Caching)
// Read from Cache
Toy toyObj = (Toy)
catalog.Get("toy-101");
Application
Caching
Service
Database
// If Not present in the cache
if (toyObj == null)
{
// Read from backend..
toyObj = ReadFromDatabase();
// Populate Cache
catalog.Put("toy-101", toyObj);
return toyObj;
}
Caching Access
Layer
23. Administration
PowerShell cmdlets are used to administer
the cache cluster
Rich set of cmdlets for
◦ Cache cluster management
◦ Cache creation and monitoring
26. Security
Domain Based Security Option
◦ Domain Account / Local Account based
Authentication
◦ Only authorized servers can join the cluster
◦ Only authorized clients can connect to the
cluster
Transport Level Security
◦ Turn on/off Signing or Encryption
Can turn off Cache Security
◦ Use Firewalls, IPSec, VLANs to protect cache
grant-cacheallowedclientaccount RedDomainMachine1$
grant-cacheallowedclientaccount RedDomainJohn
27. Logical Hierarchy
Machine
Host
◦ Physical processes hosting
AppFabric Caching instance.
Named Caches
◦ Can span across machines
◦ Defined in the configuration file
Regions
◦ Physically co-located Container of
Cache Items
◦ May be implicit or explicitly created
Cache Item
◦ Key, Payload (Object ), Tags, TTL,
Timestamps, Version
Regions
Region A
Key Payload Tags
121 xxxx “Toy” “Child”
123 yyyy “Toy” “Chair”..
AppFabric
Caching
Service
Named Cache : Product Catalog
Named Cache : Electronics Inventory
AppFabric
Caching
Service
AppFabric
Caching
Service
AppFabric
Caching
Service
28. AppFabric Caching API
// Create instance of cachefactory (reads appconfig)
DataCacheFactory fac = new DataCacheFactory();
// Get a named cache from the factory
DataCache catalog = fac.GetCache("catalogcache");
// Simple Get/Put
catalog.Put("toy-101", new Toy("Puzzle", .,.));
// From the same or a different client
Toy toyObj = (Toy)catalog.Get("toy-101");
// Region based Get/Put
catalog.CreateRegion("toyRegion");
// Both toy and toyparts are put in the same region
catalog.Put("toy-101", new Toy( .,.), “toyRegion”);
Catalog.Put("toypart-100", new ToyParts(…), “toyRegion”);
Toy toyObj = (Toy)catalog.Get("toy-101“,"toyRegion");
29. Access APIs – Tagging Items
Tag hotItem = new Tag("hotItem");
catalog.Put("toy-101", new Toy("Puzzle"),
new Tag[]{hotItem}, “toyRegion”);
catalog.Put("toy-102", new Toy("Bridge"), “toyRegion”);
// From the same or a different client
List<KeyValuePair<string, object>> toys =
catalog.GetAnyMatchingTag("toyRegion", hotItem);
30. Types of Data
Reference Activity Resource
Primary Read Only Read-Write Not
shared
Read-Write, Shared
Catalog Data Shopping Cart Auction Data/Seat
Assignment
Web Tier
Distributed Cache
Shopping Cart
Grocery
Catalog
Grocery
Inventory
Grocery Shop
31. Application
Application
AppFabric Caching Client
Reference Data – Performance
Catalog data doesn’t change often
Unnecessary network cost to access from different machines
Solution – Local Cache
Put(K2, v3)
Routing Table
Cache2Cache1
Primary for K2,V2
K2, V2
Primary for K1,V1
K1, V1
Cache3
Primary for K3,V3
K3, V3
AppFabric Caching Client
Local Cache
Routing Table
K2,
V2
Get(K2)
Get(K2)
K2, V3
32. Reference Data – Bulk Get
Bulk Fetch from region
◦ 200-300k ops per second
◦ Fewer network calls
Catalog.BulkGet(
new List<string>(){“toy-101”, “toy-102”} ,
“toyRegion”);
33. Activity Data – Session Integration
…
Session State
stored in
AppFabric
Caching
CacheService
Caching
Service
Load Balance Requests
No more sticky routing
CachingService
Scale your
Session Store
Dynamically
Highly
Available
Drop in AppFabric
Caching
SessionStoreProvider
Allows session state to be shared amongst multiple applications
Application
Caching Access
Layer
Application Application
Caching Access
Layer
Caching Access
Layer
<sessionState mode="Custom“
customProvider="SessionStoreProvider">
<providers>
<add name="SessionStoreProvider"
type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider,
ClientLibrary“
cacheName="<YourNamedCache>"/>
</providers>
</sessionState>
34. Application
Application
(K2, V2)
Cache2Cache1 Cache3
Primary for
Activity Data - Availability
Get(K2)
Primary for Primary for
K3, V3
AppFabric Caching Client
Routing Table
K2,V2
PUT
Secondary for
K2, V2
K1, V1
Secondary for
K3, V3
Secondary for
K1, V1
AppFabric Caching Client
Routing Table
K2, V2
Replicatio
n AgentK2, V2
35. Resource Data - Optimistic Locking
GetCacheItem returns a version object
Every update to an object internally increments it's version
Supply the version obtained along with the Put/Remove
Put/Remove will succeed only if the passed in version matches
the version in the cache
Version Based Update
Time Client1 Client2 (Different Thread or
process)
T0 CacheItem item =
catalog.GetCacheItem(“PlayerRe
gion”, ”Zune”);
CacheItem item =
catalog.GetCacheItem(“PlayerRe
gion”,
”Zune”);
T1 ((ZuneObject)item.Object).inven
tory --;
((ZuneObject)item.Object).invent
ory--;
T2 catalog.Put(“PlayerRegion”,
“Zune”,
item.Object,
item.Version);
T3 catalog.Put(“PlayerRegion”,
“Zune”,
item.Object,
item.Version);
// Version mismatch
// Client must retry again
Two clients access the same
item
Both update the item
Second Client gets in first;
put succeeds because item
version matches; atomically
increments the version
First client tries put;
Fails because the versions
don’t match
36. K1
Resource Data - Pessimistic Locking
Take locks on non-existent keys
◦ Allows you to co-ordinate calls for data
Client1:
GetAndLock ("k1")
Client2:
GetAndLock ("k1")
Client3:
Get ("k1")
Regular Get
succeeds
GetAndLock gets lock
handle
Other GetAndLock on
same item fails
In the future we will be bringing these capabilities to the cloud and bringing some of the cloud capabilities such as service bus and access control to the on-premise server solution as well.