Posts

Prime Candidate for Analysis

Image
Promotions in Retail Promotions are part of the 4P's (Product, Price, Promotion, Place) of retail marketing. Promotions have always been a key part of the customer experience in retail. Promotional activities largely include a mix of marketing and advertising spend.  Evolution of Promotions With the onset of digital/online retail, the nature of promotional activity have been changing.  Earlier in the world of physical retail, promotions were characterized by a sense of "theatre". It was about decking up the stores with banners, special merchandising and other ploys (such as the KMart Blue Lights ).  In the digital/online world, the "theatre" element has been replaced by one of "urgency". Flash sales, auctions, product launches etc. give customers a sense of urgency to grab the deals as they are available for a small amount of time. The One that Started it All Typically, promotions had been linked to major festivals or events such as Christmas (in most

A Hyper Local, Crowd Sourced, Data Driven Chatbot for Covid

Image
Overview The COVID-19 pandemic has captured everyone's attention and impacted our daily lives for the past few months. It is likely to remain that way for the foreseeable future too as we learn to navigate around it. Several organizations and volunteers globally have create various kinds of dashboards, databases etc. so that information is available to everyone. Some of them are - Covid 19 database by John Hopkins -  https://github.com/CSSEGISandData/COVID-19 Covid 19 India dashboards -  https://github.com/covid19india/covid19india-react Covid 19 India clusters -  https://github.com/someshkar/covid19india-cluster WHO app -  https://github.com/WorldHealthOrganization/app Covid 19 time series data -  https://github.com/pomber/covid19 And, many others Approach From the various open source applications already created for COVID, came my inspiration too, for a chat bot. The idea is to empower local communities with data and insight so that they are better informed as they go about their

Tech - Check your Salt - Part 3

Image
Overview In the previous post , we saw how beacons were deployed in all machines using state files. Salt internally uses zero MQ messaging for communication between the master and minions. As with any messaging framework, there are publisher(s) and consumer(s). One can think of the beacons (on salt minions) as publishers and reactors (on salt master) as consumers. Salt Concepts Covered In this post, the following Salt concepts are covered - Beacons - Monitor minions for state changes, system diagnostics etc. Reactors - Trigger reactions when events occur in the managed systems running minions. Beacons A beacon on the minion can be used to monitor various system events such as - memory usage, CPU load average, overall statistics, user commands etc. The beacon deployed in the previous post contains the 'sh' module. Sh module monitors all commands run on a machine which has the salt minion running. Note: Every time a beacon is deployed to the salt minions,

Tech - Spread the Salt evenly - Part 2

Overview In the previous post , we saw how to setup the salt master and minions. Now, let's see how we can use Salt to maintain a consistent state in the infrastructure. The state here could mean - software, configuration, permissions etc. Salt Concepts Covered In this post, the following concepts are covered - Formulas (States) - A declarative or imperative representation of a system configuration. Top File - Matches formulas and Salt pillar data to Salt minions. State Management One of the key concepts in Salt, is state management. State management in Salt ensures that the applications and infrastructure is managed centrally (as you would using other tools such as Chef, Ansible, Puppet). In addition, state management also ensures that if someone changes the configuration in a minion, state management will rest it back to what it should be. This way, Salt ensures that all changes to application, infrastructure, configuration, permission etc. are managed centrally

Tech - Sprinkle some Salt - Part 1

Image
Overview With the advent of DevOps, many tools have come up on the topic of automation. These include tools such as Jenkins, TeamCity, Ansible, Chef, Puppet, Vagrant, Terraform etc. And, they are used to deploy infrastructure and applications. However, once an infrastructure or application is deployed into an environment (Development, Testing, Production), there are changes made to it. The operations and/or site reliability teams may tweak operating system, application configuration to ensure that the environment is stable and functioning well. And, when these changes are made, the environment tends to 'drift' when compared to the source code or documentation. This is where tools such as Salt Stack are useful. It is a tool from https://www.saltstack.com . At a high level, Salt is a configuration management system.  Like most other automation tools, it can deploy infrastructure / application.  In addition, it can also monitor and react to various events. This gre

Azure Chronicles - VM Security

Using the cloud has many benefits, some of them such as elasticity and scalability. On the other hand, some other aspects such as security and cost need to be paid attention to. Let's look at the security aspect in this post. Lynis is one of the most popular Linux auditing and hardening tools. It has community and enterprise editions. As an example, the community edition is being used here. Let's scan a Linux based VM in Azure and find out the results. This post assumes that you have an existing subscription in Microsoft Azure. The below steps show how to scan a VM in Azure. A new class of VM's called B1ls was launched. These VM's are quite small and cheap. As this is just an experiment, let's try this new VM. Create a B1ls VM with the Ubunto 18.04 LTS image on it. Make sure that the VM has a public IP address and use a public key for access. Once the VM is created, login to the VM using a tool such as Putty. Follow the steps described here to ins