Posts

Showing posts from August, 2015

Microservices and Twitter Finagle

Image
Lots of people talk about microservices with REST and thats makes lots of sense because if we think about SOA and Service Orientation Principles we should have interoperability and Rest is great for that. Such task can be done be a edge service or proxy or api gateway so you really dont need use REST all the time internally. There is also 2 other important matters like performance for instance, use can use IPC and its way faster than HTTP calls. Second is do something in a JVM language like scala or java - you have benefits doing that. For instance you endup relying more in your compiler and this makes less tests needed and make ir easier to consume services.

Stress Test with Gatling

Image
Test is a very important part of software development. Everybody agree and some people(sadly not everybody yet) do lots of unit testing, some do integration tests other do some kind of UI testing as well. But thats not enought you are into SOA/microservice land. As much as you distribute your software you have way more wants to fail. Tests need to catch up, Stress test are something that unfortunately people dont do - sometimes they do but when they know that there is a scalability problem witch is sad. This practice of stress tests could be automated(it really should) or at least make sure you run periodically as far as i know Netflix does 2-3 times per week - because this is not just about scalability. Stress Tests are bigger than just how many users can i handle.

Is Gradle Dynamic resolution strategy safe?

Image
Gradle Dynamic Resolution strategy a.k.a use a + on the dependency is a usable feature.  This is handy because you can do something like spring:spring-core:4.0.+ and gradle will always get the latest snapshop for you -  but them to make this work fine you need people have discipline to do proper major/minor versioning. 

Downloading all your gist from github using Node.js

Image
Gists are a awesome tool for me. I use it a lot now a days. So is kind of a micro-blogging thing. For m is a great tool to find small commands for Linux, Gradle, AWS, Git, stuff i need do day by day as a engineer. Sometimes i have gist with just 1 line of code or just a command. I do that because is easy to recover this information because github search works very well and for me this is cheaper and faster than evernote. So lets say, like me you have lots of gists, you might want use gist as a blog as well or maybe you just want share some code with friends which is pretty cool as well :-) Would be handy if you could download them? You actually can, there is an JSON REST API for gist that allow you do a bunch of things.  I`m using Node.JS do download each gist and save it into a directory.  Node is very productive for this kinda of tasks thanks to the libraries like request, path and fs you can do this task with a couple of lines. You will need to have Node.Js and NPM installe

Setting up a Ruby env with Vagrant and RVM

Image
If you use windows and want code in Ruby you need use vagrant or docker because most of libraries does not for for windows at all - same happens for nodejs and python lots of libraries just dont work :(. I was trying to play with some static site generators like this and this one here . But unfortunately i use windows so vagrant pretty much made my day :-) This is pretty easy, once you have vagrant installed you just need do $ vagrant up with my Vagrantfile and them the rest will happen under the hood. You just need put RVM in your path because start using ruby - the command is on the Vgrantfile, you just need to source it and thats it.

Companies may not be ready for DevOps at All!

Image
DevOps is everywhere, its everybody talking about and like any hype has lots of people getting it so wrong. So DevOps is not a process, its not a tool its not a department is not a tool is not a specific technology. DevOps is about culture - how to you build and operate high scalable systems.  DevOps for me IMHO is a LEAN manifestation so its really needs be based on LEAN thinking and principles - At least i see this pattern a lot, lots of company that gets devops right are doing LEAN i dont think is a coincidence.  Unfortunately more and more companies are trying to make devops simple, easy, predictable and so scheduled, like in how many months and i be devops? 2 months? The DevOps Team  That`s the first and one of the most errors i see everywhere. You dont fix silos issues creating more silos - not at all. So before people might blame dev or might blame ops - but now people will blame the devops team so this is really just moving the problem to another place. Companies already

Is Scaling Agile Just About Process?

Image
There are many agile frameworks that try to handle the task of scaling agile to many teams or multiple products. This week I was reading this article on CIO about this matter. What a realize is that most of agile frameworks at scale are based on old principles like: process, communication and tools. How is that different from RUP? New practices but old principles all goes down to standard management principles.  What's missing? INHO 3 things: Culture, Leadership and Software Architecture. Scaling agile looks like a management problem is part is true but is more than that.