Time Synchronization from Amazon AWS

These days it's easy to take time synchronization for granted. Most new or modern systems comes with time synchronization already installed and configured. Even mobile phones does it automatically when they connect to the cellphone towers.

But how does this work, why do you need to care and and what does this announcement from AWS mean?

How Does Time Synchronization Work?

This can be a very long explanation, but I rather opted for the short version, with sufficient links to more comprehensive resources for those interested in the detail.

A good starting point is the wikipedia page on the NTP protocol.

There are various RFC's, as can be seen by the Wikipedia page, that describe the technical details of the protocol.

Other great resources include "How Does NTP Work?" by Kevin Sookocheff and "What Is NTP? A Beginner’s Guide to Network Time Protocol" by Ben Telford.

In practical terms, however, it means that for most computer systems they need a Time Server to connect to, and by an implementation of the NTP protocol, the local time service will ensure the computer clock stays as accurate as possible, making micro adjustments throughout as required.

Why Do You Need to Care?

There are cases in which an accurate system time is not that important. However, I would argue that most workloads and processing these days relay in some way or form on a reliable time source. If for nothing else, then at least for having accurate timestamps in the log files, especially if there are some form of audit log on the system.

In the processing of data, time may also play an important role. In some cases, data have to be processed by a certain deadline. How does the system know that this deadline has been reached? Also, when data is exchanged between systems, timestamps are often used and strange bugs can occur when some systems are not synchronized using NTP. Personally I have observed systems rejecting messages becaus the message timestamp was in the future.

Dealing with time is one thing, but today we also operate our systems on a global scale. Therefore, in addition to time, being aware of the timezone may also be important. Personally I prefer to deal only with time in UTC in all bespoke applications, but at times you may need to integrate with systems that may not align to UTC and your application must be able to handle these scenarios. This is typically also found in many certificate management systems, and again I have seen system integrations fail because one of the systems did not properly take into account the time zone when evaluating or processing certificate data or token data.

The AWS Time Synchronization Service

All this, make the announcement from AWS worth spending some time on. Not only is it greate to have another publicly available global time source (AWS), but it also means those using AWS services that also have on-premise systems and/or IoT devices in the field, can now all benefit from a more standardized configuration using only the AWS service as primary reference.

Also, having more such services available, means overall better redundancy.

In Conclusion

I would argue NTP is one of those critical, yet least talked about services that most of us rely on for the proper running of all our systems. If you have not yet spend a lot of time on this topic, I would encourage you to delve a little deeper. Even if you are not an AWS customer, the topic is still important and you will benefit having a serious look or internal review on using any NTP services.

Tags

internet, services, ntp, aws