Microsoft Project Orleans

Slides:



Advertisements
Similar presentations
Database Architectures and the Web
Advertisements

Technical Architectures
Microsoft Ignite /16/2017 2:42 PM
Distributed Systems Architectures
Chapter 13 Physical Architecture Layer Design
DISTRIBUTED COMPUTING
Platform as a Service (PaaS)
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Dynamics AX Technical Overview Application Architecture Dynamics AX Technical Overview.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Windows ® Deployment Services Infrastructure Planning and Design Published: February 2008 Updated: January 2012.
Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate.
Components of Windows Azure - more detail. Windows Azure Components Windows Azure PaaS ApplicationsWindows Azure Service Model Runtimes.NET 3.5/4, ASP.NET,
Microsoft ® SQL Server ® 2008 and SQL Server 2008 R2 Infrastructure Planning and Design Published: February 2009 Updated: January 2012.
Integration Capabilities of the Adapter Pack BizTalk Server, Windows Azure Service Bus, Connect for services.
Migrating Business Apps to Windows Azure Marc Müller Principal Consultant, 4tecture GmbH
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Submitted by: Shailendra Kumar Sharma 06EYTCS049.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Slide 1 Physical Architecture Layer Design Chapter 13.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Microsoft Azure SoftUni Team Technical Trainers Software University
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Windows Azure for IT Pros Kurt CLAEYS (TSP Windows Azure, Microsoft EMEA)
Building micro-service based applications using Azure Service Fabric
OpenField Consolidates Stadium Data, Provides CRM and Analysis Functions for an Intelligent, End-to-End Solution COMPANY PROFILE : OPENFIELD Founded by.
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
Copyright 2007, Information Builders. Slide 1 Machine Sizing and Scalability Mark Nesson, Vashti Ragoonath June 2008.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
Creating highly available and resilient Microservices on Microsoft Azure Service Fabric
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
ALL INFORMATION PRESENTED AS WELL AS ALL SESSIONS ARE MICROSOFT CONFIDENTIAL AND UNDER YOUR NON-DISCLOSURE AGREEMENT (NDA) AND\OR TECHNOLOGY PREVIEW.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Walk in a distributed systems park with Orleans Yevhen Bobrov yevhen
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Improve the Performance, Scalability, and Reliability of Applications in the Cloud with jetNEXUS Load Balancer for Microsoft Azure MICROSOFT AZURE ISV.
Call-Center Agents, Customers Communicate More Conveniently with SMS Chat App COMPANY PROFILE: EARLY CONNECT Early Connect is a regional SaaS ISV founded.
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Open Source distributed document DB for an enterprise
Nope OS Prepared by, Project Guides: Ms. Divya K V Ms. Jucy Vareed
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Software Architecture in Practice
Unit 27: Network Operating Systems
02 | Hosting Services in Windows Azure
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
A Combination of Public and Private Cloud –
Cloud computing mechanisms
Managing Services with VMM and App Controller
Saranya Sriram Developer Evangelist | Microsoft
Developing Microsoft Azure Solutions Jump Start
02 – Cloud Services Bret Stateham | Senior Technical Evangelist​
06 | SQL Server and the Cloud
Presentation transcript:

Microsoft Project Orleans Virtual Actors Set the Stage for Performance, Reliablity, and Scale

Sites Contact Microsoft Certified Solutions Developer Certified BizTalk developer Phoenix Connected Systems User Group Semi-active blogger (see sites) Proponent of Cloud Neudesic Senior Consultant Sites Blog: http://bloggedbychris.com Contact PCSUG: http://pcsug.org/ @pcsug @myerscj PCSUG *New (beta) http://www.pcsug.org/ myers.chris.j@gmail.com

Presentation Roadmap Demo & Solution overview Overview of Actor Model Introducing Orleans and virtual actors! Basics of Orleans Benefits of Orleans Advanced topics

College Class Scheduling Students Teachers 1 View classes 1 View classes 2 Create classes 2 Schedule classes 3 Find classes

So what’s all the hype with actors?

Wait… Sorry… wrong actors. Well… Actors are funny! Wait… Sorry… wrong actors.

Let’s Talk Actor Model Theory Concurrent digital computation Heavily influenced by work in the field of process calculi (or process algebra) Parallel composition Communication Theory within computer science that dates back to the 1973 Heavily influenced by packet switched networks

