Welcome!

Open Source Cloud Authors: Liz McMillan, Pat Romanski, Elizabeth White, Carmen Gonzalez, Jim Scott

Related Topics: @DevOpsSummit, Microservices Expo, Open Source Cloud, Containers Expo Blog, @CloudExpo

@DevOpsSummit: Blog Post

Observer Effect on Microservices Architecture | @DevOpsSummit #Devops #BigData #Microservices

The Observer Effect simply states that observing something necessarily changes the thing being observed

The Impact of the Observer Effect on Microservices Architecture

Application availability is not just the measure of "being up". Many apps can claim that status. Technically they are running and responding to requests, but at a rate which users would certainly interpret as being down. That's because excessive load times can (and will be) interpreted as "not available." That's why it's important to view ensuring application availability as requiring attention to all its composite parts: scalability, performance, and security.

The paradox begins when we consider how we ensure scale, performance, and security: monitoring and measuring. That is, we observe certain characteristics about the network, compute, and application resources to gain an understanding of the status of the application. That necessarily means we have to interact with those components that need monitoring and measuring and thus we enter the world of physics.

The Observer Effect simply states that observing something necessarily changes the thing being observed. When it's a sentient being, this often takes the form of the Hawthorne Effect, which claims that sentient beings will change their behavior when they know they're being observed. Go ahead, try it out on your kids. If they know they're being watched they're angels. But turn your back on them for a minute and wham! They've destroyed their play room and littered popcorn all over the floor.

Within the realm of IT, the effect is no less active:

wikipedia-logoIn information technology, the observer effect is the potential impact of the act of observing a process output while the process is running. For example: if a process uses a log file to record its progress, the process could slow. Furthermore, the act of viewing the file while the process is running could cause an I/O error in the process, which could, in turn, cause it to stop.

Another example would be observing the performance of a CPU by running both the observed and observing programs on the same CPU, which will lead to inaccurate results because the observer program itself affects the CPU performance (modern, heavily cached and pipelined CPUs are particularly affected by this kind of observation).

-- https://en.wikipedia.org/wiki/Observer_effect_(information_technology)

The act of measuring capacity and performance of a system* - say an app or an individual microservice - alters its state by consuming resources that in turn increase total load which, based on operational axiom #2 says, ultimately degrades both capacity and performance. This is one of the reasons agent-based monitoring has always been a less favorable choice for APM, because the presence of the agent on the system necessarily reduces capacity and performance.

The Observer Effect is going to be particularly impactful on applications composed of microservices because of, well, math. If the act of measuring and monitoring one monolithic application degrades performance by X then the act of measuring and monitoring a microservices-based application is going to degrade performance by many more X. It could be argued that the impact on a microservices-based application is actually not X per service, but some fraction of X given that the point is to distribute services in such a way that not all services are being taxed at the same rate as in a monolithic application. That would  be true if it the microservices were being used as part of a single application, but one of the benefits - and target uses - of microservices is reuse. That implies that multiple apps or APIs are going to make use of each service, thus increasing the need to measure and monitor the capacity and performance of each service.

active versus passive monitoring

This is where architecture and technique matters. Where the design and implementation of the measuring and monitoring for performance and load of microservices becomes an important piece of ensuring availability. While each and every point of control - an API gateway or service discovery system or load balancer or proxy - can measure each microservice for which it performs its assigned tasks, it is likely to unnecessarily increase the impact of the Observer Effect on the microservice. That's because most points of control take an active approach to monitoring and measuring load and performance. That is, they purposefully poll a system so as to enquire regarding the status and responsiveness of the system. They use ICMP pings, they use TCP half opens, and they use HTTP content requests to gather the data they need.

Each of these methods interacts with the system in question and thus fulfills the Observers Effect prediction. The more systems gathering this data, the more interaction occurs, the greater the impact of the Observer Effect.

That means there must be greater attention paid to the way in which microservices are monitoring and measured - including the techniques used to accomplish it.

Passive approaches to measuring and monitoring provide one means of avoiding the Observer Effect. That's because they - as the term implies - passively observe status and measure performance without actively probing systems for this data. This is typically achieved by leveraging intermediate systems like load balancers and proxies through which requests and responses necessarily flow to capture status information as it is passing through.

