Posts

Cloudera Quick Start VM in Hyper-V

Image
Overview Marc Andreessen penned his now famous essay, “Why Software Is Eating the World” in Wall Street Journal in 2011. However, if we dig under the covers, it's really virtualization that is powering this phenomenon. Today, literally every hardware component such as - processor, memory, network, storage, network load-balancer, network router and switch, firewall are virtualized. In fact, even a user is now "virtualized" especially in scenarios such as load testing and synthetic monitoring. Finally, as a concept, money is also virtualized in the form of crypto-currencies.
In this post, let's go through how we can implement virtualization in a local machine and get better understanding of the concepts of virtualization. 
Virtualization One key aspect, driver and benefit of virtualization is sharing of the physical resources. Before we dive in, let's define some concepts. Host Machine - This can be a server rack, single server or a desktop/laptop. In our case, it …

Azure Chronicles - Scaling Mule

Image
Overview In the previous post, we saw how to install and test Mule run time on a standalone VM in Azure. In this post, we will take it a step further to scale out the Mule run time.
There are several ways one could scale a Mule runtime. They are -

Anypoint CloudhubAnypoint Runtime Fabric (internally uses Docker and Kubernetes at the moment)Container as a Service provided by multiple cloud vendors - Google Container Engine, Amazon Container Service, Azure Container Service etc.Build your own cluster with containers
As we go down the above list, the level of details we need to get into is more. So, this post will get into explain how to implement option 4 above.

We will make use of various technologies and Azure components such as - Docker, Containers and Azure VM Scale Set to achieve it. For those of you are new to these concepts, we will go through each of the steps in detail.

Application Let's use the same Mule API that was created in the previous post. The code is available here

Azure Chronicles - Mule

Image
Overview Continuing from the previous post, I now move to the other end of the spectrum, from Raspberry Pi to the cloud. Microsoft Azure cloud has been making impressive strides in the cloud space, especially among the enterprises.
This is an experiment of running the same Mule run time in an Azure cloud server. The server is created in the East US Azure location.

I created an A series server (Extra Small) in Azure using the ARM templates. An A series Extra Small server has 1 CPU core and 07.GB RAM. On this server, the Mule run time is on a JVM with 256 MB heap size.

Then, I then ran some scripts to perform the following -  Install Oracle JDK 8Configure the Mule run time (version 3.9)Deploy a simple REST based API in MuleObjective The purpose of this experiment is to test how much load can a very simple REST API in Mule handle, while running on a very low specification server in Azure. I wanted to see how the Mule run time would perform from a performance perspective.
A simple REST AP…

Adventures with Raspberry Pi - Part 4

Image
As we saw in the previous post, we now have Raspberry Pi server setup and integrated with multiple mobile devices successfully, let's try a more complex integration.
API's have become the de-facto standard for communicating between devices. But, if we also wanted to implement any logic, data transformation, loose coupling between devices, then we could use an ESB. One can think of the Mule ESB as another form of IFTTT. We can use the multiple connectors to link  up different kinds of devices, services and applications. 
Let's two kinds of integrations - event driven and batch.
Event Driven In this example, a service pushes data to the Raspberry Pi.
I am using Anypoint Studio 7 and Mule Runtime 4. A mockup product API is created in the Mule project. This API is exposed as a REST API with a GET operation. When someone calls the API, the Mule flow is executed. In the Mule flow, the data is read from the API and sent via SFTP to a target device. 
In this case, the target devi…

Adventures with Raspberry Pi - Part 3

Image
Continuing from the previous post, lets now build a Chatbot on the Raspberry Pi. If we have some digital media such as music, movies etc. stored in a media server on the Pi, these can be accessed using a Chatbot too.

I have used Telegram to build the bot. The Telegram app is available for all platforms - iOS, Android, Web etc. Using the funnily named BotFather from Telegram, anyone can create a Bot account.

Once the account is created, the "brain" of the Chatbot needs to be implemented using a programming language and framework. I have use the python based chatterbot framework to create a bot called - Frasier (named after the TV Series). The bot in turn interacts with the Plex Media Server API's to search and download the requested media such as a song, TV show or a movie. Telegram currently allows files up to 1.5 GB to be shared via the app.


In the screenshot above, the chats in Blue are my commands and in Gray are the responses from the Chatbot.

Requesting for digital…

Adventures with Raspberry Pi - Part 2

