CDN

Content Distribution Network or Content Delivery Network is known as CDN. As the name signifies it is a network that allows various applications to distribute their contents to the clients. “Content” that is referred in this term is static content, which doesn’t change frequently. A typical example of such static content is any image you see on the web. The image contents don’t change often and hence it is referred as “static”.

Why does one need CDN?

With global customers, a website can expect traffic from anywhere in the world. However, most of the times servers that host your application would be located in a single location (barring some exceptions). How fast a webpage will be served is constrained by the physical distance between server and a client. As a result, a visitor from the US will have higher latency as compared to a visitor from India when the web server is located in India. In this highly competitive edge, where customer drops of if there’s even a 2-second delay in response, websites strive to deliver contents as fast as possible. And this is where CDN comes into picture.

Content Delivery Network caches the static contents at various places in various geographic locations. These locations are called as Edge locations. The edge locations are configured to fetch data from the base web server, called as “Origin Server”. The data remains in the cache until expiry. After expiration, the Edge location queries the “Origin” server and fetches if the data is modified.

Load websites faster using CDN
CDN gives you speed!!

But how does this solve the problem in latency?

CDN has created the cache locations. But the real question is how would a client know which Edge location to request data from? This is solved by the Content Delivery Network. Each CDN endpoint has multiple IP addresses corresponding to all the Edge locations. CDN uses a concept for GeoDNS. GeoDNS allows the DNS (Domain Name Server) to identify the location of requesting client IP and return an IP address of the nearest Edge location. This is why we say CDN returns the data from nearest geo-location.

How does CDN Work
How does CDN Work – Source: https://f9official.com/2017/08/28/content-delivery-network-cdn/

So when you request a webpage, the request goes to the webserver. The HTML specifies that static resources should be loaded from CDN. As a result, the client makes the request to the CDN. CDN delivers contents from nearest geo-location.

Any other advantages?

Yes. Since your static data is cached to external servers i.e. the edge locations, your web/app server is free to do the operations where logic is involved. Using CDN reduces the load on the web/app server, thereby improving the response times to the clients. This results in the better customer experience.

CDN providers

  • Akamai
  • AWS CloudFront
  • MaxCDN
  • Azure CDN

Related Links

Related Keywords

AWS CloudFront, GeoCDN, Anycast

Android Things

Now this is something interesting. Android Things is an embedded OS platform by Google and is obviously Android-based 🙂 This platform is meant to target IoT (Internet Of Things) devices. IoT devices typically have power and memory constraints and this OS aims to operate within those constraints. Typically these devices have about 32 to 64 MB RAM.

Internet of Things - Android Things - embedded OS
Internet of Things – Android Things – embedded OS

History of Android Things

Google had announced OS for IoT devices back in 2015 with name “Brillo”. That OS was C++ based. However, it never came out of developer preview. Later in Dec 2016, Google announced Android Things which was based on Android i.e. Java. An important advantage of this shift is that development life cycle almost remains same as that of mobile app development. Developers can use Android Studio and other popular IDEs for development for this OS.

So, what’s latest on this front?

In current Consumer Electronics Show – CES 2018, many OEMs are announcing their products based on Android Things. e.g. Voice Activated Speakers powered by Android Things. Google Assistant will be coming to smart displays, which would be powered by Android Things. Check this video which shows a drawbot drawing a facial image captured by photo. As you would have guessed, this drawbot is powered by AndroidThings

Developers would be able to push the updates to the OS, just like other Google products.

Competitors:

  • Microsoft – Windows 10 IoT
  • Amazon – AWS Greengrass – this is not exact competition, but it is Amazon’s entry point of the IoT strategy.

Some References:

Related Keywords

Android, Operating System, Embedded OS, IoT, AWS Greengrass

VPC – Virtual Private Cloud

When you are hosting your application in the cloud, you would be worried about the security of your resources in the cloud, especially data in transit. No one would want their data to be snooped or would not want unauthorized access to their servers which are in the cloud. For such scenarios, VPC i.e. Virtual Private Cloud comes into the picture.

Virtual Private Cloud is essentially an isolated network (logically) from other tenants’ network on the cloud. VPC is a terminology introduced by AWS, however, other IaaS providers also have similar concepts. In Google Cloud also you get “Virtual Private Cloud”, however in Azure, you get “virtual network”.

Key features of VPC

Since this is your own private network in the cloud, you get a lot of control in configuration and implementation. One can define subnets, routes, network ACL (access control lists). Additionally, you also get control of which subnets can have access to the internet and which do not.

In VPC, the network administrator can set up their resources such as virtual machines, containers or databases. These resources could be in a single subnet or multiple subnets. There could be routes defined which will allow only certain subnets to access a given subnet. This gives a very good control to the network administrator over her network.

