Posts

18 Jun 2018 Logs, metrics and traces are equally useless

The key monitoring a distributed system is not logs, metrics or traces but how you are able to aggregate them. You can not observe and monitor a complex system looking at single signals.

29 May 2018 Cloud Native Intranet with Kubernetes, CoreDNS and OpenVPN

Designing an architecture the network should be a top priority because it is very hard to change moving forward. Even in a cloud environment running on Kubernetes the situation doesn't change. Security and networking are hard pattern hard to inject in old projects. In this talk I will share a practical idea about how to start in the best way with OpenVPN and private DNS in a Kubernetes cluster in order to build your own intranet.

18 May 2018 Server time vs Response time

How do you dimension an infrastructure? How can you calculate container limits or how many nodes your application requires to support a specific load? Response time and server time are two key measurements to monitor saturation.

25 Apr 2018 Go how to cleanup HTTP request terminated.

Cleaning up HTTP request, the most expensive one can be a huge performance improvement for your application. This short article shows how to handle HTTP request termination in Go.

17 Apr 2018 Go testing tricks

This post contains some feedback about how to write tests in Go.

09 Apr 2018 The Go awesomeness

After 1 year writing go every day at work this is why I like to work with it.

04 Apr 2018 Observability according to me

Prometheus, InfluxDB, TimescaleDB, Cassandra and all the time series databases that show up every week is a clear sign that now we need more than just a way to store metrics. I think is now clear that collecting more metrics is the point. More data is not directly related to a deeper understanding of our system.

29 Mar 2018 I don't give a shit about testing

This is all about how I approach testing in development. TDD, DDD, unit test, integration test. It should make my development faster and my code easy to maintain. We have a lot of different techniques because we need to be good on picking the right one.

27 Mar 2018 Review book Database Reliability Engineer

Review Book Database Reliability Engineer. Author Laine Campbell and Chairty Major. Published by O'Reilly

21 Mar 2018 How to use a Forwarding Proxy with golang

Cloud, Docker, Kubernetes make your environment extremely dynamic, it has a lot of advantages but it adds another layer of complexity. This article is about forward proxy and golang. How to configure your http Client to use an http, https forward proxy for your golang application to increase security, scalability and to have a set of public ips for outbound traffic.

17 Mar 2018 The abstract manifesto

Often looking at the code I spot a lot of places where it looks too complicated. Disappointment is the feeling that I get reading classes with weird names or chain of abstractions or interfaces used only one time. Abstraction is often the reason for all my sadness.

15 Mar 2018 Review book Site Reliability Engineering

A review about Site Reliability Engineering a book published by O'Reilly about Google and it's massive scale from the point of view of the engineers that made that scale possible. Distributed system, microservices and data driven development.

18 Feb 2018 What is distributed tracing. Zoom on opencensus and opentracing

Distributed tracing is a fast growing concept. We increased the distributions for our applications and the consequence is a different complexity to monitor and understand what is going on across regions and applications (microservices). With this article I share something about what tracing is and my experience with opentracing and opencensus.

09 Feb 2018 The right balance

My daily job as a developer is to find the right balance about everything. I would like to share what I think about this topic because the decisions that you take writing a system are the result of the software itself. So you should care about them.

19 Dec 2017 Kubernetes up and running

Kubernetes up and running review.

17 Dec 2017 Desk setup

It is not a couple of months after i left CurrencyFair to start working at InfluxData. A lot of new things but working from home for a US based company is very hard. Dealing with a such big timezone requires a big effort. But I am very excited about how I am feeling working from home. That's why I decided to share my current office setup. Desktop, Zendbook and a lot of Ikea's things!

20 Oct 2017 From Docker to Moby

Docker announced during DockerCon a new project called Moby. Moby will be the new home for Docker and all the other open source projects like containerd, linuxkit, vpnkit and so on. Moby is the glue for all that open source code. It will look as an entire platform to ship, build and run containers at scale.

10 Oct 2017 Git git git, but better

Doesn't matter for how much time you are using git or any version control system, you always have something to learn abut them. Not about the actual interface but about the right mindset.

09 Aug 2017 Orbiter the Docker Swarm autoscaler on the road to BETA-1

Orbiter is a project written in go. It is an autoscaler for Docker containers. In particular it works with Docker Swarm. It provides autoscaling capabilities for your services.

03 Aug 2017 Asus universal dock station driver

Every developer loves to speak about its setup. I am here to share my trouble with my new laptop. Asus Zenbook 3.

05 Jun 2017 CNCF Italy, first event about opentracing

CNCF is a branch of The Linux Foundation focused on Cloud Computing and modern scalable architectures. it's supporting tools like Kubernetes, Prometheus, containerd and so on. If you are using one of them or you are looking to know more about them, this is your meetup. Join us! hashtag CNCFItaly on twitter.

05 Jun 2017 Container security and immutability

Docker, container and immutability. Have an immutable system has advantages not only from deploy, release and scalability point of view but also from security side. Deploy and build a new release quickly and high frequency improve the way you trust your provisioning system. Have the old environment still running and ready to be rolled back is another good point.

