Click here to close now.

Welcome!

MICROSERVICES Authors: Elizabeth White, Dana Gardner, ScriptRock Blog, Cynthia Dunlop, Adrian Bridgwater

Related Topics: Virtualization, Java, MICROSERVICES, .NET, Web 2.0, Cloud Expo

Virtualization: Blog Feed Post

Midokura - The SDN with a Hive Mind

Centralized control, decentralized execution comes to life with Midokura's MidoNet

Whether bees or Martians, science or science-fiction, the notion of a hive mind is one that pops up frequently within the realm of psychology, philosophy, theology, science and, last but not least, technology. A hive mind is one that has a collective memory, sharing information from the past and present with every other member of the hive.

This capability (if it really exists) enables incredible resiliency on the population as a whole, because every member of the population has the information necessary to replace another at any moment. This concept has been applied to scaling applications since scaling applications because a necessity. If applications share session state information – usually by sharing a session data base – then any instance can immediately take over for another without disrupting a user session. Like bees, there is no need for on-the-job-training, it just "knows" – as though it tapped into a shared database full of not only standard hive knowledge but of the current state of the hive.

shared-session-arch

This concept is partially included in many SDN implementations, with varying degrees of success. In the most common, centralized-controller model of SDN a singular entity (the controller) maintains this vault of knowledge but disseminates only partial views of that state to relevant pieces of the infrastructure. Thus it is not a fully participative hive mind, but a partial one. This leads to over-reliance on the controller, which is responsible not just for management of the shared knowledge but of dissemination. Like the queen bee, loss of the controller is devastating to the ability of the controller-focused SDN to function.

Midokura, offers a new model with a more complete collective "hive mind" that inherently supports resilient software-defined networks and alleviates the potential risk of relying on a singular entity through which to disseminate state of the network.

MidoNet

Midokura is a global startup focused on network virtualization. It officially entered the US market in mid-October 2012 with the introduction of its primary solution: MidoNet.

 

MidoNet virtualizes the network stack for popular cloud platforms such as OpenStack®. Midokura’s approach not only adds automation that significantly reduces the human cost (OPEX) of managing the network, but also impacts the overall economics of cloud computing (CAPEX) by simplifying network requirements.

MidoNet is a distributed, de-centralized, multi-layer software defined virtual network solution for IaaS. By taking an overlay-based approach to network virtualization, MidoNet sits on top of any IP-connected network, and pushes the network intelligence to the edge of the network, in software.

-- Midokura Press Release

 

Cutting through the marketing speak, MidoNet is a fabric of distributed, software-defined networking services. It requires no specialized hardware infrastructure, but rather turns any Linux-based host running the Open vSwitch kernel module and the MidoNet agent into a node on a fully-meshed, L2-4 virtual network fabric.The network executes on a role-based networking principle, with each node able to execute on a broad set of L2-4 policies based on its assigned role in the flow. By taking an overlay-based approach to network virtualization, MidoNet can be deployed atop any existing network, using traditional L2/L3 connectivity as the means to create and utilize its peer-to-peer virtualized tunnels.

midonet-2 MidoNet applies faithfully the idea of centralized management coupled with de-centralized execution.Traditional edge services are applied at the perimeter of the network using virtual policy execution, and then packets are routed via a tunnel to the designated end-point.  Policies are not so much deployed as they are simply applied at the appropriate ingress node. Each node may play multiple roles, guided by the process governing specific flows.

Failure, then, is inherently managed by the ability of any edge node to apply the appropriate policies based on the role being executed. There is no reliance on a controller - commonly associated with SDN implementations – because local agents manage the application of appropriate policies on ingress and egress traffic. It's a "shared session" approach to networking, in which the entire state of the network is stored in scalable database systems and distributed throughout the network. Just as is the case with "shared session" applications, failure in any given node simply means flows are directed through a different node – which has complete knowledge of all the information previously known to the failed node by virtue of sharing the network state database.

