SYS-CON MEDIA Authors: Pat Romanski, Liz McMillan, Yeshim Deniz, Elizabeth White, Courtney Abud

Related Topics: @DXWorldExpo, Java IoT, Microservices Expo, Linux Containers, Agile Computing, @CloudExpo

@DXWorldExpo: Article

What Is 'Real-Time' Anyway...?

One of my (least) favorite buzzwords in the logging space is “real-time."

I love a good buzzword...cloud, Big Data, analytics... And even more than the buzzwords, I love the liberties people tend to take applying these buzzwords to their new systems and services. Such buzzwords regularly get abused and often get washed into marketing material and product websites in an attempt to hoodwink and woo new unsuspecting customers. One of my (least) favorite buzzwords, that I've noticed popping up more recently in particular in the logging space is "real-time."

So what does real-time mean anyway? Like with all good computer science questions, it really depends on the context.  John Stankovic, in his seminal 1988 article in IEEE Computer entitled ‘Misconceptions of real-time computing' describes a real time system as follows:

"A real-time system is one in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are generated."[1]

An example is, what are referred to as, "hard-real-time systems" [2], where computation must meet stringent timing constraints and one must guarantee that those computations must be completed before specified deadlines. Failure to do so can lead to intolerable system degradation and can in some applications lead to catastrophic loss of life or property.

Many safety-critical systems are hard-real-time systems, and include embedded tactical systems for military applications, flight mission control, traffic control, production control, nuclear plant control etc. and in many cases the real-time properties need to be guaranteed and proven - often using techniques such as formal methods [3] for example.

Near real-time is often defined as not having any hard constraints, but implies that there are no significant delay in processing of the event. In many cases this means within a few milliseconds or seconds of the event - again this really depends on the context. From a system monitoring perspective (of non-safety critical applications) near real-time, i.e. within a few seconds, is usually sufficient when it comes to alerting for example. And by non-safety critical, I mean, your site/app might be down, but it will not lead to loss of life. That being said it could be resulting in serious loss of $$$.

In such scenarios if there is something awry with one of system components you want to be notified about this immediately, so that right away you can go about rectifying the issue. A few minutes is usually unacceptable however, as generally this means that users/customers of your system/service are being effected without you knowing anything about this, resulting in damage to your brand and business top line.

This is what really surprises me when I see so many log management solutions that run their alerting as background jobs or saved searches which run periodically every 5, 10 or 15 mins. In my opinion this doesn't really cut it when it comes to alerting and is NOT real- time/near real-time by any standard. Consider this, if there was an emergency at home do you think it would be acceptable to wait 5, 10 or 15 minutes before you picked up the phone and called the emergency services. A few seconds, yes, a few minutes NO!

A further observation by Stankovic in his 1988 article was that another common misconception in relation to real-time systems is that throwing hardware at the problem can solve this issue - however as Stankovic rightly points out, throwing hardware at the problem is not the answer - it's all about the architecture.

That's why we have built a very different architecture to any other logging provider. In short, most log management solutions work as follows:

  • Data is sent to the log management service
  • It is indexed and written to disk
  • You can make use of their (complex) search language to dig into your data
  • If you want to create notifications you need to set up saved searches (using the complex search language) that you can schedule to run every 5, 10 or 15 mins.

At Logentries we have flipped this approach on its head and have built a unique pre-processing layer as part of our system architecture that allows for real-time processing of your data such that the analysis of your log events is done up front and in near real-time. And, when we say real-time, we mean real-time.

It works as follows:

LIVE_TAIL

  • Data is sent to Logentries
  • It passes through our pre-processing layer which analyzes each event for defined patterns(i.e.keywords,regular expressions,defined search expressions) in real-time
  • Notifications can be generated from our pre-processing layer such that you receive them within seconds of the important events occurring (e.g. exceptions, errors, warnings...)

The end result is that you get notified in seconds as opposed to minutes. In a world where time is money, and where buzzwords are only as useful as the architecture behind them, I vote for REAL real-time alerting - as it is an important requirement in any logging service!

