The document discusses distributed RPC in OpenStack Nova using ZeroMQ. It proposes a solution of using decentralized peer-to-peer communication between the Nova components rather than relying on a centralized message broker. This involves using ZeroMQ for direct topic subscription between the Nova Network, Compute, and Scheduler components. It also describes using matchmaking and fanout casting to distribute messages to multiple worker nodes.
Dependent Random Access Point Pictures in HEVCEricsson
This paper describes the concept and a number of system aspects for the Dependent Random Access Point (DRAP) picture, a new feature that was recently introduced in the High-Efficiency Video Coding (HEVC) standard.
Maximize information exchange in your enterprise with AMQPKenneth Peeples
Businesses need to efficiently exchange information inside the enterprise as well as with other enterprises. In order to reduce cost and enhance business agility, an open messaging standard is a necessity for interoperability and integration. Advanced Message Queueing Protocol (AMQP) is the open standard wire-level binary messaging protocol that describes how a message should be structured and sent across the network.
Join this webinar to learn more about:
-What AMQP is and it's applications.
-The features and benefits of AMQP.
-Why you should use AMQP in your enterprise.
-The differences between AMQP and other messaging standards, such as JMS.
-Topologies and architectures possible through the use of AMQP.
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
Mirantis, the Global Engineering Services leader for OpenStack™ presents 2-day Bootcamp for OpenStack
www.mirantis.com/training
This two-day intensive course provides hands-on technical training for OpenStack aimed at system administrators and IT professionals looking to get started on an OpenStack Cloud deployment. Each of the two days will consist of lecture, demos and group exercises. Topics include:
• OpenStack Overview & Architecture: Project goals and use cases, basic operating and deployment principles
• Cloud Usage Patterns: OpenStack codebase overview; creating networks, tenants, roles, troubleshooting; Nexenta Volume Driver
• In Production: Deploying OpenStack for real-world use, and practice of OpenStack operation on multiple nodes
• Swift Object Storage: use cases, architecture, capabilities, configuration, security and deployment
• Advanced Topics: Software Defined Networking, deployment and issues workshop, VMWare/OpenStack comparison
PRE-REQUISITES: Comfortable with Linux CLI, understanding of virtualization & hypervisors, Some experience with Linux networking
All course materials will be provided by Mirantis, including access to shared compute resources for labs. A light breakfast and lunch will be available to all course participants.
Mirantis instructors are active code committers to the OpenStack project, with proven experience building OpenStack clouds in the real world. In parallel to delivering expert training, they also consult for some of the notable global companies using OpenStack – including Cisco, NASA, Dell and Internap.
Services are the New Cloud Platform (Services-as-a-Platform)Randy Bias
How Amazon Web Services and other public clouds are really building Services-as-a-Platform (SaaP) not IaaS or PaaS. SaaP combined with DevOps is the ultimate path to faster, more nimble enterprise services and application delivery and lowering business time to value (TTV).
Juniper's plans to reboot the OpenContrail community and transition from a Juniper-led project to a community led project. We need your help. Get involved.
Dependent Random Access Point Pictures in HEVCEricsson
This paper describes the concept and a number of system aspects for the Dependent Random Access Point (DRAP) picture, a new feature that was recently introduced in the High-Efficiency Video Coding (HEVC) standard.
Maximize information exchange in your enterprise with AMQPKenneth Peeples
Businesses need to efficiently exchange information inside the enterprise as well as with other enterprises. In order to reduce cost and enhance business agility, an open messaging standard is a necessity for interoperability and integration. Advanced Message Queueing Protocol (AMQP) is the open standard wire-level binary messaging protocol that describes how a message should be structured and sent across the network.
Join this webinar to learn more about:
-What AMQP is and it's applications.
-The features and benefits of AMQP.
-Why you should use AMQP in your enterprise.
-The differences between AMQP and other messaging standards, such as JMS.
-Topologies and architectures possible through the use of AMQP.
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
Mirantis, the Global Engineering Services leader for OpenStack™ presents 2-day Bootcamp for OpenStack
www.mirantis.com/training
This two-day intensive course provides hands-on technical training for OpenStack aimed at system administrators and IT professionals looking to get started on an OpenStack Cloud deployment. Each of the two days will consist of lecture, demos and group exercises. Topics include:
• OpenStack Overview & Architecture: Project goals and use cases, basic operating and deployment principles
• Cloud Usage Patterns: OpenStack codebase overview; creating networks, tenants, roles, troubleshooting; Nexenta Volume Driver
• In Production: Deploying OpenStack for real-world use, and practice of OpenStack operation on multiple nodes
• Swift Object Storage: use cases, architecture, capabilities, configuration, security and deployment
• Advanced Topics: Software Defined Networking, deployment and issues workshop, VMWare/OpenStack comparison
PRE-REQUISITES: Comfortable with Linux CLI, understanding of virtualization & hypervisors, Some experience with Linux networking
All course materials will be provided by Mirantis, including access to shared compute resources for labs. A light breakfast and lunch will be available to all course participants.
Mirantis instructors are active code committers to the OpenStack project, with proven experience building OpenStack clouds in the real world. In parallel to delivering expert training, they also consult for some of the notable global companies using OpenStack – including Cisco, NASA, Dell and Internap.
Services are the New Cloud Platform (Services-as-a-Platform)Randy Bias
How Amazon Web Services and other public clouds are really building Services-as-a-Platform (SaaP) not IaaS or PaaS. SaaP combined with DevOps is the ultimate path to faster, more nimble enterprise services and application delivery and lowering business time to value (TTV).
Juniper's plans to reboot the OpenContrail community and transition from a Juniper-led project to a community led project. We need your help. Get involved.
State of the Stack v4 - OpenStack in All It's GloryRandy Bias
The almost annual State of the Stack, version 4, an end-to-end view of OpenStack. This edition focuses on what the challenges are within the community and how they can be addressed.
v1 of SOTS has over 90,000 views and is one of the highest viewed OpenStack presentations ever.
The Lie of a Benevolent Dictator; the Truth of a Working Democratic MeritocracyRandy Bias
Keynote at OpenStackSV's inaugural event. Essentially a call to arms to fix the missing "product leadership gap" that is clearly causing drag on the project(s).
OpenStack Architected Like AWS (and GCP)Randy Bias
A description of how we built Open Cloud System (OCS), an OpenStack-powered complete cloud operating system. With a focus on AWS and GCE interoperability, we describe why hybrid cloud interoperability matters and how we got there. Anyone can do it and we think you should too.
A detailed description of how Cloudscaling's Open Cloud System (OCS) has solved the network scalability problems in OpenStack. We'll cover how and why we designed a Layer-3 (L3) scale-out network, how we plugin and extend OpenStack, and talk about why we did it this way.
Pets vs. Cattle: The Elastic Cloud StoryRandy Bias
My recent presentation to the Chicago DevOps Meetup that explains how we're moving from a servers as Pets world to a servers as Cattle world. Understanding this change is critical to success in cloud, DevOps, and delivering new value to the enterprise.
SFBay OpenStack Meetup // Neutron and SDN in Production – Dec 3 2013Randy Bias
Cloud architects deploying OpenStack have multiple options for virtualizing the network layer. At this meetup, folks who’ve built big clouds and designed the networking fabrics for them will talk about those choices, including those that are native to OpenStack as well as other open source options. They’ll also dig into what’s new in Havana and what’s on tap for Icehouse next spring from a networking standpoint.
Bring your questions about network virtualization and SDN in OpenStack, and we’ll talk about Neutron and more.
Moderator Randy Bias of Cloudscaling will be joined by Rudra Rugge of Juniper Networks, Aaron Rosen of VMware / Nicira, Edgar Magana of PLUMgrid, and Ryu Ishimoto of Midokura.
Replay of the live broadcast can be found (soon) at http://youtube.com/siliconangle
Running your own infrastructure *can* be as little as half the cost of running on AWS once you are at scale. OpenStack-based cloud systems can provide the same or similar economies of scale if you leverage the lessons of AWS and GCE when building your cloud. This talk discusses the economic factors in designing a cost-efficient AWS + OpenStack hybrid cloud. We look at the issues involved in repatriating existing applications, and show a couple of real-world demonstration of tools that can assist in the repatriation process. Repatriation isn quite as simple as hitting the Easy button, but if you plan your deployment correctly, you can make it work, both technically and economically.
This 2nd major State of the Stack address is a complete refresh of the spring 2013 edition, broadcast live on BrightTALK from the OpenStack Summit in Hong Kong.
(Replay: https://www.brighttalk.com/webcast/10353/92159)
Randy Bias, CEO and Co-founder of Cloudscaling examines the progress from Grizzly to Havana and delves into new areas like refstack, tripleO, bare metal server provisioning, the move from "projects" to "programs", and public/hybrid cloud compatibility. Check out the updated statistics on project momentum and look more closely at big upgrades in Havana, including OpenStack Orchestrate (Heat), which has the opportunity to change the game for OpenStack in the greater private and hybrid cloud game. We also discuss the "what is 'core'" debate and examine the idea that OpenStack is a kernel, not a complete cloud OS.
Networking is NOT Free: Lessons in Network DesignRandy Bias
An in-depth critique of the existing OpenStack networking approach, with a focus on how the Nova network controller is more of a hindrance than a help. Discusses the gap in Quantum's functionality required to close the gap, and alternative solutions. How can we make networking in OpenStack robust, high performance, and fault tolerant? What do typical large scale networks look like and what lessons can we learn from them? Is there an approach to networking we can take that is the same with a handful of servers as it is with hundreds of racks?
Existing approaches to delivering persistent block storage in OpenStack focus on integrating existing SAN/NAS hardware solutions, using Distributed File Systems (DFS), or using simple Direct Attached Storage (DAS) with Cinder. There is another alternative: scale-out block storage nodes with intelligent scheduling. This is the same approach that Amazon Web Services (AWS) uses for Elastic Block Storage (EBS) and it's worth taking a close look at the pros and cons. This presentation will explore the differences between SAN, NAS, DFS, DAS, and EBS. We will look at the implicit and explicit contracts that users and operators get from the different approaches and look at a variety of failure conditions. EBS may not be right for some clouds, but for many it's an important and viable alternative to the existing approaches.
A comprehensive review of OpenStack then and now, each project's architecture, and hard data on why the race for open cloud is over. (First edition delivered April 2013 at OpenStack Summit. This version is from SPDEcon on June 10, 2013.)
Randy Bias, Co-Founder and CTO of Cloudscaling, speaks on open storage, fault tolerance and the concept of failure "blast radius" at the Open Storage Summit, hosted by Nexenta in May 2012.
Architectures for open and scalable cloudsRandy Bias
My presentation for 2012's Cloud Connect that goes over architectural and design patterns for open and scalable clouds. Technical deck targeted at business audiences with a technical bent.
Keynote presentation for KT's Cloud Frontiers 2011 (actual conference was in December 2010).
Contains a lot of early thinking on disruption patterns, cloud computing, and how Republic of Korea can be an effective global cloud competitor.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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.
State of the Stack v4 - OpenStack in All It's GloryRandy Bias
The almost annual State of the Stack, version 4, an end-to-end view of OpenStack. This edition focuses on what the challenges are within the community and how they can be addressed.
v1 of SOTS has over 90,000 views and is one of the highest viewed OpenStack presentations ever.
The Lie of a Benevolent Dictator; the Truth of a Working Democratic MeritocracyRandy Bias
Keynote at OpenStackSV's inaugural event. Essentially a call to arms to fix the missing "product leadership gap" that is clearly causing drag on the project(s).
OpenStack Architected Like AWS (and GCP)Randy Bias
A description of how we built Open Cloud System (OCS), an OpenStack-powered complete cloud operating system. With a focus on AWS and GCE interoperability, we describe why hybrid cloud interoperability matters and how we got there. Anyone can do it and we think you should too.
A detailed description of how Cloudscaling's Open Cloud System (OCS) has solved the network scalability problems in OpenStack. We'll cover how and why we designed a Layer-3 (L3) scale-out network, how we plugin and extend OpenStack, and talk about why we did it this way.
Pets vs. Cattle: The Elastic Cloud StoryRandy Bias
My recent presentation to the Chicago DevOps Meetup that explains how we're moving from a servers as Pets world to a servers as Cattle world. Understanding this change is critical to success in cloud, DevOps, and delivering new value to the enterprise.
SFBay OpenStack Meetup // Neutron and SDN in Production – Dec 3 2013Randy Bias
Cloud architects deploying OpenStack have multiple options for virtualizing the network layer. At this meetup, folks who’ve built big clouds and designed the networking fabrics for them will talk about those choices, including those that are native to OpenStack as well as other open source options. They’ll also dig into what’s new in Havana and what’s on tap for Icehouse next spring from a networking standpoint.
Bring your questions about network virtualization and SDN in OpenStack, and we’ll talk about Neutron and more.
Moderator Randy Bias of Cloudscaling will be joined by Rudra Rugge of Juniper Networks, Aaron Rosen of VMware / Nicira, Edgar Magana of PLUMgrid, and Ryu Ishimoto of Midokura.
Replay of the live broadcast can be found (soon) at http://youtube.com/siliconangle
Running your own infrastructure *can* be as little as half the cost of running on AWS once you are at scale. OpenStack-based cloud systems can provide the same or similar economies of scale if you leverage the lessons of AWS and GCE when building your cloud. This talk discusses the economic factors in designing a cost-efficient AWS + OpenStack hybrid cloud. We look at the issues involved in repatriating existing applications, and show a couple of real-world demonstration of tools that can assist in the repatriation process. Repatriation isn quite as simple as hitting the Easy button, but if you plan your deployment correctly, you can make it work, both technically and economically.
This 2nd major State of the Stack address is a complete refresh of the spring 2013 edition, broadcast live on BrightTALK from the OpenStack Summit in Hong Kong.
(Replay: https://www.brighttalk.com/webcast/10353/92159)
Randy Bias, CEO and Co-founder of Cloudscaling examines the progress from Grizzly to Havana and delves into new areas like refstack, tripleO, bare metal server provisioning, the move from "projects" to "programs", and public/hybrid cloud compatibility. Check out the updated statistics on project momentum and look more closely at big upgrades in Havana, including OpenStack Orchestrate (Heat), which has the opportunity to change the game for OpenStack in the greater private and hybrid cloud game. We also discuss the "what is 'core'" debate and examine the idea that OpenStack is a kernel, not a complete cloud OS.
Networking is NOT Free: Lessons in Network DesignRandy Bias
An in-depth critique of the existing OpenStack networking approach, with a focus on how the Nova network controller is more of a hindrance than a help. Discusses the gap in Quantum's functionality required to close the gap, and alternative solutions. How can we make networking in OpenStack robust, high performance, and fault tolerant? What do typical large scale networks look like and what lessons can we learn from them? Is there an approach to networking we can take that is the same with a handful of servers as it is with hundreds of racks?
Existing approaches to delivering persistent block storage in OpenStack focus on integrating existing SAN/NAS hardware solutions, using Distributed File Systems (DFS), or using simple Direct Attached Storage (DAS) with Cinder. There is another alternative: scale-out block storage nodes with intelligent scheduling. This is the same approach that Amazon Web Services (AWS) uses for Elastic Block Storage (EBS) and it's worth taking a close look at the pros and cons. This presentation will explore the differences between SAN, NAS, DFS, DAS, and EBS. We will look at the implicit and explicit contracts that users and operators get from the different approaches and look at a variety of failure conditions. EBS may not be right for some clouds, but for many it's an important and viable alternative to the existing approaches.
A comprehensive review of OpenStack then and now, each project's architecture, and hard data on why the race for open cloud is over. (First edition delivered April 2013 at OpenStack Summit. This version is from SPDEcon on June 10, 2013.)
Randy Bias, Co-Founder and CTO of Cloudscaling, speaks on open storage, fault tolerance and the concept of failure "blast radius" at the Open Storage Summit, hosted by Nexenta in May 2012.
Architectures for open and scalable cloudsRandy Bias
My presentation for 2012's Cloud Connect that goes over architectural and design patterns for open and scalable clouds. Technical deck targeted at business audiences with a technical bent.
Keynote presentation for KT's Cloud Frontiers 2011 (actual conference was in December 2010).
Contains a lot of early thinking on disruption patterns, cloud computing, and how Republic of Korea can be an effective global cloud competitor.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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.
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Distributed RPC in Nova with ZeroMQ
1. X
Image: http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/
Distributed RPC in Nova
with ZeroMQ
04-16-2012
Distributed RPC with ZeroMQ: code CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
& analysis 1
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
2. Etherpad
http://etherpad.openstack.org/
FolsomDistributedRPC
04-16-2012
Distributed RPC with ZeroMQ: code CCA - NoDerivs 3.0 Unported License -2Usage OK, no modifications, full attribution
& analysis
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
3. @ewindisch
04-16-2012
Distributed RPC with ZeroMQ: code CCA - NoDerivs 3.0 Unported License -3Usage OK, no modifications, full attribution
& analysis
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
4. Etherpad
http://etherpad.openstack.org/
FolsomDistributedRPC
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
5. Application
Message
Queue
Broker
Brokered Messaging
04-16-2012
Distributed RPC with ZeroMQ: code CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
& analysis 5
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
6. Application
X
Message
Queue
Broker
Brokered Messaging
04-16-2012
Distributed RPC with ZeroMQ: code CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
& analysis 5
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
7. Application
Message
Queue
Brokered Messaging
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
8. Application
Brokered Messaging
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
9. Application
HA Failover
High-Availability
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
10. Application
failover fails
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
11. Nova Nova Nova
API
Network Compute Scheduler
Message Message
Queue Queue
Nova Nova Nova
API
Network Compute Scheduler
Application
Decentralized
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
12. CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
13. CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
14. Nova Nova Nova
API
Network Compute Scheduler
Message Message
Queue Queue
Nova Nova Nova
API
Network Compute Scheduler
Application
Decentralized
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
15. Nova Nova Nova
API
Network Compute Scheduler
Message
Abandoned
Queue Messages
Nova Nova Nova
API
Network Compute Scheduler
Application
Decentralized
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
16. Nova Nova Nova
API
Network Compute Scheduler
Message
Queue
Nova Nova Nova
API
Network Compute Scheduler
Application
Decentralized
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
17. Solution:
Distributed RPC
for OpenStack Nova
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
18. API
Nova API
Application
Nova
Nova Network Nova Scheduler
Network
Nova
Nova Compute
Compute
Peer2Peer
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
19. API
Nova API
Application
Nova
Nova Network
Network
Nova
Nova Compute
Compute
Peer2Peer
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
20. API
Nova API
Application
Nova Scheduler
Nova
Nova Network
Network
Nova Scheduler
Nova
Nova Compute
Compute
Peer2Peer
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
21. API
Nova API
Application
Nova
Nova Network
Network
Nova Scheduler
Nova
Nova Compute
Compute
Peer2Peer
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
22. rpc.cast(topic.host)
PUSH -> PULL Direct
Publisher Topic
Consumer
Invoker
Worker
(e.g. api)
(e.g. compute)
Cast to host.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
23. rpc.cast(topic.host)
PUSH -> PULL Direct
Publisher Topic
Consumer
Invoker
Worker
(e.g. api)
(e.g. compute)
Cast to host.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
24. rpc.cast(topic.host)
PUSH -> PULL Direct
Publisher Topic
Consumer
Invoker
Worker
(e.g. api)
(e.g. compute)
Reply.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
25. rpc.cast(topic.host)
PUSH -> PULL Direct
Publisher Topic
Consumer
Invoker
Worker
(e.g. api)
(e.g. compute)
Reply.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
26. def _send(...):
“”” code omitted “””
# Curry the original request into a reply method.
orig_payload = [RpcContext.marshal(context), msg]
payload = [RpcContext.marshal(context), {
'method': '-reply', # Send original call to wrapper
'args': {
'msg_id': msg_id,
'context': RpcContext.marshal(context),
'topic': reply_topic, # our return path
'msg': orig_payload
}
}]
Tuesday, April 17, 12
27. # Messages arriving async.
msg_waiter = QueueSocket(
"ipc:///var/run/nova/zmq_reply_queue",
zmq.SUB, subscribe=msg_id, bind=False)
try:
with Timeout(timeout):
with Timeout(30) as t1:
conn.cast(msg_id, topic, payload)
# Blocks until receives reply
responses = pickle.loads(msg_waiter.recv()[-1])
Tuesday, April 17, 12
28. def reply(...): # this is -reply
"""Reply to a casted call"""
child_ctx = RpcContext.unmarshal(orig_payload[0])
response = ConsumerBase.normalize_reply(
self.get_response( # execute original call
child_ctx, proxy, topic, orig_payload[1]),
ctx.replies
)
_multi_send("cast", ctx, reply_topic, {
'method': '-process_reply',
'args': {
'msg_id': msg_id,
'response': response
}
})
Tuesday, April 17, 12
29. def process_reply(...):
"""Process a reply"""
# zmq_replies is the receiver service
self.msg_waiter.cast(str(msg_id),
str('zmq_replies'), response)
Tuesday, April 17, 12
30. rpc.call(topic.worker)
PUSH->PULL
curries reply method
Direct
Publisher Topic
Consumer
PULL<-PUSH
Invoker
rpc.cast -process_reply() Worker
(e.g. api)
(e.g. compute.host)
Call method.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
31. rpc.call(topic.worker)
PUSH->PULL
curries reply method
Direct
Publisher Topic
Consumer
PULL<-PUSH
Invoker
rpc.cast -process_reply() Worker
(e.g. api)
(e.g. compute.host)
Call method.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
32. rpc.call(topic.worker)
PUSH->PULL
curries reply method
Direct
Publisher Topic
Consumer
PULL<-PUSH
Invoker
rpc.cast -process_reply() Worker
(e.g. api)
(e.g. compute.host)
Call method.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
33. rpc.call(topic.worker)
PUSH->PULL
curries reply method
Direct
Publisher Topic
Consumer
PULL<-PUSH
Invoker
rpc.cast -process_reply() Worker
(e.g. api)
(e.g. compute.host)
Call method.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
34. Bare Topics
“scheduler.host1” goes to “host1”
Where do messages for “scheduler” go?
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
35. MatchMaking
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
36. Rewrite
Engine
• Every incoming topic is
mapped to an array of topics
and hosts.
• Usually returns a single topic/
host.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
37. Search for hosts
• Can be provided by:
• hash table (implemented)
• name service (i.e. DNS)
• directory service (i.e. LDAP)
• zookeeper
• etc...
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
38. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
39. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
40. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
41. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
42. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
43. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
44. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
45. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
46. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
47. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
48. rpc.fanout_cast(topic) MatchMaker
e.g. "compute"
Fanout may have many workers.
get_workers
as workers
Array *topic.worker
Direct
for each
Publisher Topic
worker:
Consumer
PUSH -> PULL
Invoker i.e. rpc.cast(topic.worker)
Worker
(e.g. api)
(e.g. nova-compute on
compute.host)
Fanout Cast.
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
51. NOVA
RPC
http://amitpiplani.blogspot.com/2010/05/u-pick-2-selection-for-nosql-providers.html
http://amitpiplani.blogspot.com/2010/05/u-pick-2-selection-for-nosql-providers.html
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12
52. Thank You
Essex Plug-in Download
https://github.com/cloudscaling/nova-mq
Slide deck:
http://bit.ly/HJogQ8
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution
Tuesday, April 17, 12