GDPR Declaration !!

I am not collecting any personal information of any reader of or visitor to this blog. I am using Blogger, provided by Google to host this blog. I understand that Google is using cookies to collect personal information for its Analytics and Adsense applications.

Saturday, March 13, 2021

What are Microservices?

This is the tenth of a series of articles on 'technologies for the coming decade that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

  1. Artificial Intelligence
  2. Machine Learning 
  3. Deep Learning 
  4. Robotic Process Automation (RPA) 
  5. Industrial Internet of Things (IIOT)
  6. Cloud Computing 
  7. Blockchain 
  8. Multitenancy
  9. Multichannel / Omnichannel 


About 50 years ago we used to predominantly have General Physicians. She was the Go To Doctor for all the illnesses ranging from headache to cuts on your ankles. 

If the GP is down due to illness, say diarrhea, all the medical support systems in the town came to a standstill. Whether you had a head ache or a throat infection or a knee pain, you had to wait till the GP was available. 

In technical terminology, that single GP was a 'Monolithic Architecture', akin to a single application that is installed as a package or an executable. In case of a bug in one part of the application, the entire application went down and all the inter-dependencies had to be retested before the application was available again. 

Friday, February 26, 2021

What is Multichannel / Omnichannel capability?

This is the ninth of a series of articles on 'technologies for the coming decade that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

  1. Artificial Intelligence
  2. Machine Learning 
  3. Deep Learning 
  4. Robotic Process Automation (RPA) 
  5. Industrial Internet of Things (IIOT)
  6. Cloud Computing 
  7. Blockchain 
  8. Multitenancy 
What is Multichannel? 
The word Multichannel refers to the different marketing channels through which the company delivers information and sales promotion to the customer. The channels could be Physical Store, Advertisements, Banner Ads on Social Media, Videos on Social Media, Mobile Phone, Mobile Phone App, Company Website, Emails and even door to door communication. 
What is Omnichannel? 

Omnichannel refers to the various channels that a customer tracks a specific transaction. 

Imagine the following scenario. You are standing in a bus stop. You see a banner ad for the latest gadget and decide to buy it. You access an online store in your mobile phone and place an order. Later you call the customer support over the phone to update the order and change the make of the gadget (you modify the order over the phone). Based on your credentials, the support team picks up your order, updates it while you are holding the phone and sends you a confirmation message on your mobile phone.

You get a delivery message on your email when the item is available in the store nearby. You go to the store and pickup the item. After inspecting and accepting the item, you make payment through a payment gateway.

There is only single transaction, you buying the gadget. You access multiple channels which are marked in bold in the above two paragraphs.

You can expand the above scenario to include more channels. For example, the above customer could be browsing Facebook and saw a digital ad, clicked on the ad to place an order. Or the information could have come through an email. The point is that the new technologies have increase in the number of channels that the customer is exposed to. 

One transaction done through multiple channels, this is Omnichannel for you. 

How is Omnichannel different from Multichannel sales?

Multichannel is when the company uses different channels to market their products and deliver product information to the customer. In traditional Multichannel scenario, once an order is placed, the order fulfillment and customer payment happens in the same channel. Multichannel has been existent for a long time.

Omnichannel is different. In Omnichannel, customer  can conduct different parts of a single transaction cycle in different channels. 

Modern technology changes the way both Multichannel and Omnichannel works. It factors in both technology and availability of different devices for customer to access the product. 

Omnichannel: Why now? 

While Multichannel has been present for a long time, the idea of Omnichannel is relatively new. With the advent of technology and the preference for e-Commerce, the purchasing behaviour of individuals has undergone  change. Various studies show that customers use at least two channels to make a purchase on internet. It is also found that customers do not like to repeat their orders and expect the Organization 'take off from where they left off' for every new interaction. 

Customer is very happy if the Organization remember their engagement history and unhappy if they have to repeat the same thing to many different employees in the Organization. 

Presence of multiple devices and customer demand for better efficiency has acted as a catalyst for Omnichannel selling.  

How Multichannel integrates with the Omnichannel?

The diagram below shows the relationship between Multichannel and Omnichannel


The new technologies that will drive Multichannel and Omnichannel

The exploding demand from the customers is the main driver of technology adoption. An average customer is using about five channels on an average including Mobile apps, Youtube, Social Media, Portals, Push Messages, Emails and Store. They expect the information available in all these different channels to be in Sync with each other.