[1] J. Stankovic, Misconceptions of real-time computing', IEEE Computer, 1988

[2] Jia Xu and David Lorge Parnas, ‘On Satisfying Timing Constraints in Hard-Real-Time Systems' IEEE Transactions on Software Engineering, Vol 19, No. 1, Jan 1993

[3] ‘Formal methods for the design of Real Time Systems', Springer, International School on Formal Methods for the Design of Computer, Communication and Software Systems, September 2004

More Stories By Trevor Parsons

Trevor Parsons is Chief Scientist and Co-founder of Logentries. Trevor has over 10 years experience in enterprise software and, in particular, has specialized in developing enterprise monitoring and performance tools for distributed systems. He is also a research fellow at the Performance Engineering Lab Research Group and was formerly a Scientist at the IBM Center for Advanced Studies. Trevor holds a PhD from University College Dublin, Ireland.

Latest Stories
In 2014, Amazon announced a new form of compute called Lambda. We didn't know it at the time, but this represented a fundamental shift in what we expect from cloud computing. Now, all of the major cloud computing vendors want to take part in this disruptive technology. In his session at 20th Cloud Expo, John Jelinek IV, a web developer at Linux Academy, will discuss why major players like AWS, Microsoft Azure, IBM Bluemix, and Google Cloud Platform are all trying to sidestep VMs and containers...
Using serverless computing has a number of obvious benefits over traditional application infrastructure - you pay only for what you use, scale up or down immediately to match supply with demand, and avoid operating any server infrastructure at all. However, implementing maintainable and scalable applications using serverless computing services like AWS Lambda poses a number of challenges. The absence of long-lived, user-managed servers means that states cannot be maintained by the service. Lo...
With the new Kubernetes offering, ClearDATA solves one of the largest challenges in healthcare IT around time-to-deployment. Using ClearDATA's Automated Safeguards for Kubernetes, healthcare organizations have access to the container orchestration to dynamically deploy new containers on demand, monitor the health of each container for threats and seamlessly roll back faulty application updates to a previous version, avoid system-wide downtime and ensure secure continuous access to patient data.
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, market, and support the SmartClient & Smart GWT HTML5/Ajax platform, combining the productivity and performance of traditional desktop software with the simplicity and reach of the open web. With staff in 10 timezones, Isomorphic provides a global network of services related to our technology, with offerings ranging from turnkey application development to SLA-backed enterprise support. Leadin...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
Platform9, the open-source-as-a-service company making cloud infrastructure easy, today announced the general availability of its Managed Kubernetes service, the industry's first infrastructure-agnostic, SaaS-managed offering. Unlike legacy software distribution models, Managed Kubernetes is deployed and managed entirely as a SaaS solution, across on-premises and public cloud infrastructure. The company also introduced Fission, a new, open source, serverless framework built on Kubernetes. These ...
Emil Sayegh is an early pioneer of cloud computing and is recognized as one of the industry's true veterans. A cloud visionary, he is credited with launching and leading the cloud computing and hosting businesses for HP, Rackspace, and Codero. Emil built the Rackspace cloud business while serving as the company's GM of the Cloud Computing Division. Earlier at Rackspace he served as VP of the Product Group and launched the company's private cloud and hosted exchange services. He later moved o...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, will discuss how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galer...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
Cloud-Native thinking and Serverless Computing are now the norm in financial services, manufacturing, telco, healthcare, transportation, energy, media, entertainment, retail and other consumer industries, as well as the public sector. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that pro...
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
Technology has changed tremendously in the last 20 years. From onion architectures to APIs to microservices to cloud and containers, the technology artifacts shipped by teams has changed. And that's not all - roles have changed too. Functional silos have been replaced by cross-functional teams, the skill sets people need to have has been redefined and the tools and approaches for how software is developed and delivered has transformed. When we move from highly defined rigid roles and systems to ...
In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many (23 percent) are employing the AWS Lambda serverless computing framework. It's clear: serverless is here to stay. The adoption does come with some needed changes, within both application development and operations. Th...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...