Image
Continuing from the previous post, let us now put the Pi to some practical uses.
File Server The Pi can serve as a file server for home use. One could use it to store files for use across multiple computers, backup files, share media (songs, photos and videos) etc. As most of us use Windows at home, you can setup a Samba file server. You can read/write files easily from Windows computers.  In addition, there are Apps for iOS and Android, so you can access these files from mobile/tablets too.
You can SSH into the Pi and run the following commands to install Sambasudo apt-get updatesudo apt-get upgradesudo apt-get install samba samba-common-binYou could give all access to the Public folder under /home/pi/ folder using the command - chmod +777.Create a Samba user and password using the command - sudo smbpasswd -a piConfigure Samba as shown below -Edit the Samba configuration - sudo vi /etc/samba/smb.conf[share]Comment = Pi shared folderPath = /home/pi/PublicBrowseable = yesWriteable = Ye…

Adventures with Raspberry Pi - Part 1

Raspberry Pi has been around for a few years. It was initially launched in 2012 by the UK based Raspberry PI foundation. Over the years, many flavors of the Raspberry PI have been created.
While the Pi computer has been created as a learning tool, it can be used for some practical use cases too. These can be for both home and business use.
Below is my Raspberry Pi setup at home.
Imperial storm troopers protecting their precious cargo of Raspberry Pi, Mi power bank and Western Digital hard disk. All the secrets of the empire are safe! #starwars #raspberrypi #stormtrooper #maker #diy A post shared by Rajan (@rajanmanickavasagam) on May 9, 2018 at 8:33pm PDT

The bill of parts for the above setup consists of (left to right) -
Mi 20000 maH Power BankUSB to Micro USB cable with a power on/off switchRaspberry Pi case with heat sinkRaspberry PI Model 3Class 10 SD Card 16 GB capacityWestern Digital 1 TB external hard driveThe storm troopers just showed up! 😊
There are many tutorials availabl…

Let Us Say Grace

Image
As we head into another new year, the calendar has changed to 2018. But the differences in the world continue to remain. As long as the human condition prevails, these differences will always exist. These differences periodically surface as flash points in politics, economics, societies, arts and personal freedoms.

There is a painting "Saying Grace" by the iconic American illustrator Norman Rockwell. It was created for the cover of the Saturday Evening Post in 1951. As is characteristic of Norman Rockwell paintings, it captures an ordinary moment with extraordinary detail. A boy and his mother say their prayers in a restaurant before a meal in a restaurant. We can also see the reactions of the other diners, some fully, some partially and some not at all. 
What is truth? What is justice? What is equality? What is morality? Before we even debate these topics, we must search for the meaning of them individually. We must accept that on these and many other topics, we sometimes …

Tech - Lets Chat

Image
Instant messenger applications (like Yahoo Chat) have been around since the beginning of the web, but the web was initially bound by the desktop. With the emergence of mobile, messenger applications (like Whatsapp, Facebook Messenger etc.) have seen a explosive rise. According to recent statistics, billions of messages are shared using these applications.
While these messages are largely between humans, technology cannot be far behind. The DevOps movement in the world of IT accelerated the move towards automation. Except perhaps design and coding, a lot of activities such as testing, integration, deployment etc. are becoming automated. One of the last vestiges of manual intervention was tasks like - monitoring, troubleshooting etc. Bots were created to automate these repetitive tasks too.
I decided to explore this world of Chat and Bots, also called by some as ChatBot. There are a few mature frameworks that can help build this capability. Core to this concept is a Bot (or the brain t…

Fiio and Sony - Music to the ears

Image
Fiio is a relatively unknown brand in India when it comes to portable music players. The Chinese company manufactures reasonably priced high resolution digital audio players. The Fiio X1 player is the entry level model. It is built using aluminium, making it light for everyday use. It has a basic user interface similar to the earlier Ipods. The key to the player producing great sound is the separate DAC chip - Texas Instruments PCM 5142 and an Intersil Amplifier. In addition, the player can play a variety of audio file formats (FLAC, MP3, WMA, AAC, ALAC, WAV And OGG).
Now, that we get professional grade sound from the player, we need a professional grade headphone to listen to the music. The Sony MDR 7506 has been around for decades unchanged. It handles all genres of music effortlessly and cleanly. There is almost no distortion, be in the vocals or the background music.
For those who are keen listeners of music, I would recommend the Fiio X1 (Gen 1 or 2) and the Sony MDR 7506 as a c…