The next driver is personalization. Retail stores are using technology to track the purchase behaviour of individual customers. Creating a customer account has become mandatory for making any purchase. The advent of AI has made personalization easy to adopt. Stores are using technology to drive related purchases ('Customers also bought') and offer spot discounts. It is only a matter of time technologies like facial recognition will help retailers to welcome individual customers.

Cascading effects of technology advances in upstream areas like Supply Chain management is another driver. Retailers are forced to adopt technology just to 'stay in place'. 

Yet another driver of technology adoption is advanced analytics. New technologies like AI and ML enable analytics at a granular level. Technologies like IoT and RFID enable retailers to track product life cycle even beyond the point of sale and that information can be used for further personalization by anticipating customer needs.

Chatbots are another technology that is fast picking up. Chatbots help the company to be available to the customer at a 24*7*365 basis and help handle most of the repetitive issues related to the sales. 

Finally, we should not miss the most exciting emerging technology, Voice. Alexa, Siri, Cortana and other Voice technologies are poised to revolutionize Multichannel environment. After all, which customer won't be pleased as they enter the retail store and a humanoid robot welcomes you with 'Good Morning Mr.Ram, How can we help you today?'

What are the benefits of Omnichannel? 

Customers get a seamless experience. They can place an order online, update the same over the phone and finally pick the material from the nearby mall. This increases customer satisfaction

Transaction errors are reduced since all the channels are integrated.

Omnichannel: Challenges

Getting Omnichannel readiness is not easy. The technology is complicated and is evolving. If majority of your customer use only one  channel or two at the max, why spend the money and effort in designing Omnichannel?

Since the customer is using multiple channels, it is difficult to identify the profitability of a specific channel. 


  1. What is Multi-Channel Retailing? | Definition, Benefits & Challenges - Zoho Inventory
  2. Multi-Channel Marketing: How to Create an Effective Strategy  
  3. Multichannel marketing: What it is and why it matters | SAS  
  4. How to structure an effective multichannel marketing plan | Smart Insights 
  5.  How to structure an effective multichannel marketing plan | Smart Insights 
  6.  MultiChannel-Technology-Feb2012.pdf  
  7. Strategic Call Center Consulting It’s Time to Take Multi-Channel Technology Seriously  
  8. Emerging Technologies for Multichannel Retail - OneSpace  
  9. What is Multichannel Retailing? | HCL Technologies  
  10. Technology Enables Multichannel Satellite Links | SIGNAL Magazine  
  11. Multichannel Retailing Ansira - Using The Right Technology To Solve Multichannel Challenges | Facebook 
  12. Gaining control of multichannel customer engagements with low-code technology - YouTube 
  13. Multichannel digital solutions | Open Web Technology - Go Digital 
  14. Multichannel Marketing in the Era of Digital Transformation | vablet 
  15. What is Multichannel Communications? | Neopost 
  16. Case study: Multichannel for better commercial performance in pharma  
  17. Multi-channel Digital Marketing Solutions with Accenture and Adobe  
  18. Multichannel trends: 10 ways to prepare for the future  
  19. The Future of Inventory Management: 8 Stock Control Trends to Watch in 2019 - Vend Retail Blog  
  20. The business owner's guide to omni-channel selling






Sunday, February 07, 2021

What is Multitenancy?

This is the eighth of a series of articles on 'technologies for the coming decade that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

  1. Artificial Intelligence
  2. Machine Learning 
  3. Deep Learning 
  4. Robotic Process Automation (RPA) 
  5. Industrial Internet of Things (IIOT)
  6. Cloud Computing 
  7. Blockchain

Introduction to Multitenancy

Let us take the example of a bank. A bank has thousands of customers. Every customer accesses the information stored in a single server. While all the customers access the same application, the data of each customer is different and secure from the data of every other customer. The balances and transactions of every customer are segregated and has no impact on the balances and transactions of other customers. 

Similar is the case with apartment complexes. Many tenants / owners live there. They pay annual charges based on the usage. Each house in the complex has its own lock and key (security) and has unique designs (configurations).

Multiple tenants sharing resources by paying periodic subscription charges that are based on resource usage, with the data of each tenant being maintained separate and secure from that of another tenant and each tenant having limited flexibility to configure their application features, access and user interfaces... 

That is Multitenancy for you. 

What Multitenancy is not

Multitenancy is different from 'Tenant Space'. This is where the customer rents out a slice of the Sever Space and uses it to install their own application, databases and code. 

Multitenancy is different from 'Multiple Application Deployment'. In this case even when the customer shares the same sever space, they access different applications installed on the server. 

For an architecture to become Multitenancy, different customers should share the same application instance. 

A formal definition of Multitenancy

