Every two months we have an innovation day at Xpirit: spend a full day on something that you feel is ‘innovation’. It does not really matter what it is, as long as it will enable you to learn something from it that can help you in your authority mission. The whole company joins, no matter the current role or if you will be starting in the next month: the moment you are ‘in’, you’re invited to these days since we all grow from them! Even better: we often spend the day somewhere cool with room for collaboration in groups, a good podium to share the learnings afterwards with the whole group and that includes good food and drinks (you can’t innovate on an empty stomach, right?).
Overall, we prepare for the day itself by making an overview of the things you want to do, gather some info on the the things you need (read: download and install software needed to be able to work).
On the day itself, we kick of with an opening letting everyone know why we are there (to inspire new people to really dive into what ever they want) and at the end of the day, we do a round of presentations on our topics and the learnings from the day.
We wanted to capture some of the things we have learned and share them with you to inspire you as well! Read some of the groups focus for the innovation day and what they have learned.
Experimenting with Chaos – Patrick, Casper and Rene
During our innovation day, we wanted to set up some experiments with Azure Chaos Studio. Azure Chaos Studio is a new Azure product that is still in preview. It allows you to introduce chaos in your infrastructure. Chaos Studio is not unique, there are many other tools that can do that, but what is unique about Azure Chaos studio, is that they can also introduce chaos on native Azure services like CosmosDB, Network Security Groups and Key vault. Chaos studio can also inject chaos in to VM’s and Azure Kubernetes Service. Underlying technology of Chaos Studio for Azure Kubernetes Service is the opens source platform Chaos Mesh
We started with deploying a microservice application on to AKS. This application uses DAPR to add some more robustness to the application. We started simple, by killing random containers. The Chaos Studio UI is somewhat quirky still. The JSON that defines the experiment is quite error prone, so it took a while before we figured out the right values. Eventually, we managed to kill some containers and saw our expected results of our Chaos Hypothesis.
When you inject chaos in to your infrastructure, you quickly come to realize that you need metrics. Without metrics, you are blind. So we introduced Application Insights to see a bit more.
After that we tried a number of other things. Trying to failover a Kubernetes cluster using Traffic Manager. We failed. We also tried to use the Horizontal Pod scaler to scale our application when CPU hits a certain limit. We used the Chaos Injector to introduce CPU load. Under the hood this uses the Linux tool stress-ng. Looking at our Application Insights dashboard, nothing worked and we started to shave some yaks.. We fell back to the Chaos Mesh dashboard instead of Azure Chaos Studio to see a little bit more data but still no results.
Eventually we found out, that Application Insights does not report the CPU load correctly. Somehow the stress-ng tools works on a different level, and therefore it stays hidden in de Application Insights Dashboard. IN the container Insights, that is [art of the Azure Monitor tool for AKS, the CPU spiked and the Pod scaler kicked in.
We found that Azure Chaos Studio is a good start. It allows you to chaos test IaaS (VM), PaaS (AKS) and a couple of cloud-native services (Key vault, Cosmos). The UI is still a bit quirky and error-prone. For AKS, the Chaos Mesh Dashboard is an outcome. You can define your experiments in a UI and export the YAML, which can then be converted in to JSPN and used in Chaos Studio. With that, the tools are promising and deserve more explicit attention.
Configuration as Code for the GitHub platform – Rob
I have often run into GitHub setup where we want to use code to configure things like on-boarding users to our organization, adding them to a team and then generating a repository for them to work in. In fact, one of our bootcamps has this specific need. Until this innovation day, we were adding those users by hand. That means a lot of manual work, which is both cumbersome and error-prone. Most of the solution directions that you can find online are focusing on describing how to achieve this, but without actual examples. Rob implemented a workflow for this and made it freely available for others to learn from and use. Read up on his learnings here.
IoT Demo – Bas, Kees, Sander, Tijmen, Matthijs, Olena, Arjan
With a large group of people we were able to attack the full chain of an Azure IoT Hub based solution. We gained more knowledge about what is required to build such a solution and actually bring the complete Azure setup to life. We launched an entire IoT architecture complete with Azure Digital Twins and Azure Data Explorer, and attached dummy devices to the IoT Hub to present the data live in a graph. Read up on this architecture here. Another team investigated NanoFramework by trying to install it on a ESP8266. During this major Yak shaving activity, we learned basically two things. First and foremost, IoT is really cool, and the other thing is that NanoFramework does NOT work on an ESP8266. But at least we had such an inspiring innovation day, that all of the people involved with the NanoFramework investigation bought a few ESP32 boards and started innovating at home independently of each other. We will definitely pick this up next Xpirit Tuesday!
Customer Intimacy – Immanuel, Martijn, Jasper, Reda, Suraj, Dennis
At Xpirit, we live by our mission and values. Our values are People First, Sharing Knowledge, Quality without Compromise and Customer Intimacy. Whilst one can easily visualize examples for the most of these values, Customer Intimacy might be the hardest one to visualize. What does this value incorporate? As a group, we gathered what this value means to us. We dissected the value phrase and gathered examples of prerequisites we think need to be in place to allow for Customer Intimacy and also examples of things, or behavior, that we would need to avoid. Using event storming, we plotted the timeline of interactions and touchpoint with a typical customer and using the KANO-model we plotted what we think are basic expectations that customers have, and what are satisfiers and delighters. A lot of food for thought and more to examine!
Live-streaming the event – Erwin, Jesse, Tijmen
A few days before the event it became apparent that some of us would not be able to join due to personal circumstances or as a result of Covid infections. As a true statement of the Xpirit can-do culture and mentality, we organized a live-stream of the opening and the show-and-tell just days before the event. All it took was partially dismantling some of our amazing home Studio setups to make this a reality.
Rethinking Xpirit Marketing – Maarten
For quite some time, I was wondering how we could improve our marketing. Especially when it comes to strategy and activities that should drive revenue, I felt we could innovate. So being the only marketer at Xpirit, I decided to deep dive into some concepts I already heard a little bit about. After doing quite some research, I came to one very important conclusion: we had to remove download forms from our website.
Quite a change for us, considering that about 97% of our leads come from downloads of our XPRT Magazine (just released issue 12). But Xpirit is striving for thought-leadership, and one of our core values is ‘sharing knowledge’. Therefore, I strongly felt that we couldn’t hide our knowledge behind forms anymore. So I came up with some new high-level ideas about our way of doing marketing and the way we measure the attribution of marketing to revenue. And that is about how far I came, but it definitely is the start of a new way of doing marketing for Xpirit, and also for me. Currently, we’re thinking about ways to implement this. Very curious to see where this will take us!
Microservices with Dapr and Open telemetry on Azure Kubernetes – Duncan, Marcel
At Xpirit, we have created many solutions based on a microservices architecture. Creating such an architecture can be complex and challenging, so would it not be awesome if there was some way to make common challenges building microservices simpler and use industry standard practices to tackle them? This is what led us to change an existing microservices solution and adapt a CNCF, language and vendor-agnostic application runtime for this purpose? This is what Dapr brings to the table.
One of the challenges with a microservices solution is getting a good observable system, and for this, Dapr provides us with Metrics, telemetry, and logs. We wanted to see if we could deploy our application to an AKS cluster, use Dapr and configure Open Telemetry to push the data into Azure Application Insights. At the end of the day, this resulted in a working application that uses Azure Service Bus pub/sub, Azure Blob Storage, to store and publish the business data in the microservices. We got telemetry data flowing into Azure Log Analytics and Azure Application insights, showing us a holistic application map of our deployed application using Open Telemetry.
Innovation Days at Xpirit
At Xpirit, we organize Innovation Days once every two months. That’s a pretty high frequency. But Authority is our mission and we can only reach our goal by constantly pushing boundaries and exploring new techniques. It’s also a way for us to connect with each other. Having good conversations while enjoying good food and drinks, makes for a great vibe. Do you want to know more about why we are doing Innovation Days? Watch the video below. And would you like to embrace change, push your boundaries, and do epic assignments? We love to have a chat to explore the opportunities together and see how we can support you in your career journey. Send us a message via the chat or fill out our contact form.