Skip to content
Open Source Blog

Trill 103: Ingress, Egress, and Trill’s notion of time 

Congratulations! You’ve made it to the next installment of our overview of Trill, Microsoft’s open source streaming data engine. As noted in our previous posts about basic queries and joins, Trill is a temporal query processor. Trill works with data that has some intrinsic notion of time. However, Trill doesn’t assign any semantics to that...

Read more

DevSecOps in Kubernetes 

Traditional security processes can often become a roadblock when delivering software via DevOps processes at the rate that today’s business world demands. Today, security is not just the responsibility of the security teams—it is a shared responsibility among all the teams in the applications lifecycle. This integration is known as DevSecOps. DevSecOps is not about...

Read more

Demystifying containers, Docker, and Kubernetes 

Modern application infrastructure is being transformed by containers. The question is: How do you get started? Understanding what problems containers, Docker, and Kubernetes solve is essential if you want to build modern cloud-native apps or if you want to modernize your existing legacy applications. In this post, we’ll go through what they are and how...

Read more

Migrating to HashiCorp Terraform 0.12 on Microsoft Azure 

With the release of Terraform 0.12, we can improve the configuration of our infrastructure resources that are using the Azure Terraform Resource Provider. In this post, we will discuss how we can use Terraform 0.12 to organize, configure, and deploy resources to Azure. What is Terraform 0.12? Terraform is an open source tool that uses...

Read more

Five steps to add automated performance quality gates to Azure DevOps pipelines 

In our last post, Daniel Semedo and I provided an overview of how to add automated performance quality gates using a performance specification file, as defined in the open source project Keptn Pitometer. In this post, I’ll explain the steps required to add a performance quality gate to your Azure DevOps pipelines for both DevOps “Multi-Stage” and “Classic” pipelines using Keptn Pitometer. Step 1:...

Read more

How to use Trill for impression feedback (part 2) 

This is part 2 of 2-post series that shows you how to use Trill, an open source .NET library designed to process one trillion events a day, for impression feedback. In part 1, we walked through how to write Trill queries to find out: 1) which impressions successfully joined to the feedback stream and 2)...

Read more

Kubernetes: What it is and what it isn’t 

I’m a developer and I’ll admit it, I’m learning Kubernetes. I’ve been developing web applications now for more than 20 years; however, the past two years I’ve moved to working with microservices applications. Originally the microservices were web sites on multiple virtual machines. Last year we started moving towards containers to achieve a higher density...

Read more

Learning on Twitch 

Watch someone live code online…why would I do that? Hopefully I can answer this question for you in today’s post. This is the second post in my blog series that describes the value developers can get from social media, including what I’ve learned about specific social media platforms. Today we’ll focus on Twitch, specifically how...

Read more

How to use Trill for impression feedback (part 1) 

On the Microsoft BingAds team, one of my primary responsibilities is the development and maintenance of the FastBI pipeline – the system responsible for all revenue coming from the Bing search engine. We have been working on streaming technologies for the last five years, combining the scale and stability of our internal Cosmos compute platform...

Read more

Trill 102: Temporal Joins 

This post is the second in a sequence intended to introduce developers to the Trill streaming query engine, its programming model, and its capabilities. We introduced in the previous post the concept of snapshot semantics for temporal query processing. Here, we go deeper into the mechanics of snapshot semantics by showing its impact on one...

Read more