People of ACM - Theo Schlossnagle
June 13, 2017
What is it that you enjoy most about being an entrepreneur? What is the biggest challenge to starting a new company?
The most satisfying part of being an entrepreneur is realizing the whole value chain. Building something that adds more value than it costs, which then in turn creates jobs and builds people and families. Assuming you intuit the things you do as a business to have a good product-market fit, all the problems become people problems. As you build a company, there are several inflection points that are hard to handle. Once you pass about 16 employees, communication structures change; then when you pass 50, HR changes; and when you pass 64, group dynamics radically change. In a tech company, the things you build often resemble the communication structures within your company. As those tend to change at these inflection points, this makes for some challenging transitions that affect how you build and deliver product. In the beginning, you look for doers who are capable and driven, but that changes at a certain point, and you must bring in leaders and managers who can stabilize the growth.
What is the main way in which Big Data has transformed the field of scalable software architecture?
Big Data has delivered some painful blows and a sincere helping hand; a bully with genuine remorse. From one side, it has created new scalability challenges that require even more always-on, low-latency, high-throughput demands. From the other side, it has enabled better behavioral analysis of the systems we use to power such scalability requirements. Big Data, in one fell swoop, both made all our problems harder and also gave us improved tools and capabilities to solve those problems better than we could before. Sadly, I think that many system architectures today are bearing the weight of new Big Data requirements, but failing to really leverage the promises of Big Data analysis to make their system architectures better. This is what we aim to help people with at Circonus.
Do you think we will arrive at a point where the industry encourages engineers to monitor everything in their environment? And if so, how would DevOps teams need to pivot both in practice and philosophy to be able to accommodate the amounts of data they would be ingesting and then build methodologies to prioritize and alert accordingly?
This is a pretty deep question. While I don't think we can get to the point of monitoring everything in an environment (due to information theory constraints), where we are today is light years ahead of where we were just five years ago. The second question brings up a critical monitoring faux pas, in that people often conflate collecting and analyzing data with alerting on aberrant conditions. Ingesting and storing data and alerting on data are at different ends of a continuum. You should be aiming to measure as many aspects of your systems as possible to enable retrospective interrogation, but the economics of Big Data challenge us. You should be aiming to alert on exactly what is required, but intuiting the minimum set of actionable alerts is exceptionally hard. These are the hard problems we aim to solve at Circonus, and I think we already have a good handle on the first part.
There are many media outlets and websites geared toward software engineers. What makes ACM Queue unique?
I think that ACM’s dual focus on academia and practice provides a valuable grounding for practitioners of computer science who find themselves constantly in the weeds. ACM Queue is a refreshing way to surface for air, or see the forest for the trees, or whatever your preferred metaphor is.
Theo Schlossnagle is a practicing software engineer and serial entrepreneur. He founded his first company, OmniTI, a Web applications and Internet architecture provider, in 1997. OmniTI employs more than 40 people and focuses on challenging scalability, performance, and security problems. The idea behind Circonus, his newest company, is to change the world of systems monitoring to be more data-driven. Circonus’s clients include service-based websites with millions of users. Schlossnagle’s book, Scalable Internet Architectures, covers major topics in Web architecture design and offers best practice design methodologies for building new websites.
A Senior Member of ACM, Schlossnagle serves on the editorial board of ACM Queue, a publication aimed at the worldwide community of software engineers. As a member of the ACM Practitioners Board, he works with his colleagues to ensure that ACM offers the best products and services that support the technical and professional development of practicing computing professionals, including engineers, architects, IT specialists, and managers.