This blog post aims to help define what a microservices is and compare it to service oriented architecture(SOA). Hopefully, by the end of this post, we can understand common integration patterns and critical differences between SOA and Microservices.
Microservice(noun): “a system that can make change easier.”
Microservice architecture is an approach in which a single application is composed of many loosely coupled and independent deployable, small services. Let’s break that sentence down.
Microservice architecture is just that, an approach to solving a problem. The problem we are trying to solve with this design is the typical “monolith” approach in which…
The path for personal growth is not always linear.
Many times in my life, I dusted off a personal project or an old blog post that made more sense to me now than when I first started. As we grow and mature, we develop a different perspective. We fight off any prejudice or cynicism that may we have picked up on the way. We shed, and we transform. For me, personal growth will always be tied with creativity, collaboration and passion. In the end, the destination is not what we savour but the journey we took. …
Kubernetes is an incredible but complex product. At its core, it’s a network, an orchestrator to manage rapid change. If you need a quick refresher into Kubernetes, I wrote a short blog post just for you.
To manage its complexity, it helps to understand it. I have always been a visual learner, so I started to think of ways to visualize Kubernetes complexity.
By default, Kubernetes provides a Dashboard. The Dashboard allows you to deploy containerized applications, troubleshoot, and manage the cluster resources.
It is a great tool; however, it lacks the observability of how Kubernetes works. The best way…
During the last couple of months, I had the opportunity to work from Europe. I have always been an advocate for remote work; however, I was not prepared to work aboard during a pandemic.
The main difference that I had to understand was that remote work before COV19 was significantly different. We always had the option to go into the office, however, this pandemic taught us to adapt and thrive without face-to-face interactions.
The experience was hard at times and continues to present challenges. …
A couple years ago I started working with Kubernetes and I simply fell in love with the design, the usability and the power behind such a great product.
My goal with this blog post is to provide a re-introduction to Kubernetes and provide simple reference applications that you can follow along.
Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure.
With Kubernetes, you are able to quickly and efficiently respond to customer demand:
I started using WhatsApp around five years ago and like most people it is one of the applications I use daily to connect with my family, friends and co-workers. One day I had the idea to analyze the conversations between my partner and I.
I was curious to find out the following:
The first step was to gather the data I…
As you probably know Python is an extremely useful and versatile programming language. However, it is confusing when it comes to setting up a proper local environment for developing in Python.
A proper local environment should have the following characteristics:
With those principles in mind, we can start creating our local environment.
Virtual environments are extremely popular since they allow us to have a playground isolated from our host operating system. …
Like most of us, I have tried many different approaches to organizing myself to improve my productivity. A couple of years back I discovered the G.T.D. methodology.
In essence, G.T.D. provides the following framework:
1) Capture all your thoughts.
2) Clarify each item.
3) Organize the items and give them context.
4) Review frequently.
Using this process, I tested different applications to help me apply the G.T.D. framework. I finally settled on an app called Things.
As a developer, I do not have the chance to attend many design sprints, so when I was invited to participate in one I knew it would be a great learning opportunity to understand how to use design thinking to solve complex problems.
A design sprint is a five-day process for answering or solving critical business questions through prototyping and testing the ideas with customers.
This particular design sprint was unique since we partnered with Contentful to look at how we could improve the user experience of their product and share our business needs particular to Telus. …
It was a regular afternoon when we received an email from Google. The email was inviting us to participate in a hackathon hosted by Google Cloud Platform. The theme was “Smart Analytics”. The whole team instantly was beyond excited. We have been using Google Cloud Platform at Telus for a few years and we all breathed and lived data. We started to brainstorm on what we could build.
Steve Choi, our team captain suggested we build an explainability model.
Now, before we deep dive into what is an explainability model and Steve’s incredible brain let us take a step back…