Work from home: my homeoffice setup and gadgets

I have been working from a homeoffice for over 10 years now. But when travel stopped due to COVID-19, lots of things have changed even for me. This article is the beginning of a short blog series where I’ll highlight some of the tools and practices that work for me.

While it was always an option, video conferencing and online collaboration over-night became the new default and it seems like these trends are not going away anytime soon. And given my role, I spend lots of time on meetings with customers, partners & colleagues. I remember the old days when “virtual meetings” were “conference calls” and audio quality was the least common denominator audio codec of the participants dialing-in to a bridge. I can’t imagine going through six months of crappy conference calls so I am very grateful for the reliable and high-quality platforms that Zoom and MS Teams have offered us in these difficult times. We left the dark ages of conference calls and audio is now typically transmitted over a broadband IP connection – so even when I join a Zoom meeting on my phone, I don’t even consider to click the “call-back” option to join the audio anymore. Even when being on the road, the Voice-over-IP stability and quality is outperforming traditional phone calls dramatically.

My personal experience has been that a better audio quality has a very positive impact on productivity & focus and also provides a more inclusive environment. If people have a hard time following a presentation or conversation, a virtual meeting can become more exhausting than necessary. And people with hearing issues might not even be able to fully participate in an active conversation with bad quality. Therefore, I consider it a courtesy to my fellow meeting participants to bring the best possible experience to the virtual conference table.

Before COVID-19, I used a pretty standard Jabra headset and audio quality was average. But I didn’t spent this much time on video conferences after all. So since I upgraded my homeoffice setup a few months ago, I received lots of positive feedback – and questions about the equipment I use. So here we are 🙂

Webcam: I am among the lucky ones that got a decent webcam when all this started. I use a Logitech Brio Ultra HD Pro WebCam that is mounted to the top of my monitor. It’s a decent device – even though I sometimes have the impression the camera has issues with focus.

Brio Ultra HD Pro WebCam
(Image from Logitech)

Light: my office has a decent sized window with lots of natural light coming in – but only on one side. So I put up pretty regular LED uplights in the other side of the room to get some better light coverage from both sides. And above my webcam & monitor, there is an Elgato Key Light Air because… well it’s there now and works. It fit nicely with my Elgato Stream Deck panel that I use for some desk automation – but that’s a different story.

Elgato Key Light Air
(Image from Elgato)

Audio: the audio setup has been a little more complicated. I experimented with a few things over time and looked e.g. at several Blue microphones but wasn’t 100% convinced. Coincidentially, there is this company named “Sennheiser” (you might have heard of them ;-)) which has their global HQ not too far away from where I live. And since Sennheiser equips lots of major opera houses, live broadcasting events and artists like Ed Sheeran with high quality microphones for decades now, I was sure they must have something for upping my Zoom calls as well. And what can I say? It’s been love at first sight.

So a Sennheiser Handmic Digital is now part of my homeoffice equipment and I mounted this into a standard microphone arm. What impressed me right away is the fact that it’s super easy to use – the “plug and play” promise is not just marketing. My MacBook recognized the device immediately and I have not configured anything special. It’s just a new audio device. The digital experts from Apogee are providing the technology for the digital audio converter and pre-amp that consolidates potentially multiple devices into a slick and all-metal body. It comes with USB as well as a Apple Lightning connectivity. My dear and beloved travel companion for more than 4 years, a Sennheiser PXC 550 Wireless, as well as a basic 2.1 Logitech speaker setup serve me well from an audio consumption aspect.

Microphone comparison: MacBook, Webcam, Jabra headset, Sennheiser
Microphone comparison: MacBook vs. Sennheiser
Sennheiser Handmic Digital (Picture from Sennheiser)
HAUEA Microphone Arm (Picture from Amazon)
Sennheiser PSX 550 Wireless (Picture from Sennheiser)

Thanks for reading! Feel free to reach out via Twitter for comments or discussions!

VMware Project Pacific – collection of materials

Blogposts:

VMworld US 2019:

VMworld Europe 2019 sessions:

  • HBI1452BE – Project Pacific: Supervisor Cluster Deep Dive – STREAM DOWNLOAD
  • HBI1761BE – Project Pacific 101: The Future of vSphere – STREAM DOWNLOAD
  • HBI4500BE – Project Pacific: Guest Clusters Deep Dive – STREAM DOWNLOAD
  • HBI4501BE – Project Pacific: Native Pods Deep Dive – STREAM DOWNLOAD
  • HBI4937BE – Introducing Project Pacific: Transforming vSphere into the App Platform of the Future – STREAM DOWNLOAD
  • KUB1840BE – Run Kubernetes Consistently Across Clouds with Tanzu & Project Pacific – STREAM DOWNLOAD
  • KUB1851BE – Managing Clusters: Project Pacific on vSphere & Tanzu Mission ControlSTREAM DOWNLOAD

Podcasts:

Labs / Hands-On:

  • HOL-2013-01-SDC – Project Pacific – Lightning Lab: https://labs.hol.vmware.com/HOL/catalogs/lab/6877

Other interesting sources:

Feel free to reach out if you are missing any interesting sessions here – happy to update this post anytime! @bbrundert

2019-05-30 – Cloud Native Short Takes

KubeCon + CloudNativecon Barcelona 2019 & related announcements

