The Stability Mindset

The Stability Mindset
I have background on software development. Currently, I'm leading a team of highly effective engineering's where we are responsible of some of the components we delivery in production and I need to say that is not the standard reality on it market. Development is used to break things and move faster, however, lots of developers never cared about production or about “polishing” they systems. This effect happens some several reasons like: Having different people to develop and operate software Having different departments for development and Operations Having development teams focus too much in new features rather than real UX
So there is this culture clash when we have developers doing DevOps Engineering(I say that for my own experience). We developers are not used to keep something running no matter what. To be always available and reliable. It takes some time to get this “Stability Mindset” but once you get it is hard to get out of your veins.

Chaos is the New Normal

Tests are at same time a simple and a complex subject. Testing is something basic. Are you don't do testing how do you know it works? How do you know your software won't stop working after some refactorings?.
Unit Tests are the basic level of testing you could do.  In the past unit test was normal. When we deliver software we need to deliver unit tests whiten so level of coverage. When we talk about coverage things can get tricky since you might end up coding tests for parts of your application where it is little or no value what so ever.
Coverage can be something questionable as you language might force you to do less or more tests. For instance is you have a strongly typed language where you enforce as much thing as you can via compiler you might need to do less testing since the compiler works in your favor.  As you work with more dynamic and weak-typed languages you might need to do more tests since the compiler might catch fewer things.
As much the language ends up affect…

Cloud-Native Microservices: The Next Shift

All companies want to innovate currently today not everyone can actually. There are several bottlenecks for innovation. The technology it's often part of the problem and part of the solution.

Software architect there is a crucial role in enabling solutions that not only scale and are available but also that make the difference.

Many companies have monoliths or have several monolith systems and they are having trouble to keep up with the market pace of innovation.

The cloud seems to be the right place to go. However, if we don't think how to do it we could be trapped in a problem bigger than we think.

Currently, Microservices become a de-facto standard of architecture for several problems however in order to get more benefit from micro services we need do some mindset shifts. I'm not talking about basic shifts such as Independence and Isolation.

Functional and Reactive Programing with Java 8

Unfortunately, FP is a religious suggest for a lot of people. I jumped on the FP Religious bandwagon for awhile back into 2012. Today I consider myself more practical rather than just "pure" in regards of FP. To be 100% clear my goal is not to be controversial or create any kind of flamewar. I feel free to disagree with me. The fact is I like Scala a lot and is very hard to talk about java 8 without talking about Scala. IMHO Java 8 got some good influence from Scala. IMHO I don't think Java 8 is a drug to get into Haskell :-).

Java 8 got some sort of FP influence, Thanks to Scala I would say. I suppose to deliver a talk about functional and reactive programming with Java 8, 2 years ago and I found this slide deck in my machine so I thought about making a video presenting some of the functional programming principles with Java 8 including frameworks such as RxJava. So this is a ~40 minutes video - I hope you guys enjoy and have fun.

Go and Redis running on Kubernetes with Minukube

Go is a simple, fast and powerful programing language. Go is growing a lot into the DevOps Engineering scene like Hashicorp Stack or even Kubernetes.  One of the main advantages of GO is the fact that you can generate a single binary with all you needed, bundled in a single file. This makes distribution so much easier.

Go is also very compact for some use cases and you can write so less code and still very very efficient and get best of performance.  Today we will see how to create a very, very, very simple service in go. This service will access redis to increment how many times it was called.  We will use Minikube in order to run kubernetes locally and we will store our data in Redis.

Kubernetes with Docker and Minikube

Kubernetes is getting more popular every day. Kubenertes is an open source system for automating deployments, scaling and managing containerized applications. Created by Google on 2014 and also know as k8s. Why? Because there are 8 letters between k and s :-).

K8s has many features such as Automatic bin-packing which is the capability of placing containers based on resources and constraints.  K8s also has horizontal scaling, storage orchestration using local storage or cloud storage such as AWS or GCP.

K8s has important Cloud native capabilities such as Self Healing, Service Discovery and Load Balancing and secret and dynamic config management. For this blog post, we will see how to bake a simple docker image using node js application and deploy this docker image on hibernates using minikube in order to run locally.

There are other cloud-native solutions such as NetflixOSS Stack. Also Spring Cloud, which uses NetflixOSS too. However, on this post, we will be focusing on Docker and Kue…

Linux Power Terminal with Oh My Zsh and Powerlevel9k

As Developers we spend lots of time using Linux terminal. Today I will show my set of customizations I'm currently using.

The terminal setup we will see is awesome because it makes your life easier using git and also display useful information about Linux.

I will show how to configure Oh My Zsh with Needfonts, Powerlevel9k theme and ruby colors on Gnome Ubuntu 17.04.

Tools that we will use:

Oh My ZshNerdFontsPowerlevel9k themeRuby Colorls Let's get started!