22 Apr 2017 Orbiter an OSS Docker Swarm Autoscaler

Orbiter is an open source project design to become a cross provider autoscaler. At the moment it works like Zero Configuration Autoscaler for Docker Swarm. It also has a basic implementation to autoscale Digitalocean. This project is designed with InfluxData a company that provides OSS solution like InfluxDB, Kapacitor and Telegraf. We are going to use all this tools to create an autoscaling policy for your Docker Swarm services.

18 Apr 2017 LinuxKit operating system built for container

LinuxKit is a new tool presented during the DockerCon 2017 built by Docker to manage cross architecture and cross kernel testing. LinuxKit is a secure, portable and lean operating system built for containers. It supports different hypervisor as MacOS hyper or QEMU to run testsuite on different architectures. In this article I am showing you some basic concept above this tool. How it works and why it can be useful.

12 Mar 2017 Containers why we are here

Cloud computing, containers, devops, everything is moving so fast that sometime for big companies or CTO is very hard keep track of everything. What it's just a new trend and what I really need. This post contains my options and a bit of history about docker, cloud computing, aws and containers.

28 Dec 2016 About your images, security tips

Everything unnecessary in your system could be a very stupid vulnerability. We already spoke about this idea in the capability chapter and the same rule exists when we build an image. Having tiny images with only what our application needs to run is not just a goal in terms of distribution but also in terms of cost of maintenance and security.

14 Dec 2016 Docker registry to ship and manage your containers.

Build and Run containers is important but ship them out of your laptop is the best part! A Registry is used to store and manage your images and all your layers. You can use a storage to upload and download them across your servers and to share them with your colleagues.

18 Nov 2016 Continuous Integration and silent checks. You are looking in the wrong place

Bad and good practice when you setup a continuous integration job. Silent checks are not a good practice but analyze your code is the perfect way to understand how your codebase is evolving.

15 Nov 2016 Docker Bench Security

Container security is a hot topic because today containers are everywhere also in production. It means that we need to trust this technology and start to think about best practices and tools to make our container environment safe.

10 Nov 2016 Chef Server startup notes

This tutorial explain how to setup a chef server on digitalocean from zero. It also shows how to use it to make a provisioning of one Chef Client. Chef is one of the most used provisioning tool. DevOps tool to apply infrastructure as code.

25 Aug 2016 Docker The fundamentals

Docker The fundamental is the second chapter of my book Scale Docker. Drive your boat like a captain. I decided to share free the second chapter of the book. It covers getting started with Docker. It's a good tutorial for people that are no idea about how container means and how docker works.

25 Aug 2016 Be smart like your healthcheck

In a distributed system environment has a simple way to know the status of your server help you do understand if it's ready to go in production. HealthCheck is simple and common but design a good one can help you do avoid strange behaviors. Docker 1.12 supports healthcheck and we in this blog I share an example of implementation.

25 Aug 2016 Build opinions to become wise

As a Software Engineer you need to build your own opinions about different topics like: linux or window? Editor or IDE? Containers or VM? There are different developers just for this reason. Make, share and change your opinions is the best way to grow. Not only like developer but also like human.

24 Aug 2016 Watch demo about Docker 1.12 made during Docker Meetup

Docker 1.12 contains a lot of news about orchestration and production. During August Docker Meetup in Dublin I presented with a demo a set of new features around this new release.

14 Aug 2016 “Microservices and common parts"

When you think about microservices and distributed system there are a lot of parts that usually all your services require. Logging, monitoring, testing, distribution. Manage them in the best way it's one of the reason of success for your distributed system. In this article I shared few of this parts with some feedback to design them in a good way.

12 Jul 2016 What Distributed System means

I will speak about service discovery, micro services, container, virtual machines, schedulers, cloud, scalability and latency I hope to have, at the end of this experience a good number of posts in order to share what I know and how I work and approach this kind of challenges.

02 Jul 2016 Symfony and InfluxDB to monitor PHP application

How monitoring your Symfony and PHP applications with InfluxDB.

20 Jun 2016 Docker 1.12 orchestration built-in

Docker 1.12 adds different new features around orchestration, scaling and deployment, in this article I am happy to share some tests I did with this version

24 Apr 2016 A little bit of refactoring

Strategy to refactoring your code. Tricks about performance from PHPKonf Istanbul Conference.

01 Apr 2016 Docker inside docker and overview about Jenkins 2

A little overview about Jenkins 2 but the main topic of the article is about how run docker inside docker to start a continuous integration system inside a container

25 Mar 2016 Happy docker's birthday and thanks

Just a post to say thanks docker for your awesome community and happy birthday!

21 Feb 2016 Some days of work vs Jenkins CI

I love Jenkins CI is a beautiful and stable project to run job and manage continuous integration and deploy pipeline, few days ago I worked to improve the delivery pipeline in CurrencyFair and I started to do some thought about this topic, here my internal battle vs Jenkins CI

