SlideShare a Scribd company logo
1 of 16
Осада Орлеана
построение распределенный приложений с
использованием фреймворка Orleans на
платформе Azure
Андрей Чех
July 05, 2015
Распределенные приложения
2
CAP теорема
2
Техники репликации
2
Распространенные архитектуры:
3-х уровневая
2
!!!
Распространенные архитектуры:
SOA
2
???
Orleans модель
2
Основные понятия Orleans
• Grains (virtual actors): stateless, stateful
• Grain interfaces (contract)
• Silos (grain hosting and execution)
• Clients
• Client observers
2
Grain
• Существует всегда
• Активируются автоматически
• Существует везде
• Масштабируется автоматически
– только stateless worker activation mode
(immutable or no state)
2
Grain interface, Grain reference
• Контракт взаимодействия между grains
• C# interface
• Все методы асинхронные (возвращают Task
или Task<T>)
• Grain reference – прокси для взаимодействия с
grain
• Grain reference можно взять из фабрики,
вернуть из метода, передать параметром
• Grain reference не требует явной привязки к
активации grain
2
Promise, Turn
• Все методы grains асинхронные: вызов
метода не блокируется, возвращая Task<T>
• TPL и await
• Все активации однопоточные
• 1 ход – последовательность вызовов,
которая приводит к завершенному
результату
2
2
Инструменты
• Visual Studio 2013, .NET Framework 4.5
• Azure SDK for .NET 2.4+ (optional)
• Orleans SDK
2
Итого
• Простой фреймворк для эффективной разработки
распределенных приложений
• Не подходит для некоторых сценариев
– переменная нагрузка с большим/малым
количеством сущностей
– нет поддержки транзакций (между grain-ами)
• at least once гарантия доставки сообщения (не at
most once)
• Нет поддержки FIFO при передаче сообщений
2
Ссылки
• Github https://github.com/dotnet/orleans
• Документация
http://dotnet.github.io/orleans/
• Orleans в продакшн
http://dotnet.github.io/orleans/Who-Is-Using-
Orleans
2
Спасибо!
Андрей Чех
Director of Research & Technology
2

More Related Content

More from IT Arena

Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...
Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...
Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...IT Arena
 
Beth Anne Katz, Microsoft. How to Product Manage Your Mental Health
Beth Anne Katz, Microsoft. How to Product Manage Your Mental HealthBeth Anne Katz, Microsoft. How to Product Manage Your Mental Health
Beth Anne Katz, Microsoft. How to Product Manage Your Mental HealthIT Arena
 
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...IT Arena
 
Colleen Graneto, Airbnb. 3 steps to better product decision making
Colleen Graneto, Airbnb. 3 steps to better product decision makingColleen Graneto, Airbnb. 3 steps to better product decision making
Colleen Graneto, Airbnb. 3 steps to better product decision makingIT Arena
 
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...IT Arena
 
Godard Abel, G2. The SaaS Trust Crisis
Godard Abel, G2. The SaaS Trust CrisisGodard Abel, G2. The SaaS Trust Crisis
Godard Abel, G2. The SaaS Trust CrisisIT Arena
 
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...IT Arena
 
Namir Anani, ICTC. Economic Resiliency in The Face of Adversity
Namir Anani, ICTC. Economic Resiliency in The Face of AdversityNamir Anani, ICTC. Economic Resiliency in The Face of Adversity
Namir Anani, ICTC. Economic Resiliency in The Face of AdversityIT Arena
 
Mada Seghete, Branch. Mobile Growth Trends
 Mada Seghete, Branch. Mobile Growth Trends Mada Seghete, Branch. Mobile Growth Trends
Mada Seghete, Branch. Mobile Growth TrendsIT Arena
 
Julia Petryk, MacPaw. Product PR: a how-to guide
Julia Petryk, MacPaw. Product PR: a how-to guideJulia Petryk, MacPaw. Product PR: a how-to guide
Julia Petryk, MacPaw. Product PR: a how-to guideIT Arena
 
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...IT Arena
 
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...IT Arena
 
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowKostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowIT Arena
 
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...IT Arena
 
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...IT Arena
 