Multitenancy is a feature of Cloud Computing. Gartner defines Multitenancy as 'a reference to the mode of operation of software where multiple independent instances of one or multiple applications operate in a shared environment. The instances (tenants) are logically isolated, but physically integrated. The degree of logical isolation must be complete, but the degree of physical integration will vary.' 

In a multitenant architecture, tenants share the following features.

  • They can configure their unique user interfaces and experiences.
  • They can have a unique application configuration based on their business rules and requirements. 
  • Tenants can have control on their database schema. They can add and remove database tables for example.
  • They can create users and provide them controlled access to the data. 

Three types of Multitenant architecture

1. Multitenancy with a single application and database instance: This is the simplest of the multitenant architecture. Every tenant shares the same application and database instance. This constrains the ability of the customer to configure their application instances. However, this approach is cost effective. 

2. Multitenancy with single application instance and tenant specific database instance: This option may cost higher than option one  above, but provides operational flexibility.

3. Tenant specific application and database instances: This is technically not Multitenancy. This can be called a 'Multi Instance Architecture'. This is similar to the traditional hosted model. This option is the most expensive.

Design Considerations in Multitenancy


This refers to the application instances that handle tenant request. There could be four different type of affinity:

  • No affinity (Non-affine): In this case, a request from a tenant can be handled by any server where the application instance is installed. 
  • Full affinity (Affine): Here different application instances are dedicated to the Tenant. A request from the customer can be handled only by the assigned server.
  • Cluster affine: A group of customers are assigned a cluster of servers in which the same application instance is installed. The Tenant request can be handled by any of the server in the cluster. 
  • Inter-cluster affine: In this case a set of requests from the tenant are handled by servers in one cluster and other set of requests are handled by servers belonging to another cluster. 

Performance Isolation: 

 One of the challenges in Multitenancy is called the 'Noisy Neighbor', where performance of one tenant is impacted if another tenant with a high workload. There are three types of performance isolation: 

  1. Performance isolated: In this case every the cloud vendor meets the performance SLAs of every tenant irrespective of the workload of other tenants. The high load of another tenant may impact performance of another tenant, but stays within the SLA limits.
  2. Weak isolated: In weak isolated environments, every tenant is subject to an upper limit of resource usage. This ensures that no single tenant overuses the server resources. However, it is possible that many tenants may try to fully use the limit provided and this may lead to performance impact across the board.
  3. Non-isolated: There is no control. Tenants working within their SLAs will be negatively impacted by Tenants hogging the resources.


This is the ability of a multitenant architecture to handle tenant specific configurations and requirements. This can be handled in two ways.

  1. Configurable architecture: Each Tenant is allowed to configure the application to meet their specific requirements. The server maintains configuration files of each tenant
  2. Code extensions: In this case each tenant has access to the application code base and has the freedom to modify the code to develop bolt-on extensions to handle their specific requirements. 

Benefits of Multitenant architecture

  1. Cost reduction: Multitenancy helps customers to share resources and hence gain from economies of scale. 
  2. Scalability: Multitenancy enables temporary scalability to handle unexpected heavy loads. This is enabled because it helps the Cloud Computing vendor to redirect the load with no extra cost to the customer
  3. Efficiency: Multitenancy is more efficient as it streamlines the load on infrastructure. 
  4. Lower entry cost 
  5. Easier release management: Since all the tenants are on the same server, any application or database upgrade has to be done one time, thus making release management easier.

Challenges of Multitenancy

  1. Potential security risks: It is possible that the data corruption or application bugs generated in one customer instance could spread to other customers who share the same instance. 
  2. Compliance Issues: Some country regulations do not allow storing a company data in a shared server. 
  3. 'Noisy Neighbor Effect': Excessive use of resources by one customer (to handle peak load demand) could impact the performance of other customers that share the same resources.  
  4. Risky release management: Since a single release update of an application can impact multiple customers, any bug in the release will impact many customers. This adds a risk to any new releases.
  5. Increased testing frequency: Since the customer has to do extensive testing of every release, this adds an unnecessary load on the customer. 
  6. Challenging transition from On-premise to Cloud: Customers who has worked on dedicated on-premise or hosted application will find the controls imposed by a multitenant architecture challenging.


  1. Multi-Tenant Architecture | End Point  
  2. What Is Multitenancy? | Multitenant Architecture | Cloudflare 
  3. Multitenancy - Wikipedia  
  4. The silly debate over multitenancy | InfoWorld 
  5. Wayback Machine  
  6. SaaS: Single Tenant vs Multi-Tenant - What's the Difference? | Digital Guardian 
  7. What is Multi-Tenancy (Multi-Tenant Architecture)?  
  8. Multitenancy Explained - YouTube  
  9. Multi-tenancy Made Simple - YouTube  
  10. Easy Way to Understand Multitenancy - YouTube  
  11. Multi-tenant architecture in 20 minutes - YouTube  
  12. What is multitenancy?  
  13. Definition of Multitenancy - Gartner Information Technology Glossary