Typical VPC implementation in AWS

AWS VPC Implementation
AWS VPC Implementation (Source: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)

Are there any differences in VPC by AWS and Azure?

Although they are very similar in concept, VPC in AWS and Virtual Network in Azure have some differences.

  • AWS provides a wizard to create Virtual Private Cloud with 4 different basic options. Azure doesn’t have a wizard.
  • AWS allows you to use Security Groups and Network ACL both to control access. However, in Azure, you can use only one of them at a time.
  • AWS provides custom routing tables to control access within the VPC. However Azure doesn’t have such feature.

Related Links

Related Keywords

AWS, Cloud, Azure, Virtual Network, Google Cloud

NFC – Near Field Communication

Near Field Communication has been around for a while now. With the strong use cases such as payments using NFC, it is getting more traction since last few years. Android and iOS, both have support for this protocol and have various use cases successfully implemented in various fields.

NFC aka Near Field Communication
NFC aka Near Field Communication

Is It Similar to Bluetooth?

NFC is a set of protocols for communication between two electronic devices. This communication happens when these 2 devices are close to each other (within 4 cm range). This is very similar to Bluetooth communication, but bluetooth communication can happen upto 30ft range. Apart from this, Bluetooth needs pairing of devices, whereas NFC happens instantly when the devices are close to each other. Although they are similar and NFC tends to be easier to use, bluetooth has been more popular until now.

However, as per recent reports, NFC enabled phones are getting traction. About 64% of phones those would be shipped in 2018 would have this technology included. Apart from mobiles, it is also used at other places such as smart cards.

Types of communications

  • Two way communication – You can use NFC to transfer data from one phone to other. This is a very common way now to setup you new android phone.
  • One way communication – In this case, your NFC tag carries certain data, which is written/updated by NFC powered terminals. For example, if you are carrying a smart card for your metro travel, the moment you flash it at the entrance of metro, it could deduct appropriate amount from your smart card and write new balance there.

How does mobile payment using NFC work?

  • Customer launches the payment application on the mobile phone
  • Customer taps the mobile phone on the credit card terminal.
  • A connection is made using NFC between the terminal and mobile phone.
  • Customer is prompted for second level authentication such as fingerprint scan or entering a pin.
  • Transaction is validated using a secure chip, which gets authorization from the bank and relay it back to the mobile app. This marks the completion of the payment.

Future Trends

NFC tags could be placed at various places including entrance of trade shows, which could instantly give information about various booths to the visitors. The tags could also be placed in flyers or advertisements which could give additional info to the customers by just tapping. Tags placed within retail stores in conjunction with mobile apps can provide additional personalized info to the consumers which increases the sales.

Related Links

Related Keywords

RFID, Bluetooth

RPA – Robotic Process Automation

RPA stands for Robotic Process Automation. It is a process automation concept which allows business users to automate their tasks with minimal help from technical teams. We all are familiar with automation and have done it in some or the other form in our lives. May it be scheduling an event or automating test cases using tools like Silk, Selenium or some scripting language. While test case automation is relevant for technical teams, the business teams have very low relevance for this kind of automation.

So, RPA is not for technical folks?

Yes, you are right. Primary benefit of RPA is for business users. Think like your clerical team is getting additional hand – a robotic hand – to do all the mechanical, mundane work. Typically your back office teams end up doing tasks which are of repetitive nature. Any repetitive task done by a human is prone to errors as well as delays due to boredom. However, RPA helps businesses automate such tasks and get the human beings to do some intelligent tasks such as direct customer interactions, which in turn prove beneficial for the business Growth.

RPA - Robotic Process Automation
RPA – Robotic Process Automation

What All Things RPA can do?

RPA can read data from various sources such as emails or excel files, process them and then put into your application in a required format. Once the RPA software is trained to do this, it will continue to execute as long as we want, without any errors or delays. Typical RPA softwares can read emails, excel files. You can train those software on your data entry software to enter data read from email or excel file. If you need, RPA can also open websites and extract data in the format that you want.

The RPA software is termed as “low-code” or “no-code”. This is primarily because they do not need much coding. Even business users can configure and train the RPA software to perform the required tasks and to do it repetitively.

Essentially RPA implementation can give you huge benefits in terms of time savings, cost savings, error free data entry and thus overall process efficiency.

Use Case

Consider a case where backoffice worker receives address verification request from companies agent over email. The worker needs to open that email, read address and attachment. She would need to verify address details from third party application or website and then make a phone call for contact number verification. Currently, a human worker does all these tasks. With RPA, all of this could be done by a software.

RPA software providers:

  • Automation Anywhere
  • BluePrism
  • BlackLine
  • Datamatics

Related Links

Related Keywords

Automation, Artificial Intelligence, Business Process Management (BPM), Robotics