Like a hive mind, every node knows what every other node knows – and has known – and it is only the roles assigned to any given node that indicates a difference in how that node executes on traffic.

The difference between MidoNet's architecture and the centralized architecture of a controller-based SDN is in the execution. While both models "share" state and configuration, ostensibly, a controller-based SDN relies on centralized execution. MidoNet does not, leveraging shared state and configuration as a means to enable resiliency.

MidoNet does not come without questions. Any agent-based system brings with it overhead, and MidoNet is no exception. The question becomes how much overhead and does it significantly impact performance of the host system. Similarly, how many roles can a single node assume before it becomes overwhelmed? How well does MidoNet react to failures in the underlying L2/L3 physical network?

And while MidoNet offers a mix of stateless and stateful services, the higher up the stack one traverses, the less robust such services become. Layer 4 load balancing as currently offered by MidoNet is acceptable for simple load balancing, but depending on the application and demand may result in uneven distribution that can make capacity planning and elasticity less efficient and more difficult to perform.

Also problematic with any simple L4 load balancing service are issues with application dependencies on persistence and topological architecture and the resulting impact on load balancing algorithms. Midokura does not refute the unique challenges associated with moving up the stack – nor with the rudimentary nature of its existing L4 services – but believes these challenges can eventually be addressed.

All in all, MidoNet is an impressive adaption of SDN principles into a more resilient, flexible model. The application of a shared session architecture combined with role-based networking is a fascinating twist on the more common centralized control and command model put forth by competing SDN players.

Read the original blog entry...

More Stories By Lori MacVittie

Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.