Monday, January 11, 2021

What is Blockchain?

This is the seventh of a series of articles on 'technologies for the coming decade that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

  1. Artificial Intelligence
  2. Machine Learning 
  3. Deep Learning 
  4. Robotic Process Automation (RPA) 
  5. Industrial Internet of Things (IIOT)
  6. Cloud Computing 

Introduction to Blockchain

Let us look at a scenario where four people are sitting at their home and playing a game over Zoom. The game is simple. Each participant will issue a virtual coin worth 1000 rupees into the game. Once every player has deposited the coins, a lottery identifies the winner who takes home all the four coins. The other participants transfer 1000 rupees each into her bank account.

Thursday, December 31, 2020

What is Cloud Computing?

This is the sixth of a series of articles that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

  1. Artificial Intelligence
  2. Machine Learning 
  3. Deep Learning 
  4. Robotic Process Automation (RPA) 
  5. Industrial Internet of Things (IIOT)

Introduction to Cloud Computing

Let us look at GMail for a moment. All of us use it. All your emails are stored on the Google Server. You access the mail through a browser, read it and respond to it. You are not maintaining any hardware or software on your computer. Through a browser (or App) you access your data stored in a server on the internet and perform computing actions (reply, delete, move it to another folder etc) on it and log out of the system. Assume that you pay only for the time you logged in to the email.

Thursday, December 17, 2020

What is Industrial Internet of Things(IIOT)?

This is the fifth of a series of articles that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

4. Robotic Process Automation (RPA) 

What is Industrial Internet of Things (IIOT)?

Industrial Internet of Things (IIOT) is a subset of 'Internet of Things', a term coined by Kevin Ashton in 1999. While the term IoT refers to connected devises that make the individual life fun and exciting, the term IIOT refers to the way

Friday, December 04, 2020

What is Robotic Process Automation (RPA)?

This is the fourth of a series of articles that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

What is Robotic Process Automation (RPA)?
RPA, also known as Software Robotics, is a software program. It is a Fat program, in that it runs on the end user's PC, laptop or a mobile device (thin programs are installed on Server and accessed through a URL). It is a sequence of commands

Tuesday, December 01, 2020

Book Review: Necessary But Not Sufficient: Author: Eliyahu Goldratt

Were Mr.Eliyahu Goldratt and his team to write the ideas covered in his book ‘Necessary But Not Sufficient’ as a technical journal, it will probably be titled ‘ERP Industry: Where are we today? What are the challenges? What is the future?

Sunday, November 22, 2020

What is Deep Learning (DL)?

This is the third of a series of articles that I am writing in my blog. I intend to cover 21 technologies / ideas. Here is my publishing history.

What is deep learning?

Deep Learning is a subset of Machine Learning that uses Artificial Neural Networks to identify complex patterns in the given data. Artificial Neural Networks are a set of algorithms that mimic the functioning of the brain. Deep Learning is widely used on Object Identification, Pattern Recognition and Natural Language Processing (NLP). As we saw earlier, ML is a subset of AI.

Wednesday, November 18, 2020

What is Machine Learning (ML)?

Machine Learning (ML) is the second of 21 technologies or ideas that will shape the business landscape in the decade of 2020s. The first one is Artificial Intelligence. Let us look at Machine Learning in detail.

What is machine learning? 

Machine Learning (ML) is a subset (subfield) of Artificial Intelligence where machines learn from the data presented without explicitly programmed. The objective of ML is to elicit structure from a group of apparently unstructured data and fit that data into models with predictive and problem solving capabilities. The data used to generate the models is called 'Training Data' and the data input for prediction purposes is 'Validation Data'.

For example, training data could be a set of different fruits, bananas, apples and oranges. Based on the different features of the fruits, the algorithm develops a model that learns to identify (classify) different groups of fruits. Once this model is executed on a computer, the machine has learned to identify the fruit. When a new fruit is presented (validation data), the machine correctly identifies it as 'Banana'.  

Definition of machine learning. 

The term 'Machine Learning' was coined in 1959 by Arthur Samuel. He defined it as "it (ML) gives the machines the ability to learn without being explicitly programmed'