Alexandr Galkin, Competera. Customer Development – the founding story and pra...
Alexandr Galkin, Competera. Customer Development – the founding story and pra...Alexandr Galkin, Competera. Customer Development – the founding story and pra...
Alexandr Galkin, Competera. Customer Development – the founding story and pra...IT Arena
 
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...IT Arena
 
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...IT Arena
 
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...IT Arena
 
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...IT Arena
 

More from IT Arena (20)

Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...
Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...
Michael Labate, Intellias. EDI in the DNA: Why Equity, Diversity and Inclusio...
 
Beth Anne Katz, Microsoft. How to Product Manage Your Mental Health
Beth Anne Katz, Microsoft. How to Product Manage Your Mental HealthBeth Anne Katz, Microsoft. How to Product Manage Your Mental Health
Beth Anne Katz, Microsoft. How to Product Manage Your Mental Health
 
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...
Sally Foote, GoCompare & Look After My Bills. Magic Goggles: the tools you ne...
 
Colleen Graneto, Airbnb. 3 steps to better product decision making
Colleen Graneto, Airbnb. 3 steps to better product decision makingColleen Graneto, Airbnb. 3 steps to better product decision making
Colleen Graneto, Airbnb. 3 steps to better product decision making
 
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...
Vasyl Zadvornyy, Prozorro. The Future of Governance: Can a Script Replace the...
 
Godard Abel, G2. The SaaS Trust Crisis
Godard Abel, G2. The SaaS Trust CrisisGodard Abel, G2. The SaaS Trust Crisis
Godard Abel, G2. The SaaS Trust Crisis
 
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...
Zeb Evans, ClickUp. From $0 to $20M ARR in 2 Years: Bootstrapping to Natural ...
 
Namir Anani, ICTC. Economic Resiliency in The Face of Adversity
Namir Anani, ICTC. Economic Resiliency in The Face of AdversityNamir Anani, ICTC. Economic Resiliency in The Face of Adversity
Namir Anani, ICTC. Economic Resiliency in The Face of Adversity
 
Mada Seghete, Branch. Mobile Growth Trends
 Mada Seghete, Branch. Mobile Growth Trends Mada Seghete, Branch. Mobile Growth Trends
Mada Seghete, Branch. Mobile Growth Trends
 
Julia Petryk, MacPaw. Product PR: a how-to guide
Julia Petryk, MacPaw. Product PR: a how-to guideJulia Petryk, MacPaw. Product PR: a how-to guide
Julia Petryk, MacPaw. Product PR: a how-to guide
 
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
Yaroslav Ravlinko, Intellias. You don’t need Kubernetes. You need to understa...
 
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...
Yaroslav Novytskyy, Anton Vasylenko, N-iX. Migrating to the cloud: options an...
 
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowKostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
 
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...
Alexandra Motulskaya, Exadel. ML1: Creating a machine learning powered plugin...
 
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...
Marty Kaszubowski, Old Dominion University. Oops!... Another Startup Did It A...
 
Alexandr Galkin, Competera. Customer Development – the founding story and pra...
Alexandr Galkin, Competera. Customer Development – the founding story and pra...Alexandr Galkin, Competera. Customer Development – the founding story and pra...
Alexandr Galkin, Competera. Customer Development – the founding story and pra...
 
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...
Anton Avrinsky, Liki24. How winning the IT Arena Startup Competition helped L...
 
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...
Roman Mogylnyi, Reface. Three pillars of a successful deep learning startup: ...
 
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...
Rodion Yeroshek, Poster. How we built a 13000-customers SaaS. Why scratching ...
 
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...
Iurii Blavt, CIVITTA. 100500 ways startup can raise capital at early stage wi...
 

Siege of Orleans (Andrey Chekh Technology Stream)

Editor's Notes

  1. Distributed programming is the art of solving the same problem that you can solve on a single computer using multiple computers - usually, because the problem no longer fits on a single computer.
  2. When it comes to partition tolerant consensus algorithms, the most well-known algorithm is the Paxos algorithm. It is, however, notoriously difficult to implement and explain. Raft, a recent (~early 2013) algorithm designed to be easier to teach and implement.
  3. Actor platforms such as Erlang and Akka are a step forward in simplifying distributed system programming.
  4. По умолчанию grain не может одновременно участвовать в разных ходах Reentrant grain – позволяет одновременно обрабатывать несколько запросов