Showing posts from November, 2015

Running Ansible on Vagrant

On the previous post i was talking about how to run Ansible on AWS.  IF you dont have acess to AWS or your solution runs on bare metal you still can run ansible on Vagrant and have an environment to test your playbooks.

Once you download and install Vagrant, you just need pick up my vagrant file and them you ready to have ansible running :-)

So you download the Vagrantfile and put it into a directory in your machine, them you gonna run:

$ vagrant up
$ vagrant ssh

That`s it, you are ready to have fun. Keep in mind for this vagrant file im using a shared folder where im putting my playbooks, if you dont want this just comment the line on the Vagrantfile.

Running Ansible on AWS

Ansible is Configuration Management and automation engine.  Its has a very minimal setup, its just depends on Python - witch is good because pretty much all linux distributions came with python.

You can run Ansible with just SSH, yes with-out agents. Like other engines Ansible is based on Recipes, in Ansible world recipes are called palybooks.

Playbooks are written in a kind of DSL inside a YAML file, often called main.yml. You can have multiple YAML files and reuse a lot your provision playbooks.

Ansible runs easily pretty much in all environments BUT windows.  For windows users its easy to use it with Vagrant.  It`s possible to have pretty complex provision scripts if needed, there are lots of modules like git, file, get_url and so one and on. Ansible provide variables, so you can bind custom values on conf files also called templates.  For this post i will how to do a very simple and straight forward setup for ansible on AWS, this will be a pretty basic setup but will be great for …

Setting up a AWS VPC/VPN for Multi-Region

Today i will show how to setup a complete VPC(Virtual Private Cloud) between 2 Data Centers in different Regions(I will use AWS Oregon and AWS N California) this is mandatory to test and run multi-data center solutions, we will need create a VPN(Virtual Private Network) over the internet, todo such a task we will use Open Swan.

This task is very complicated and have several steps its easy to make some mistake and mess with everything so be very careful, the whole exercise could easily take 3h or more. Also want say thanks to my Friend Joao Palma(AWS Solution Architect)who supported me on this task :-) and have extreme patience and know-how on the hard-core devops amazon cloud things :-)

Netflix Dynomite/Dyno: The Cluster for Redis

Dynomite is brilliant. Kudos for NetflixOSS team because it kicks ass. First all they mixed several interesting, battle tested and sexy architectural ideas and deliver into a single solution. What would be Dynomite? You can think as a kick Ass Cluster for Memcached and Redis. But its way more than that. Dynomite is integrated with the Netflix Stack so you can use with Eureka and the rest of the stack. You dont need use Redis or Memcached if you dont want because Dynomite is modular so you can use the NoSQL or thing behind it.

Dynomite is based on the Amazon Dynamo paper, so it implements the Consistence Hashing Ring, with quorum-like mechanisms, so you can have strong consistency and dont loss data(similar to Cassandra and Riak) and also have some low latency and high throughput using Redis or Memcached Behind. Dynomite is written in C and its a proxy, it uses the twitter twemproxy as base solution. Replication is a aymetric, dynomite has a java client called Dyno with has Token Aware…

Redis Cluster: Should I go or should i stay?

First all i just want make clear a respect Redis and Salvatore a lot. This is just my view of the topic, no intention to create any kind of FUD or flame war here, just sharing my toughs and experiences. I use redis in production since 2011, its a great piece of technology. Redis has amazing throughput for single instance solution given the fact redis does not have threads(compared with Memcached). Do i recommend use Redis in production? Yes i do :-)

Redis: The K/V Solution

Whats is Redis? What is good for? Redis is a K/V store and its great for caching. Memcached have few key/set operations in comparison with Redis, there are lots of commands todo very precision operations. Redis cluster was added recently but originally redis was used more like a farm of servers like Memcached case, so replication and other tasks was carry out by the clients apps. Redis has a cluster now. Redis is written in C and has very fast and direct access do data structures like lists, sets and maps. Single in…

Being an Active Architect

