<![CDATA[suresh babu's blog]]>https://suresh2.com/https://suresh2.com/favicon.pngsuresh babu's bloghttps://suresh2.com/Ghost 1.8Sun, 12 Nov 2017 21:27:45 GMT60<![CDATA[Attended two days micro service conference (µCon) in London]]>

I have attended two days microservice conference in London last week. Full conference videos available here.

In the conference, I managed to speak to eventstore Guru Greg Young and cleared my some of technical questions related to event sourcing. I also got chance to meet the famous conveys law Mr.

]]>
https://suresh2.com/attended-two-days-micro-service-mucon-conference-in-london/5a06fafc48c10c00011dce00Sun, 12 Nov 2017 21:24:24 GMT

I have attended two days microservice conference in London last week. Full conference videos available here.

In the conference, I managed to speak to eventstore Guru Greg Young and cleared my some of technical questions related to event sourcing. I also got chance to meet the famous conveys law Mr.Mel convey. He also did a closing keynote in the conference.

The opening keynote on day 1 is about Hello Microservice, Production hates you by Russ Miles. I already knew about chaos engineering and chaos monkey from Netflix But i didn't know about the chaos toolkit. Thanks to russ, chaos toolkit is added to my shiny new things to try trello list. Chaos toolkit is trying to make the chaos test as a process where you execute the chaos test as set of scripts and compare the chaos results with Prometheus metrics and share the results with everyone. I will write more about it once i get chance to play with it.

The another interesting talk is Guns, Germs, and Steel (and Microservices?) by daniel. With time machine, he took us to 13,000 years before and compare it with current developement process and what we can learn from history. Why it is important to create surplus resources that helps everyone to innovate than wasting time to create those resources. My books to read list also increased after this talk. This one is the best talk for me in 2 days conference.

After two days of conference, i can see most of the companies following three different architecture styles to implement microservices. First one is, each microservice has its own api and communicate with other microservices via REST/rpc. The second approach is instead of microservices talk to each other directly, they use message buses to issue commands to other microservice and get the command results using the other microservice rest api. Third approach is to use events to share common data across different microservices.

This conference is really a good place where you can share and learn from people who is enjoying the pain and joy of implementing microservice architecture. I am looking forward to attend the next year conference to see how things evolved in next year microservice world.

]]>
<![CDATA[Attended 2 days microsoft future decoded conference]]>

I just came back from two days Microsoft future decoded conference. I learned a lot of new things and updated knowledge on known things. I tried some really cool real life demo on Microsoft hololens and also tried hp mixed reality headset.

Open source

I also got one of the

]]>
https://suresh2.com/attended-2-days-future-decoded/59fa321f48c10c00011dcdedWed, 01 Nov 2017 23:06:34 GMT

I just came back from two days Microsoft future decoded conference. I learned a lot of new things and updated knowledge on known things. I tried some really cool real life demo on Microsoft hololens and also tried hp mixed reality headset.

Open source

I also got one of the red hat from the redhat linux stand. Is anyone even imagined about a linux hat will be given in Microsoft conference few years before? Microsoft changed a lot after Satya's leadership and its truly adopting to open source now.

redhat_at_microsoft_conf

I would like to share some of the new things that i learned in the conference and also writing this for my future reference.

block chain

Microsoft is not only supporting all the flavors of block chain like etherum, hyperledger etc in azure but also created a new block chain framework called coco framework to minimize the effort to create a block chain based application in enterprise world and the source code of the project will be released to Github soon.

Quantum computing & DNA Storage

I also learned a lot about Quantum Computing and DNA storage which will take the computing and data storage to the next level.

DevOps

I really enjoyed all the tech deep dive sessions that i attended but i really loved the What If Cortana was your release manager? session. The speakers clearly explained how to create a really intelligent release management experience with the help of vsts api, graph API and cognitive services.

Summary

check out Microsoft view of everything that happened on day one and day two of #FutureDecoded. I really enjoyed the conference and looking forward to attend the next year conference.

]]>
<![CDATA[How to run openfaas in azure using docker machine and Azure CLI?]]>

openfaas is a Serverless Framework for Docker and Kubernetes. This guide is Azure version of the openfaas digital ocean guide.

In this guide we will be using the docker-machine tool to provision a number of Docker Swarm nodes in azure then we'll connect them together and deploy OpenFaaS. Before you

]]>
https://suresh2.com/how-to-run-openfaas-in-azure/59eb358e98d26d00018dbfc8Sat, 21 Oct 2017 16:33:25 GMT

openfaas is a Serverless Framework for Docker and Kubernetes. This guide is Azure version of the openfaas digital ocean guide.

In this guide we will be using the docker-machine tool to provision a number of Docker Swarm nodes in azure then we'll connect them together and deploy OpenFaaS. Before you get started - sign up to Azure here to get free credits. Once you've signed up come back to the tutorial.