Other community updates

Deploying kubeapps helm chart on VMware Enterprise PKS (lab deployment!)

With the recent announcement of VMware and Bitnami joining forces, I wanted to revisit the kubeapps project on Enterprise PKS earlier today. I followed the community documentation but ran into some smaller issues (see my GitHub comments here) that were coming up in the MongoDB deployment initially.

UPDATE: At first I thought you needed to enable privileged containers in PKS but actually you don’t have to do that! There was a typo in my configuration which led to an unknown flag for the MongoDB deployment. I used the flag “mongodb.securityContext.enable=false” when deploying the Helm chart but it should have been “mongodb.securityContext.enabled=false”. Thanks to Andres from the Bitnami team for catching this! The instructions below have been updated!

Install Helm

Add the bitnami repo:

helm repo add bitnami https://charts.bitnami.com/bitnami

Add a “kubeapps” namespace to deploy into

kubectl create namespace kubeapps

Add a Service Account to Tiller

vi rbac-config-tiller.yaml
---
apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: tiller
   namespace: kube-system
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
 metadata:
   name: tiller
 roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole
   name: cluster-admin
 subjects:
 kind: ServiceAccount
 name: tiller
 namespace: kube-system 
---
kubectl create -f rbac-config-tiller.yaml

Leverage newly created service account for Tiller:

helm init --service-account tiller

Create Service account for kubeapps-operator

kubectl create serviceaccount kubeapps-operator 

kubectl create clusterrolebinding kubeapps-operator \
--clusterrole=cluster-admin \
--serviceaccount=default:kubeapps-operator

kubectl get secret $(kubectl get serviceaccount kubeapps-operator -o jsonpath='{.secrets[].name}') -o jsonpath='{.data.token}' | base64 --decode

Copy the secret for use in the kubeapps dashboard later on.

Since NSX-T brings an out-of-the-box capability for exposing kubeapps to an external IP address, we can use LoadBalancer and skip the port-forwarding section of the documentation. Following what I found in another bug, I set some extra flags for disabling IPv6:

helm install --name kubeapps --namespace kubeapps bitnami/kubeapps \
--set frontend.service.type=LoadBalancer \
--set mongodb.securityContext.enabled=false \
--set mongodb.mongodbEnableIPv6=false

After a few minutes, the deployed services & deployments should be up and running:

Follow then part three of the instructions to access the dashboard.

2019-05-13 – Cloud Native Short Takes

Hello everyone and welcome to my first Cloud Native Short Take. Following the spirit from my previous efforts, I’d like to share some interesting links and observations that I came across recently. So, lets get right into it:

  • Red Hat Summit carried some interesting updates for customers that run OpenShift on VMware today or plan to do it in the future. There was a joint announcement of a reference architecture for OpenShift on the VMware SDDC. Read more about it on the VMware Office of the CTO Blog, the VMware vSphere Blog as well as the Red Hat Blog.
  • Speaking of announcements, GitHub just announced “GitHub Package Registry” – a new service that will users allow to bring their packages right to their code. As GitHub puts it: “GitHub Package Registry is a software package hosting service, similar to npmjs.org, rubygems.org, or hub.docker.com, that allows you to host your packages and code in one place. “
  • My friends at Wavefront launched a new capability around observability in microservices land. Check out their blogpost around Service Maps in their Wavefront 3D Observability offering that combines metrics, distributed tracing and histograms. There is also a pretty cool demo on Youtube linked from that post – it’s beautiful!
  • Following the motto “Kubernetes, PKS, and Cloud Automation Services – Better Together!”, the VMware Cloud Automation Services team released a beta integration with Enterprise PKS. Read more about it on their blog and watch the webinar for more details.
  • My friend Cormac is a fantastic resource in all-things cloud-native storage these days. And thankfully, he shares lots of his own discoveries on his blog. His latest post is focused on testing Portworx’ STORK for doing K8s volume snapshots in an on-prem vSphere environment. Read more about it here. Looking forward to the next post which will include some integration testing with Velero.
  • Speaking of Velero (formerly known as Ark), this project is heading to a version 1.0 release! I am very excited for the team! You can find the first Release Candidate here.
  • And coming back to Cormac’s blog – he just released a “Getting started with Velero 1.0-RC1” blogpost with his test deployment running Cassandra on PKS on vSphere (leveraging Restic).
  • The Kubernetes 1.15 enhancement tracking is now locked down. You can find the document on Google Docs
  • I came across an interesting talk on InfoQ titled “The Life of a Packet through Istio”
  • Another interesting announcement came from Red Hat and Microsoft around a project called KEDA. KEDA “allows for fine grained autoscaling (including to/from zero) for event driven Kubernetes workloads. KEDA serves as a Kubernetes Metrics Server and allows users to define autoscaling rules using a dedicated Kubernetes custom resource definition”. A very interesting project, check out the blogpost and a TGIK episode from Kris Nóva last Friday.
  • There is some useful material around the Certified Kubernetes Administrator exam in this little study guide
  • Oh and speaking of enablement: I can only recommend you check out the freshly published book “Cloud Native Patterns” by the amazing Cornelia Davis on Manning.com. I have been following the development of that book via the “MEAP” program and it’s a pretty great source of information!
  • Several thoughts on choosing the right Serverless Platform