A deep dive of my remote desktop environment with Chrome Remote Desktop, Packer, and Terraform.

I delivered a talk at DevOpsDays Philadelphia in 2019 outlining it briefly but a few folks requested a walk through of how I constructed it. This looks at the demo behind the talk. If you’re interested in slides for the talk, I have them on SpeakerDeck. Here are the tools at-a-glance:

  • Public Cloud Provider: Google Compute Platform
  • Pipeline: CircleCI, Terraform Cloud
  • Image Creation: Packer, Vagrant
  • Remote Desktop: Chrome Remote Desktop

Why did I do this?

When I became a traveller a few years ago, I often had to carry two…


Paula Paul and Rosemary Wang

This is the second installment of the post, Building a Delivery Ecosystem: Part 1.

In the first installment of this post, we describe a delivery ecosystem as a collection of products and services that software engineers rely on to deliver value to their customers. When the delivery ecosystem products are defined and managed as code (for example, infrastructure-as-code), we can apply software engineering practices such as Domain Driven Design and Event Storming in order to determine product boundaries and build shared understanding. …


What do I consider when getting on a stage at a technology conference? There are many written records of what to wear, ask, and more but I decided to record my personal approach.

Considering this was a post patiently sitting in my drafts for quite some time, I edited and published it. It’s not my most technical post but we’ll get back to regular content soon!

A dress, a projector screen, and a microphone.
A dress, a projector screen, and a microphone.
Attire, Screen Considerations, & How Microphones Mess with Me

What to Wear

Clothing and attire will always get some form of judgment. Women’s clothing in particular can be subject to feedback. Once, I received criticism that my shirt was too tight (it was a conference shirt…


I’ve been answering the same question a lot lately, more specifically:

How do I do test-driven development (TDD) for infrastructure? It’s impossible!

My answer is usually:

Great question! It’s not perfect but there are some TDD techniques we can adapt for infrastructure. Here’s how.

I finally decided that my rather lengthy response and explanation should go in one place. Here, I’ll cover:

  • What is test-driven development (TDD)?
  • How it can help with software development?
  • How it can help with infrastructure?
  • What’s an example for infrastructure?

In the example, I’ll walkthrough the TDD of a complicated AWS S3 bucket.

What is Test-Driven Development (TDD)?

Test-driven development…


As the token operator amongst developers with a little bit of networking experience, I get a lot of requests from developers that sound a bit like this:

Hi! You know a little bit about networking, right? What does _____ mean? Can you read through this and help me understand?

Networking is an intriguing field with fantastic acronyms that rival our modern texting lexicon and works like magic. However, for the software engineer, it’s not always clear why the network matters and how it affects an application. We take it for granted that when our application sends a GET request to…


As the token operator amongst developers with a little bit of networking experience, I get a lot of requests from developers that sound a bit like this:

Hi! You know a little bit about networking, right? What does _____ mean? Can you read through this and help me understand?

Networking is an intriguing field with fantastic acronyms that rival our modern texting lexicon and works like magic. However, for the software engineer, it’s not always clear why the network matters and how it affects an application. We take it for granted that when our application sends a GET request to…


I got a comment on Kubernetes StatefulSet Recovery from AWS Snapshots asking…

How do we do this for Kubernetes Operators? One example will really help..

  • My first question was, “What’s an Operator?”
  • My second question was, “How is this relevant to disaster recovery?”

I love finding something new. I dug into it and found this world of Kubernetes Operator — and renewed my coding chops to write my own. …


As the token operator amongst developers with a little bit of networking experience, I get a lot of requests from developers that sound a bit like this:

Hi! You know a little bit about networking, right? What does _____ mean? Can you read through this and help me understand?

Networking is an intriguing field with fantastic acronyms that rival our modern texting lexicon and works like magic. However, for the software engineer, it’s not always clear why the network matters and how it affects an application. We take it for granted that when our application sends a GET request to…


It’s been a while! I’ve been on the road a lot lately. Meanwhile, my thoughts have been occupied with the nuances of stateful applications and the question of persistence. A colleague provoked an interesting thought experiment about Kubernetes StatefulSets, namely if we had to do disaster recovery on a StatefulSet. In the worst case scenario where everything is deleted, what is the minimum back-up we need to recover that stateful application? I pondered for quite some time…

Red Rock Canyon, a neat place to contemplate the nuances of persistence.

I tried it and tested the bounds of what is possible. I ended up not sticking to my main tenet of deploying everything…


I had a bit of confusion understanding how fluentd manipulates logging messages, and what better way to learn than apply it to my current Kubernetes explorations? After some trial and error, my tea ducky floating happily in a nice mug of tea, with a dash of my favorite search engine, I managed to grasp how structuring my log messages helps fluentd more effectively parse my messages.

Who doesn’t want to explore fluentd with a tea ducky?!

First off, I needed to deploy fluentd to my Kubernetes cluster. There are a lot of patterns, best described by Kubernetes’s Logging Architecture page. I started out thinking I could use the fluent/fluentd Docker…

Rosemary Wang

explorer of infrastructure-as-code. enthusiast of cloud. formerly @thoughtworks. curious traveller & foodie.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store