This could sound strange. Martin fowler said once, who need architects?(fowler article). I always believe that to be specialist in something you need to that thing, for me is very complicate the view of *Specialized Architect* the IT Industry have. First all IF you dont CODE you are not an architect anymore, because CODE is want make you pure, its the bound that make you practice every will keep you current. If you think about money when money become with no value? when the coin is not current, so if the coin is not running and its old its consider not current and lost the value, why for software architect we think just because you did something 5-10 years ago you still have value? Because is far as i know things change pretty much everything is sense of technologies from 3 to 3 years.

There is value being a mentor and give guidance for other architect, discussion high level solutions are well but this is only 30% of the problem, that's all the piratical, operation and production p…

Anti-Fragility Requires Chaos Engineering

There are lots of buzz around microservices and everybody want do it right now. The main problem is people are not providing the right level of isolation in sense of operation system or containers, database and interface without that microservices are just webservices with REST.

When you go from 10 services to 100 you create more distribution, more distribution is more failure, for sure the network is not reliable even with a cloud provider like amazon web services. You need anti-fragility on the DevOps Era we live, why? because otherwise we just changing the names but doing the same mistakes as before. You will built and operate software automated, not only your deploy pipeline, but them that's enough? No is not at all, why not? Because your software and your infrastructure will fail, and as Vogels from AWS said, all the things fail all the time, you need be able to quickly recover, if you need that, them we need 3 basic things.

1. We need Design For failure

You cant do it later li…

Some fun with Memcached

Memcahed is a K/V store. Its fast pretty much all operations are O(1). Memcached use Threads(Async and non-blocking IO) different from Redis with is single-thread. Memcached does not have a cluster, its a farm, some concerns like Replication need be handled by the clients or 3rd party application, nodes on the farm don't talk o each other so there is no GOSSIP. Memcached has few key/set operations in comparison with Redis. Redis have several. Some clients have the concept of the master-key / sub-key based on this it can locate what server has that specific key. Often keys are smaller than 250 chars and objects smaller than 1MB. Memcached if used for a lot lot of scenarios like: Profile Caching(Social Networking), Page Caching(HTML), Ad Targeting with cookie / profile tracking, Session caching for games and entertainment its pretty much for caching.

Fun with Apache Kafka

Apache Kafka is a high throughput messaging system created by LinkedIN in 2011 using Scala. Kafka is a high throughput system pretty much, in other words it means will handle the load you have, so you can use it as a buffer for back pressure or spooling mechanism.

Now a days people use Kafka a lot with other Big Data Technologies like Apache Storm, Apache Hadoop or even with Apache Spark, so there is a common pattern like you read data from Kafka, process in spark/storm/hadoop and store it in the end into a NoSQL database like Cassandra for instance.  People end up using Kafka for Analytics (that's what i meant by big data), monitoring, log activity and sometimes for building block as part of bigger architectures / systems. You can see more on LinkedIN view on this post. Kafka is Durable(can be persisted on DISK) and very FAST and can scale great deal of loads like 800 billions messages per day at LinkedIN.  Besides LinkedIN, Twitter, Netflix, Spotify, Mozilla and others also use …

DevOps The IT Revolution ERA

Eae galera blz? Sexta-feira passada rolou outra friday talk. Dessa vez falando de uma visão consolidada do movimento de DevOps e como ele pode agregar valor pro negocio. Além de novas técnologias e práticas para escrever e operar software.

Nos estamos vivendo um momento de mudanças. Graças a DEUS o negocio já consegue perceber que se a TI não mudar não ser capaz de dar conta do recado. Muitos dizem que isso é besteira, mas a verdade é que nem todos querem mudar, nem todos querem sair da zona de conforto, isso tudo é OK por que a sobrevivência não é necessário é sempre OK piorar e ficar no mesmo lugar.

Essa palestra sumariza uma serie de visões e experiencias sobre DevOps e experiencias de consultoria e delivery de TI dos últimos 5 anos. Espero que gostem. Confere ae, tem os videos e o slides :-)