@MicroservicesExpo Stories
While poor system performance occurs for any number of reasons (poor code, understaffed teams, inadequate legacy systems), this week’s post should help you quickly diagnose and fix a few common problems, while setting yourself up for a more stable future at the same time. Modern application frameworks have made it very easy to build not only powerful back-ends, but also rich, web-based user interfaces that are pushed out to the client in real-time. Often this involves a lot of data being transf...
InfoScout in San Francisco gleans new levels of accurate insights into retail buyer behavior by collecting data directly from consumers’ sales receipts. In order to better analyze actual retail behaviors and patterns, InfoScout provides incentives for buyers to share their receipts, but InfoScout is then faced with the daunting task of managing and cleansing that essential data to provide actionable and understandable insights.
Best practices for helping DevOps and Test collaborate in ways that make your SDLC leaner and more scalable. The business demand for "more innovative software, faster" is driving a surge of interest in DevOps, Agile and Lean software development practices. However, today's testing processes are typically bogged down by weighty burdens such as the difficulty of 1) accessing complete Dev/Test environments; 2) acquiring complete, sanitized test data; and 3) configuring the behavior of the environm...
As a group of concepts, DevOps has converged on several prominent themes including continuous software delivery, automation, and configuration management (CM). These integral pieces often form the pillars of an organization’s DevOps efforts, even as other bigger pieces like overarching best practices and guidelines are still being tried and tested. Being that DevOps is a relatively new paradigm - movement - methodology - [insert your own label here], standards around it have yet to be codified a...
SYS-CON Events announced today that Solgenia will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY, and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Solgenia is the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions. Designed to “Bridge the Gap” between Personal and Professional S...
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY., and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MangoApps provides private all-in-one social intranets allowing workers to securely collaborate from anywhere in the world and from any device. Social, mobile, and eas...
Learn the top API testing issues that organizations encounter and how automation plus a DevOps team approach can address these top API testing challenges. Ensuring API integrity is difficult in today's complex application cloud, on-premises and hybrid environment scenarios. In this interview with TechTarget, Parasoft solution architect manager Spencer Debrosse shares his experiences about the top API testing issues that organizations encounter and how automation and a DevOps team approach can a...
Chef and Canonical announced a partnership to integrate and distribute Chef with Ubuntu. Canonical is integrating the Chef automation platform with Canonical's Machine-As-A-Service (MAAS), enabling users to automate the provisioning, configuration and deployment of bare metal compute resources in the data center. Canonical is packaging Chef 12 server in upcoming distributions of its Ubuntu open source operating system and will provide commercial support for Chef within its user base.
After what feel like an interminable cycle of media frenzy followed by hype and hysteria cycles, the practical elements of real world cloud implementations are starting to become better documented. But what is really different in the cloud? How do software applications behave, live, interact and interconnect inside the cloud? Where do cloud architectures differ so markedly from their predecessors that we need to learn a new set of mechanics – and, when do we start to refer to software progra...
When it comes to microservices there are myths and uncertainty about the journey ahead. Deploying a “Hello World” app on Docker is a long way from making microservices work in real enterprises with large applications, complex environments and existing organizational structures. February 19, 2015 10:00am PT / 1:00pm ET → 45 Minutes Join our four experts: Special host Gene Kim, Gary Gruver, Randy Shoup and XebiaLabs’ Andrew Phillips as they explore the realities of microservices in today’s IT worl...
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on T...
Even though it’s now Microservices Journal, long-time fans of SOA World Magazine can take comfort in the fact that the URL – soa.sys-con.com – remains unchanged. And that’s no mistake, as microservices are really nothing more than a new and improved take on the Service-Oriented Architecture (SOA) best practices we struggled to hammer out over the last decade. Skeptics, however, might say that this change is nothing more than an exercise in buzzword-hopping. SOA is passé, and now that people are ...
Hosted PaaS providers have given independent developers and startups huge advantages in efficiency and reduced time-to-market over their more process-bound counterparts in enterprises. Software frameworks are now available that allow enterprise IT departments to provide these same advantages for developers in their own organization. In his workshop session at DevOps Summit, Troy Topnik, ActiveState’s Technical Product Manager, will show how on-prem or cloud-hosted Private PaaS can enable organ...
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Ras...
Microservice architectures are the new hotness, even though they aren't really all that different (in principle) from the paradigm described by SOA (which is dead, or not dead, depending on whom you ask). One of the things this decompositional approach to application architecture does is encourage developers and operations (some might even say DevOps) to re-evaluate scaling strategies. In particular, the notion is forwarded that an application should be built to scale and then infrastructure sho...
For those of us that have been practicing SOA for over a decade, it's surprising that there's so much interest in microservices. In fairness microservices don't look like the vendor play that was early SOA in the early noughties. But experienced SOA practitioners everywhere will be wondering if microservices is actually a good thing. You see microservices is basically an SOA pattern that inherits all the well-known SOA principles and adds characteristics that address the use of SOA for distribut...
Our guest on the podcast this week is Jason Bloomberg, President at Intellyx. When we build services we want them to be lightweight, stateless and scalable while doing one thing really well. In today's cloud world, we're revisiting what to takes to make a good service in the first place. Listen in to learn why following "the book" doesn't necessarily mean that you're solving key business problems.
Microservices are the result of decomposing applications. That may sound a lot like SOA, but SOA was based on an object-oriented (noun) premise; that is, services were built around an object - like a customer - with all the necessary operations (functions) that go along with it. SOA was also founded on a variety of standards (most of them coming out of OASIS) like SOAP, WSDL, XML and UDDI. Microservices have no standards (at least none deriving from a standards body or organization) and can be b...
Right off the bat, Newman advises that we should "think of microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile Software development". These analogies are very interesting because my expectation was that microservices is a pattern. So I might infer that microservices is a set of process techniques as opposed to an architectural approach. Yet in the book, Newman clearly includes some elements of concept model and architecture as well as p...
Cloud computing is changing the way we look at IT costs, according to industry experts on a recent Cloud Luminary Fireside Chat panel discussion. Enterprise IT, traditionally viewed as a cost center, now plays a central role in the delivery of software-driven goods and services. Therefore, companies need to understand their cloud utilization and resulting costs in order to ensure profitability on their business offerings. Led by Bernard Golden, this fireside chat offers valuable insights on ho...