Building Scalable.NET Applications Guy Nirpaz, EVP R&D, GigaSpaces Technologies.

Slides:



Advertisements
Similar presentations
A Ridiculously Easy & Seriously Powerful SQL Cloud Database Itamar Haber AVP Ops & Solutions.
Advertisements

Thanks to Microsoft Azure’s Scalability, BA Minds Delivers a Cost-Effective CRM Solution to Small and Medium-Sized Enterprises in Latin America MICROSOFT.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Take your CMS to the cloud to lighten the load Brett Pollak Campus Web Office UC San Diego.
Virtualization of Fixed Network Functions on the Oracle Fabric Krishna Srinivasan Director, Product Management Oracle Networking Savi Venkatachalapathy.
Introduction to DBA.
CLOUD COMPUTING AN OVERVIEW & QUALITY OF SERVICE Hamzeh Khazaei University of Manitoba Department of Computer Science Jan 28, 2010.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation Windows Azure AppFabric Caching.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
Cloud Computing (101).
Running Your Database in the Cloud Eran Levin VP R&D - Xeround.
SOFTWARE AS A SERVICE PLATFORM AS A SERVICE INFRASTRUCTURE AS A SERVICE.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
Leverage the Power of the Cloud for your Business Phil Marshall Hosting & Managed Services Meridian IT e :
Opensource for Cloud Deployments – Risk – Reward – Reality
SANPoint Foundation Suite HA Robert Soderbery Sr. Director, Product Management VERITAS Software Corporation.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Introduction To Windows Azure Cloud
1 NETE4631 Managing the Cloud and Capacity Planning Lecture Notes #8.
Architecture of the R/3 System Chapter 14 C & L Chapter 8 M & W.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
No More Hops: Towards a linearly scalable application infrastructure. Owen Taylor Blog:
STEALTH Content Store for SharePoint using Caringo CAStor  Boosting your SharePoint to the MAX! "Optimizing your Business behind the scenes"
Click to add text TWA Cloud Integration with Tivoli Service Automation Manager TWS Education.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
IMDGs An essential part of your architecture. About me
Grid Computing at The Hartford Condor Week 2008 Robert Nordlund
How AWS Pricing Works Jinesh Varia Technology Evangelist.
1 MIKE MARCELLIN VP PRODUCT MARKETING. THE NEW NETWORK ENABLES CLOUD SERVICES, SECURITY, MOBILITY AND CONTENT DELIVERY NETWORKS.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Highly available database clusters with JDBC
VMware vSphere Configuration and Management v6
6/23/2005 R. GARDNER OSG Baseline Services 1 OSG Baseline Services In my talk I’d like to discuss two questions:  What capabilities are we aiming for.
Girish M. Jashnani Sales Consultant Manage your E-Business Suite more effectively.
Copyright © 2006, GemStone Systems Inc. All Rights Reserved. Increasing computation throughput with Grid Data Caching Jags Ramnarayan Chief Architect GemStone.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Microsoft Azure and DataStax: Start Anywhere and Scale to Any Size in the Cloud, On- Premises, or Both with a Leading Distributed Database MICROSOFT AZURE.
Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.
Axis AI Solves Challenges of Complex Data Extraction and Document Classification through Advanced Natural Language Processing and Machine Learning MICROSOFT.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler.
System Models Advanced Operating Systems Nael Abu-halaweh.
Content Management in Windows Azure Thom Robbins, Chief Evangelist, Kentico CMS.
Improve the Performance, Scalability, and Reliability of Applications in the Cloud with jetNEXUS Load Balancer for Microsoft Azure MICROSOFT AZURE ISV.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida Welcome to Synergy 2005! Connect! Chip.
Commvault and Nutanix October Changing IT landscape Today’s Challenges Datacenter Complexity Building for Scale Managing disparate solutions.
Introduction to Oracle Forms Developer and Oracle Forms Services
WebSphere XD Compute Grid High Performance Architectures
Avenues International Inc.
Netscape Application Server
op5 Monitor - Scalable Monitoring
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Cloud Computing By P.Mahesh
Scalable SoftNAS Cloud Protects Customers’ Mission-Critical Data in the Cloud with a Highly Available, Flexible Solution for Microsoft Azure MICROSOFT.
EIS Fast-track Revision Om Trivedi Enterprise Information Systems
Modernizing your enterprise with hybrid it
Excelian Grid as a Service Offers Compute Power for a Variety of Scenarios, with Infrastructure on Microsoft Azure and Costs Aligned to Actual Use MICROSOFT.
SpiraTest/Plan/Team Deployment Considerations
What is the Value of an IBM Balanced Warehouse™
LOAD BALANCING INSTANCE GROUP APPLICATION #1 INSTANCE GROUP Overview
Built on the Powerful Azure Platform, Angoss Helps Businesses Turn Data into Actionable Insights That Reduce Risk, Increase Organizational Performance.
Presentation transcript:

Building Scalable.NET Applications Guy Nirpaz, EVP R&D, GigaSpaces Technologies