21 Feb 2016 ChatOps create your IRC bot in Go

ChatOps is a strong topic it is growing day by day because now with the IaaS are allowed a new way to manage your infrastacture provide for you an API layer. You can implement it to create your automation layer. A pretty bot is a good assistence

18 Feb 2016 InfluxDB PHP 1.3.0 is ready to go

InfluxDB is a time series database, it helps us to manage matrics, point and offert a stack of tools to collect and see this type of data. I am a maintainer of InfluxDB PHP integration. In this past I describe the news provided by new relesae 1.3.0

14 Dec 2015 Swarm scales docker for free

Docker is an awesome tool to manage your container. Swarm helps you to scale your containers on more servers.

14 Dec 2015 Docker and wordpress for a better world

Docker and wordpress to guarantee scalability, flexibilty and isolation. A lot of webagencies install all wordpress in the same server but how can they manage a disaster? AWS with Elastic Container Service could be a more professional solution.

01 Nov 2015 FastEventManager, only an event manager

FastEventManager is a PHP library designed to be a smart and light event manager. You can use it in your applications or as a base component for your framework. It adds capabilities around events as attach and triggering of events.

27 Oct 2015 Penny PHP framework made of components

Penny a PHP framework made of components, write your microframework made of symfony, zend framework and other components.

15 Sep 2015 vim composer 0.3.0 is ready

vim-composer is a plugin to manage integration between composer and vim

08 Jul 2015 Staging environment on demand with AWS Cloudformation

Environment are ephemeral. They come and go really quickly based on needs. AWS delivers a service called CloudFormation that allows you to easy describe via JSON or YALM specification a lot of AWS resources like EC2, Route53 hosted zone and domains, RDS, VPC, subnet and almost everything you normally do via console. This is infrastructure as code applied to AWS resource allows you to version and push on git entire AWS environment. You can replicate it over and over.

21 May 2015 Build your Zend Framework Console Application

ZF Console is a component written by zf-campus and Apigility organization that help you to build console application using different Zend Framework components

21 May 2015 Test your Symfony Controller and your service with PhpUnit

Test your Symfony Controller with PhpUnit. You expect that if one parameter is true your action get a service by Dependence Injcation and use it!

21 Feb 2015 The price of modularity

Modularity is not only a beautiful word, It has roles and it is a methodology that helps you to keep your project easy to understand. Modularity is a key principle to have an easy on board of new developer in your application because it will look separated and simpler to approach. As a developer you should think about how your scaffolding and your code looks from the outside because in reality you read much more code compared with how code you write.

14 Jan 2015 Zend Framework release 2.3.4

Zend Framework release 2.3.4

06 Jan 2015 Influx DB and PHP implementation

InfluxDB is a popular and open source time series database capable to store millions of points keeping a fast lookup. It supports SQL as query language and it exposes an HTTP API to interact with it. In Corley we wrote a PHP SDK and we released it open source to integrate InfluxDB in your PHP application.

21 Nov 2013 Zf2 Event, base use

Integrate in your application an event system is a good way to decouple and extend your application keeping it clean and clear. An event manager allow you to trigger and catch event based on what your application do. You can for example send different kind of notifications like email, slack message and so on from the same event like 'user registration'. Zend Framework a popular and open source PHP framework has a component called EventManager that helps you do integrate such flow.

21 Nov 2013 Git global gitignore

Git is the most popular code version control. It helps you to manage and share your code, writing a history about the evolution of it over time. It also allow teams to work together managing conflicts and large codebases. Based on languages, projects or operating system there are files that you should never commit such as .DS_Store on mac. You can setup a user level gitignore file to keep them out.

14 Sep 2013 Vagrant Up, slide and first talk

This is my first public talk delivered at the PHP User Group Milan. It is about how to setup a local environment using Vagrant as automation tool. A well setup local environment is a must have to quick develop your application. With Vagrant you make infrastructure as a code to provision your environment. You can push your code inside a version control system such as GIT to share it with your collagues.

22 Aug 2013 Zend Framework 2 - Console usage a speed help

CLI tools are an easy way to interact with an application because you can drive users or even other developers in a well know direction. It is a very good way to decrease possible mistakes. Zend Framework 2 a PHP open source framework has a Console package that helps you to address common issue like argument management, command parsing and to format a colored and nice output.

09 Aug 2013 Generale Jekyll sitemap without plugin

Every site should have its sitemap to tell search engine like Google about news and updates from your site. With a static site generator such as Jekyll you need to generate statically the sitemap too. This article explains how to write a template that generate a sitemap.

26 Jul 2013 Zend Framework 2 - How do you implement log service?

Logging is a requirement for every application. In PHP and in every other language. It is the way your application has to tell you what its doing. This article is about how to implement a logger in a Zend Framework 2 application in PHP. This solution achieve simplicity and usability.

22 Jul 2013 Why this blog?

This is my first article on Jekyll. A new static site generator that I have selected as engine for my site to replace wordpress.