Install Azure CLI and get the azure subscription ID

First, Install Azure CLI and obtain your Azure subscription ID with az account show as follows:

az login
sub=$(az account show --query "id" -o tsv)

Install Docker Machine

Type in docker-machine to see if you already have the tool installed this is normally bundled with Docker for Mac/Windows. If not then you can download Docker Machine here.

Create Docker Nodes

Use Docker Machine to create Docker hosts or nodes. On Azure your hosts or VMs (Virtual Machines) will run a full version of Linux. Note: you'll be able to connect to any of your VMs with ssh later on.

The example below creates 3 vms in the north europe zone, if you want to deploy only one vm don't run the step 2.

This process will take a few minutes as VMS are created and Docker installed.

docker-machine create \
        --driver azure \
        --azure-ssh-user azureuser \
        --azure-location=northeurope \
        --azure-subscription-id $sub \
        --azure-resource-group openfaas \
        --azure-open-port 8080 \
        --azure-open-port 9090 \
        --azure-open-port 2377 \
        --azure-open-port 7946/* \
        --azure-open-port 4789/udp \
        node-1;
        
for i in {2..3}; do
    docker-machine create \
        --driver azure \
        --azure-ssh-user azureuser \
        --azure-location=northeurope \
        --azure-subscription-id $sub \
        --azure-resource-group openfaas \
        --azure-open-port 2377 \
        --azure-open-port 7946/* \
        --azure-open-port 4789/udp \
        node-$i;
done

List the newly created Docker nodes.

$ docker-machine ls

NAME     ACTIVE   DRIVER   STATE     URL                        SWARM   DOCKER        ERRORS
node-1   -        azure    Running   tcp://40.113.93.183:2376           v17.10.0-ce   
node-2   -        azure    Running   tcp://13.74.156.226:2376           v17.10.0-ce   
node-3   -        azure    Running   tcp://13.74.254.30:2376            v17.10.0-ce   

Refer to the documentation for more detailed information on the azure options for docker-machine.

Create your Docker Swarm

A Docker Swarm can contain as little as a single master node and begins by running the docker swarm init command. It's important if you have more than one node that you specify an --advertise-addr value.

Intialize Docker Swarm on node-1.

$ docker-machine ssh node-1 -- sudo docker swarm init --advertise-addr $(docker-machine ip node-1)

store the token in worker_token.

export worker_token=$(docker-machine ssh node-1 "sudo docker swarm join-token worker -q")

If you opted to deploy a single node, then skip to the next section.

When deploying more than a single Docker host take a note of the command to add a worker to the Swarm. This output contains your join token.

If you lose it you can get a new one any time with the command: docker swarm join-token worker or manager.

Swarm initialized: current node (vtq9rjklmjs9gzrhyfykcpzsx) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-5lnsbx94doxdrd5t1yaj6hfodc3hj72x43tpfiweb0g2ythat2-6i2kom6a9m2ckr44fiu2dtt9a 40.113.93.183:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Add node-2 to the Swarm, using the docker swarm join.. command returned when initializing the master.

$ docker-machine ssh node-2 -- sudo docker swarm join --token ${worker_token} $(docker-machine ip node-1);

Repeat for node-3.

$ docker-machine ssh node-3 -- sudo docker swarm join --token ${worker_token} $(docker-machine ip node-1);

Configure Docker CLI to use remote Swarm

Run this command each time you open a new shell, this tells Docker where your remote Swarm is.

eval $(docker-machine env node-1)

Deploy the OpenFaaS Stack

This command clones the OpenFaaS Github repository then checkouts out a stable release before deploying a Docker stack. Docker Swarm will automatically distribute your functions and OpenFaaS services across the cluster.

$ git clone https://github.com/alexellis/faas && \
  cd faas && \
  git checkout 0.6.5 && \
  ./deploy_stack.sh

Test the UI

Within a few seconds (or minutes if on a poor WiFi connection) the API gateway and sample functions will be deployed to the Swarm cluster running on Azure.

Access the Gateway UI via the IP address returned by docker-machine ip node-1 (you can also access via node-2 and node-3):.

$ echo http://$(docker-machine ip node-1):8080

Prometheus metrics can be viewed on port 9090 on a master. Fetch the IP like this:

$ echo http://$(docker-machine ip node-1):9090

Deleting AZURE VMs

You can use docker-machine to delete any created vms if are finished with your OpenFaaS deployment.

docker stack rm func
docker-machine rm node-1 node-2 node-3
az group delete -n openfaas
]]>
<![CDATA[welcome to my blog]]>

welcome to my blog

]]>
https://suresh2.com/welcome-to-my-blog/59cab18da9316f0001111bd9Tue, 26 Sep 2017 19:59:21 GMT

welcome to my blog

]]>