Who am I? 3 Years with GigaSpaces –VP of R&D –Speaker at dev conferences: Agile, Technology, Architecture Veteran of several Startups Spent most of my life in design and architecture of complex systems –Financial Services, Command and Control, Teleco –Mercury, IBM, others Contact: – Twitter –jroller.com/gnirpaz - Blog

About GigaSpaces A Scale-Out Platform, optimized for distributed and virtualized environments: –Any deployment environments: clouds, grids, commodity servers, multi-core –Any languages: Spring/Java,.Net, C++, Dynamic Driven by the need for: –confidence to handle unpredictable demand and peak loads; –guaranteed performance under any processing loads; –cost-effective, on-demand scalability for clouds and grids –rapidly develop, change and scale applications

Global 1000 Companies Rely on GigaSpaces

Explore technical and business challenges of building scalable applications. Analyze fundamental architecture limitations and propose cost-effective alternative

Your Application The typical scenario… Michael Jackson Tickets are on Sale!

Linear Dynamic Scalability Solution: Linear and Dynamic Scalability

Business tier Back-up Load Balancer Web Tier Messaging Relies on centralized resources Hard to install: Bound to static resources (IPs, disk drives, etc.) Separate clustering model for each tier Hard to maintain Non-scalable Traditional Tier Based Architecture is not scalable

Peak loads are unpredictable Constant transaction, data and user growth Volatile and unpredictable loads

Scalability Disasters Are More Common Than Ever Lost customers Lost revenues Brand damage

Users Load Balancer Micro-Blogging (ala Twitter) Example IIS Data Base Application Publish Service Read Service IIS Application Publish Service Read Service

Reader/Publisher Service namespace MicroBlog.Services { public interface IReaderService { ICollection GetUserPosts(String userID); ICollection GetUserPosts(String userID, DateTime fromDate); } namespace MicroBlog.Services { public interface IPublisherService { void PublishPost(Post post); }

Users Load Balancer What happens on success IIS Data Base Application Publish Service Read Service IIS Application Publish Service Read Service IIS Application Publish Service Read Service Application Publish Service Read Service The database becomes the bottleneck

Reader – Database Implementation public ICollection GetUserPosts(string userID, DateTime fromDate) { // Create command: IDbCommand dbCommand = _dbConnection.CreateCommand(); dbCommand.CommandText = String.Format( "SELECT * FROM Post WHERE UserID='{0}' AND PostedOn > {1}", userID, fromDate); // Execute command: IDataReader dataReader = dbCommand.ExecuteReader(); // Translate results from db records to.NET objects: List result = ReadPostsFromDataReader(dataReader); // Return results: return result; }

Users Load Balancer Step I – Remove DB Bottlenecks with Caching IIS Data Base Application Publish Service Read Service Cache Service Reduce I/O bottlenecks – less DB access In-Memory caching Reduced Network hops (if in- process) Suitable for read-mostly apps

Reader – Space Implementation public ICollection GetUserPosts(String userID) { // Create a template to get all posts by a user id: Post template = new Post(); template.UserID = userID; // Use space proxy to read entries matching template: Post[] result = _spaceProxy.ReadMultiple(template); // Return result: return result; }

Users Load Balancer Step II – Linear Scalability: Partitioning and Collocation IIS Data Base Writer Reader Space Writer Reader Space Writer Reader Space Writer Reader Space Writer Reader Space IIS

Poster Load Balancer Post Life Cycle Writer Reader Space IIS Writer Client Reader Client Post.NEW Post.VALID Reader

Writer Client public class SpacePublisherService : IPublisherService { private readonly ISpaceProxy _spaceProxy; public void PublishPost(Post post) { this._spaceProxy.Write(post); }

Event Driven Programming – Writer Example [PollingEventDriven, TransactionalEvent] public class PendingPostsProcessor { [DataEventHandler] public Post ProcessPendingPost(Post post) { PostStatus newStatus = PostStatus.Published; foreach (String illegalWord in _illegalWords) if (post.Subject.Contains(illegalWord) || post.Body.Contains(illegalWord)) { newStatus = PostStatus.Rejected; break; } // Set new status: post.Status = newStatus; } return post; }

Poster Load Balancer Read Life Cycle Writer Reader Space IIS Writer Client Reader Client Post Reader Post

Users Load Balancer Step II – Linear Scalability: Partitioning and Collocation IIS Data Base Writer Reader Space Writer Reader Space Writer Reader Space Writer Reader Space Writer Reader Space IIS Collocation – write/read within the same process Partitioning and Content-Based Routing Async Writes to the Database

Users Load Balancer Step III – Dynamic Scalability IIS Data Base Writer Reader Space Writer Reader Space Writer Reader Space IIS Monitor Provision SLA Driven Policies Dynamic Scalability Self healing

Space Based Architecture Values Linear Scalability –Predictable cost model – pay per value –Predictable growth model Dynamic –On demand – grow only when needed –Scale back when resources are not needed anymore SLA Driven –Automatic –Self healing –Application aware Simple –Non intrusive programming model –Single clustering Model

Questions?

GigaSpaces Home Page: GigaSpaces XAP Product Overview: GigaSpaces XAP for the Cloud: