Archi & Techno

How does it work? Kubernetes: Episode 1 – Kubernetes general architecture

Hey everybody,

TL;DR

I hacked something together in order to create a Kubernetes cluster on CoreOS (or Container Linux) using Vagrant and Ansible.

If you keep reading, I’m going to talk to you about Kubernetes, etcd, CoreOS, flannel, Calico, Infrastructure as Code and Ansible testing strategies. It’s gonna be super fun.

The whole subject was way too long for a single article. Therefore, I’ve divided it into 5 parts. This is episode 1, regarding the Kubernetes general architecture.

If you want to try it:

git clone https://github.com/sebiwi/kubernetes-coreos

cd kubernetes-coreos

make up

This will spin up 4 VMs: an etcd node, a Kubernetes Master node, and two Kubernetes Worker nodes.  You can modify the size of the cluster by hacking on the Vagrantfile and the Ansible inventory.

You will need Ansible 2.2, Vagrant, Virtualbox and kubectl. You will also need molecule and docker-py, if you want to run the tests.

Read more

Big Data

A quick summary and some thoughts on the Scikit-learn workshop

On december 2nd was given at Telecom ParisTech the workshop : “Using Scikit-learn and Scientific Python at Scale” with top contributors from the project as speakers. This workshop was divided into four talks :

  1.    Scikit-learn for industrial applications, basic research and mind reading – Alexandre Gramfort
  2.    Distributed computing for predictive modeling in Python – Olivier Grisel
  3.    Scikit-learn at scale : out-of-core methods – Thierry Guillemot
  4.    An Industrial application at Airbus Group – Vincent Feuillard

Scikit-learn is currently the most widely used open source library for Machine Learning applications. It has been developed in Python (Cython and C/C++) and, with over 1000 documentation pages, has become the major contribution for democratizing machine learning for a large audience.

Read more

Infrastructure and Operations

BOG’OPS’ challenge : our recipe for Team Spirit

When I arrived at OCTO Technology in 2014, I immediately loved and embraced its culture of team spirit and sharing and improvements of practices, which are an integral part of OCTO’s DNA. And thus the « I » rapidly turned into a « We ».

This culture also lies in the different community teams, a.k.a tribes. Each team organizes itself depending on its size and what they want to work on, to gather regularly and to share.

In this article, the OPS tribe will show how 3 of us organized an epic day called “The Bog’Ops” challenge, for over twenty people passionate by Cloud, “Infrastructure as Code”, automation and, most of all, by challenges.

One of the objectives of this event was to organize a friendly get-together while mobilizing in the same place at the same time all those brilliant minds on one single subject with an optimal cohesion effect.

And to spice up the whole thing: a competition between 2 teams.

Read more

Archi & Techno

An IoT application using IoT framework? Here it is

According to the market researchers at IDC, there were 9.1 billions Internet of Things (IoT) devices installed at the end of 2013. They expect that number will increase stably and will reach 28.1 billions in 2020. In front of this huge number of connected devices, there is an enormous potential market of thousand services and application products, which will innovate rapidly at the same time just like the explosion of Android or iOS applications.

How could the relevant company adapt to this market environment? More accurately, how could the developers in this kind of company create a quality application more efficiently? The answer may be using a powerful framework to simplify the development and reduce the development time.

In this article, we will give a brief introduction about Standard OneM2M and its implementation OM2M. In order to give a more concrete global view of OneM2M as well as OM2M, we realized a PoC dedicated to a connected vehicle user case, in which we implemented two classic services (GPS tracking, real-time speed display and remote control).

Read more

Archi & Techno

“pet vs. cattle”, from server craftsman to software craftsman

The evolution of Ops follows a path that we observe regularly in our interventions. It is through this fable that we will see the 4 stages that mark this path paved with pitfalls. Let’s see how an Ops proceeds concretely to carry out the operation “fix_mysql” which consists in changing the configuration of MySQL on production servers.
cw_mfpdxcaugw_k
Read more

Archi & Techno

D3.js transitions killed my CPU! A d3.js & pixi.js comparison

www.octo.chD3.js certainly is the most versatile JavaScript data rendering library available: turning data into mind blowing visualizations is only limited by your imagination. A key component to turn static pages into animated ones are the powerful selection transitions. However, too many simultaneous transitions on a web page will soon bring you CPU on its knees.
Hence this blog post.

We faced this problem when displaying swiss transport real time data on a map, within an SVG layout: rendering was lagging, event sourced data were not consumed consistently and laptop batteries were drowning at a dramatic speed. A video from a first attempt can be seen, and compared to a newer implementation with the technique presented in this article. Another surprise came from rendering a simple clock, burning 20% of CPU with a single transition.

If d3.js has no serious concurrents for many rendering problems, we decided to give try to a JavaScript library used for building games and leveraging the strengths of HTML5 and GPU: pixi.js.

At first, we will propose in this post a comparison between the two libraries in terms of rendering performance. For the sake of completeness, we will also discuss native CSS transitions. We will then dive into a couple of tricks to enhance dynamic visualizations with each of the two libraries and will even combine them to get the best of both worlds.

The project source code with benchmark data are hosted on github and a demo is available on github.io.

Read more

Methodology

Are you self-deluding when measuring sprint velocity?

I‘ve seen the outcomes of making high velocity an objective in young agile teams you people wouldn’t believe. Attack ships on fire off the shoulder of Orion… Um.., maybe I am not going to talk about Tannhäuser Gate. But certainly, I am convinced that if one understands velocity the impact will be the improvement of the velocity. Even without c-beams glittering. Let’s slow down a bit.

As a matter of fact, focus on going fast could mislead me. So, do I want to run fast or do I want to run well?

Let me ask you a question. What are you going to do to have a high velocity? In fact, why do you track velocity?

Read more

Archi & Techno

Android Styles & Themes for developers

For beginner Android developer or the more experienced ones who don’t do much of the UI work, understanding the difference between styles and themes and how they should be used can be very difficult to understand.

With AppCompat being a must have in every app and as it’s relying A LOT on themes and style, understanding all this can be very frustrating when it comes to customizing its default behaviors.

With this article, I’ll try to explain what this is all about and how it can helps you into your app’s UI code.

Read more

Archi & Techno

Joyful wind of change: A software craftsmanship short tale

This is the story of a team. A bunch of 11 aspiring software craftsmen who decided to change things around and get their job done in a better way.
The story takes place between the 30th and the 50th iteration of the development process of a software. This software is a website serving over 2 million regular users and providing legal information and services to 65 million French citizens.

Chapter one:
Start from what hurts and set a direction

Leaky pipeline

It is normal that the build fails. There are some automated E2E tests that fail randomly. Just try again, hopefully it will work next time.

This was the common answer to all new developers who struggled passing their first user story. And for information, the build then used to be about 45 minutes long. Almost nobody would get shocked anymore, as if everyone just got used to the pain. Read more