In 1997, Tom Mitchell defined Machine Learning as "A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E."

A simple definition of machine learning is 'Using Data to Answer Questions'. Here 'using data' is part of training and 'Answer Questions' is part of prediction or inference. 

Why machine learning now? 

To answer the question, let us look at the way human beings learn. We see disparate data and then make inferences. Even before it learns the word, the child sees a goat in his house as well as in his friend's house and learns that these are multiple instances of the 'same' animal. Over a period of time the child may learn more features of the animal, 'Generally White', 'Is domesticated', 'Gives milk' etc. Finally he may learn that it is called 'Goat'.

Or take another example of building a church. The masons who built the first church did not know what it was. They were building 'something', Over generations masons learned that their building had certain features like 'Has bells', 'Has a Cross' etc. Finally they learned that it is called a 'Church'.

Human beings look at data and identify patterns and features. This is how we learn.

However, our brains has a limitation in processing data. With the data explosion of the recent years, we have taken recourse to 'Heuristics' to make our decisions. But we cannot allow this vast amount of data go unutilized. We needed machines and processes that can take this huge amount of data and identify the hidden patterns out of this data. 

Hence we can say that the availability of huge amount of data and high end computing resources together ushered in the age of Machine Learning. (Another component is the development of advanced algorithms). 

Two types of learning

Human beings learn in two ways. One is called 'Rote Learning' or Memorization or Declarative Learning. Here we memorize facts and data and retrieve it when asked. This is a highly inefficient form of learning. 

The other learning approach is 'Generalization' or Inference or Imperative Learning. Here we learn the 'first principles' and learn new facts from old facts. The two aspects of this type of learning is its predictive ability and the assumption of extrapolation of past to future. 

Early ML used Rote Learning. The objective was to feed it with vast amount of data so that it can come back with answers when asked a question. This approach is also known as 'Symbolic Learning'. The recent advances in ML focus on Generalization as a learning approach. We feed large amount of data to the machine and let it identify the patterns for example. 

Machine learning approaches 

There are three main approaches to ML. They are.

1. Supervised Learning: In this method, each instance of a training dataset is composed of different types of input attributes and a corresponding expected output attribute. The input can be any type of date including pixels, images, numbers etc. This approach uses Labeled Data and the objective is to classify and group the data. 

It is called 'Supervised' due to the presence of a 'Supervisor / Trainer' which evaluates the output provided by the model and make corrections. This iterative approach continues till model comes up with an acceptable level of performance (expected results over multiple iterations). 

The trained model is then used to predict the output based on a new untested input (Validation Dataset)

Business use cases of this include:

In banking industry, to identify the credit worthiness of a customer
In healthcare industry to identify the patients readmission rates
In retail industry, to identify frequently bought items
Any speech recognition app like Siri, Cortana, Alexa, Google Assistant etc

2. Unsupervised Learning. In this case there is only input data without any corresponding output variable. The goal is to model the underlying data structure to learn more about the data. This method uses unlabelled data and there is no supervisor to guide the algorithm. The algorithm is left to itself to find interrelationships and patterns within the data. This mode of learning is very valuable since we have more of unlabelled data than labelled ones. 

Without a supervisor constantly telling the correct answer, the unsupervised learning is free to roam around the data to identify 'hidden' connections and patterns. The method uses correlation and regression to discover such connections. 

Business use cases include: 

In banking industry, used to classify customers based on different behavioural characteristics
In healthcare industry it is used to catagorize MRI / Any Test / Data as normal or abnormal
In retail, it is used to recommend products to customers based on past purchases.

3. Reinforcement Learning: In this method the learning is through continuous interaction between the learning agent and the environment. The learning happens through trial and error. The environment provides regular feedback through rewards and penalties to guide the learning agent in the right direction. The reward / penalty acts as a reinforcement signal. The LA improves its knowledge about environment through the rewards mechanism. 

Learning agent uses two mechanisms.

  • Exploration: When LA acts on trial and error basis
  • Exploitation: When LA acts on the basis of knowledge gained from environment.

Business use cases include:

In banking, to create the 'Next Best Offer' based on customer reaction to an offer
In retail, to push excess stock by dynamic pricing.


Machine learning suffers from a number of data biases

1. Since this works on input data, system may not recognize many data. For example if the Bank Customer Data Set include only whites, the algorithm may exclude people of colour. This could lead to denial of service.
2. Since the data is generated from society, it may contain all the current societal biases. There will be over representation of specific groups of people to the detriment of others. 
3. It is important that societal diversity is reflected in the data.