The measurements are then used by the intermediary, of course, to manage distribution of load but are also exposed via APIs for collection by other systems. Those statistics gathered from an intermediary are likely* to have no impact on performance because they are managed by a system separate from the real-time execution of the intermediary.

It is important to consider the availability of the statistics via APIs to external systems when architecting a solution based on passive monitoring and measurement techniques. If the system performing the monitoring and measuring makes available the data it has collected, it relieves other systems of needing to directly measure each services' status and performance and further reduces the impact of the Observer Effect on the overall system.

This is one of the ways in which the collaborative aspects of DevOps can provide significant value. As ops and net ops work together to establish a more efficient means of measuring and monitoring the availability of systems like microservices they can provide as valuable input to dev those statistics using APIs directly or through integration with other established systems.

At an operational level this effort also establishes a more centralized location from which performance-related data can be retrieved (in real-time) and used to trigger other actions such as auto-scaling (up and down) - a critical capability when moving to microservices architectures in which the number and variability of usage and services requires a more automated approach to operations than their monolithic predecessors.

* This is less applicable to virtual network appliances because they are purposefully designed to separate operational and actionable systems to ensure that management - measuring, monitoring, modifying - the system does not impact the performance of the actionable system. This is carried over from their roots in hardware, where "lights out" management is a requirement.

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.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
There's Big Data, then there's really Big Data from the Internet of Things. IoT is evolving to include many data possibilities like new types of event, log and network data. The volumes are enormous, generating tens of billions of logs per day, which raise data challenges. Early IoT deployments are relying heavily on both the cloud and managed service providers to navigate these challenges. In her session at Big Data Expo®, Hannah Smalltree, Director at Treasure Data, discussed how IoT, Big Data and deployments are processing massive data volumes from wearables, utilities and other machines...
We are reaching the end of the beginning with WebRTC, and real systems using this technology have begun to appear. One challenge that faces every WebRTC deployment (in some form or another) is identity management. For example, if you have an existing service – possibly built on a variety of different PaaS/SaaS offerings – and you want to add real-time communications you are faced with a challenge relating to user management, authentication, authorization, and validation. Service providers will want to use their existing identities, but these will have credentials already that are (hopefully) i...
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
Disruption in the communications ecosystem is creating a market opportunity for Cloud Real-Time Communications (RTC) platforms. We expect this market to represent a $4.5 billion opportunity by 2018. Cloud RTC Platforms are cloud services that enable mobile and web developers to integrate communications into their applications with just a few lines of code. Via REST APIs and SDKs Cloud RTC Platforms enable developers to easily integrate voice, messaging and video calling into mobile and web applications supporting more contextual conversations. These tools have the potential to change in how we...
SYS-CON Events announced today that Sensorberg will exhibit at 17th Cloud Expo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Since 2013, Sensorberg GmbH, based in Berlin, has provided a beacon-based, platform-independent, all-in-one proximity campaign solution. The Sensorberg cloud-based management platform is the company’s core and enables proximity campaigns to be planned, designed and managed. Sensorberg provides open source SDKs (software-development kits) that can be incorporated into any app, rendering it beacon-compatible, and su...
SYS-CON Events announced today that TechTarget has been named “Media Sponsor” of SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. TechTarget storage websites are the best online information resource for news, tips and expert advice for the storage, backup and disaster recovery markets.
SYS-CON Events announced today that O'Reilly Media has been named “Media Sponsor” of SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. O'Reilly spreads the knowledge of innovators through its technology books, online services, research, and tech conferences. An active participant in the technology community, O'Reilly has a long history of advocacy, meme-making, and evangelism.
Harbinger Systems, a global company providing software technology services, today announced that it is participating as a Speaker and an Exhibitor at Cloud Expo Silicon Valley from November 3-5, 2015, at the Santa Clara Convention Center, CA. Managed by SYS-CON Events, the 17th International Cloud Expo brings the world of Cloud Computing, Big Data/analytics, Internet of Things and DevOps on one platform. “Participating as a speaker and an exhibitor for the third consecutive year makes this event special for us. This is an excellent platform to meet with industry veterans and exchange views...
SYS-CON Events announced today that Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, will keynote at the 17th International Cloud Expo®, which will take place on November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. His keynote "How We Built and Scaled an IoT Platform and Business" will focus on building an IoT platform and company. He will provide a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
Developing software for the Internet of Things (IoT) comes with its own set of challenges. Security, privacy, and unified standards are a few key issues. In addition, each IoT product is comprised of (at least) three separate application components: the software embedded in the device, the back-end service, and the mobile application for the end user’s controls. Each component is developed by a different team, using different technologies and practices, and deployed to a different stack/target – this makes the integration of these separate pipelines and the coordination of software updates for...
Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, and June 7-9, 2016 at Javits Center, New York City, is co-located with Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo New York Call for Papers is now open.
Who are you? How do you introduce yourself? Do you use a name, or do you greet a friend by the last four digits of his social security number? Assuming you don’t, why are we content to associate our identity with 10 random digits assigned by our phone company? Identity is an issue that affects everyone, but as individuals we don’t spend a lot of time thinking about it.
Bsquare's Director of Products, Dave McCarthy, will deliver a presentation from the main stage of the fourth annual @ThingsExpo, addressing the audience of IoT and cloud executives, vendors, media and analysts on "The Business Case for IoT." Bsquare will also demonstrate how its business-oriented IoT platform, DataVTM, adds intelligence and connectivity to remote corporate assets, and then utilizes the data generated to improve business outcomes such as uptime, asset utilization, warranty and maintenance cost reduction, and business and regulatory compliance.
The promise of IoT is to have all things connected, feeding data and pushing content and solutions. This connectivity and the data from it has the potential to provide richer customer experiences, better business results, and much more informed consumers. So what happens when we take what is personal and enhance it with technology? Tile enables people to choose the things that matter most to them, and make those things connected. No other mass market IoT device does that at scale. In his session at @ThingsExpo, Guilherme Chapiewski, VP of Engineering at Tile, will speak about his vision for d...
In his session at @ThingsExpo, Ivan R. Judson, Senior Engineer at Microsoft, will explore AllJoyn, an application level protocol for the Internet of Things supported by Microsoft and other members of the AllSeen Alliance. He will present the Cordova plugin that enables Cordova-based applications to talk to AllJoyn-enabled devices and present open source clients for the Lifx light bulb, LG television, and a mobile chat application.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT.
The Internet of Things (IoT) promises to evolve the way the world does business; however, understanding how to apply it to your company can be a mystery. Most people struggle with understanding the potential business uses or tend to get caught up in the technology, resulting in solutions that fail to meet even minimum business goals. In his session at @ThingsExpo, Jesse Shiah, CEO / President / Co-Founder of AgilePoint Inc., showed what is needed to leverage the IoT to transform your business. He discussed opportunities and challenges ahead for the IoT from a market and technical point of vie...
Today air travel is a minefield of delays, hassles and customer disappointment. Airlines struggle to revitalize the experience. GE and M2Mi will demonstrate practical examples of how IoT solutions are helping airlines bring back personalization, reduce trip time and improve reliability. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Dr. Sarah Cooper, M2Mi’s VP Business Development and Engineering, will explore the IoT cloud-based platform technologies driving this change including privacy controls, data transparency and integration of real time context wi...
In today's enterprise, digital transformation represents organizational change even more so than technology change, as customer preferences and behavior drive end-to-end transformation across lines of business as well as IT. To capitalize on the ubiquitous disruption driving this transformation, companies must be able to innovate at an increasingly rapid pace.
Most people haven’t heard the word, “gamification,” even though they probably, and perhaps unwittingly, participate in it every day. Gamification is “the process of adding games or game-like elements to something (as a task) so as to encourage participation.” Further, gamification is about bringing game mechanics – rules, constructs, processes, and methods – into the real world in an effort to engage people. In his session at @ThingsExpo, Robert Endo, owner and engagement manager of Intrepid Data, will discuss how wearables, analytics, and geospatial technologies can be combined to transform...