Actor Model Characteristics of actors Isolated Single-threaded Inherently concurrent Processes interact with actors through queues Actors are adressable Reference: http://blog.kjempekjekt.com/2013/02/16/actor-model-i-f-ved-hjelp-av-mailboxprocessor/

Actor Model – Mailbox Example Characteristics of actors Isolated state Data locality Locality There is no simultaneous change in multiple locations Message driven Actors are addressable Reference: http://3.bp.blogspot.com

Actor Models and Frameworks .NET Actor Framework NAct Retlang PostSharp Akka.NET Java and Skala Akka (toolkit) Erlang (Actor programming languages) Common complaints Actors are often not usefully typed Actors don’t always compose very well

What’s all this have to do with Orleans? Thank you Chris for the walk down memory lane, but… What’s all this have to do with Orleans?

Introducing Virtual Actors Teacher Student Class Subject Azure Silos Silos are hostable containers for virtual actors. Orleans Runtime Azure On-premise Hybrid Hosting

Virtual actors are called grains Concurrent components State Behavior Actor-based Silos communicate through Orleans conduit Silos are hosted via Orleans runtime Azure Windows Applications Grains communicate through message passing Reference: http://research.microsoft.com/en-us/projects/orleans/ 

Orleans Grains Grain Factory Clients Silos Grains Orleans Grain Grain Interface Grain Factory Clients Implements Provides Silos Use Grains Grain References Orleans Runtime

Creating the Interface Grain interface shared between client and server Implementations of grains inherit from a grain interface Grains always return either Task or Task<T> Grains are identified by a unique identifier: IGrainWithGuidKey IGrainWithStringKey IGrainWithLongKey Grain Interface Grain Interface Grain All communications with grains are implemented with Task or Task<T> All grains require a grain interface Establishes this as a grain interface that is referenced through a unique GUID

Creating the Grain Implements our IStudent interface and inherits from underlying Orleas.Grain Grain Implementation Orleans provides several helpers for managing Tasks No state is ever shared between grains or clients Local state only accessible from within grain Generate Task<string> from the string you wish to return

Running Your First Demo Download and install the Orleans SDK May also want to grab the latest Azure SDK at this time Create a grain interface project Create a grain collection project Create a DevTest silo using the VS project template Create a grain interface and corresponding grain Configure the client and server configuration files Run it!

Demo Time Creating a Standalone Grain Dev/Test Silo

Demo Time Implementing Grains in Azure

Recap Actors are isolated single-threaded components Orleans grains are like actors, but have differences (virtual actors) Grains encapsulate both state and behavior Developer interaction with grains is very familiar Object instances are similar grain references Runtime handles complexities that other actor frameworks do not: Actor placement and load balancing Deactivation of unused actors Actor recovery after server failures Indirection handled via a distributed directory

What’s the point? Why should I use this? This all looks really cool, but come on Chris… What’s the point? Why should I use this?

Here’s Why Grains are 3-tier architecture has limitations Low latency High availability Supremely scalable Promote reliability Extremely performant (will be discussed later) 3-tier architecture has limitations Throughput limits of the storage layer Storage layer has limited scalability due Storage layer that has to be consulted for every request

Orleans vs. Multi-Server 3-Tier Response time increases exponentially once resources begin to become strained Time (Response) Approximately even at low levels of consumption Orleans does suffer increased latency as it scales it’s silos Orleans Architecture 3-Tier Architecture Consumption (Transactions)

Come on… Let’s get into some more Advanced topics already!!!

Demo Time Implementing Grain Persistence

Demo Time Passing Grain References

Orleans is Dynamic Providers Custom Serializers Runtime Monitoring Azure Table SQL Server Memory (Grain) Roll your own Custom Serializers Runtime Monitoring Performance counters Silo statistics and metrics tables Liveness Provider Membership Table Grain Azure Table SQL Server Hosting Stand-alone Silo On-Premise Deployment Azure

Has it really been tested in the field? Who’s really using this? You may feel at this point that the framework is too new… Has it really been tested in the field? Who’s really using this?

Questions?

Orleans vs. Single Server 3-Tier Response time increases exponentially once resources begin to become strained Equilibrium point: Benefits of Orleans begin to shine Time (Response ) Orleans Architecture Network latency 3-Tier Architecture Consumption (Transactions)