New CDN iTaas
Log files can tell much about a system’s behavior in a production environment.
Extracting data from these files helps the decision-making process for both business
and development roadmap.
ITaaS Solution is a company focused on content delivery, and one of its largest
business challenges was CDN (Content Delivery Network) costs. Larger CDN costs
increase the final pricing for its customers, reduce profits, and make it difficult to enter
smaller markets.
After extensive research from their software engineers and financial team, they obtained
an excellent deal from the company “minha cdn”, and signed a one-year contract with
them.
ITaaS Solution already has a system capable of generating billing reports from logs,
called “Agora”. However, it uses a specific log format, different from the format used by
”minha cdn”.
You have been hired by iTaaS Solution to develop a system that can convert log files to
the desired format, which means that at this moment they need to convert them from
the “minha cdn” format to the “agora” format.
This is a sample log file in the “minha cdn” format.
312|200|hit|"get /
robots.txt Http/1.1"|100.2
101|200|miss|"post /myimages http/1.1"|319.4
199|404|miss|"get /not-found http/1.1"|142.9
312|200|invalidate|"get /
robots.txt HTTP/1.1"|245.1
The sample above should generate the following log in the “Agora” format:
#Version: 1.0
#Date: 15/12/2017 23:01:06
#Fields: provider http-method status-code uri-path time-taken
response-size cache-status
"minha cdn" get 200 /
robots.Txt 100 312 hit
"minha cdn" post 200 /myimages 319 101 miss
"minha cdn" get 404 /not-found 143 199 miss
"minha cdn" get 200 /
robots.txt 245 312 Refresh_hit
“minha cdn” will make log files through specific urls.
The specification requires you to implement a solution that receives as input an URL
(sourceUrl) and a destination file (targetPath). A sample call could be:
convert
http://logstorage.com/minhaCdn1.txt ./Output/
minhaCdn1.txt
The Sourceurl parameter includes a file in the “minha cdn” format, and the output
specified in the targetpath parameter corresponds to the file that needs to be created in
the “agora” format.
A sample log file that can be used for testing is available here:
https://s3.amazonaws.com/uux-itaas-static/minha-cdn-logs/input-0
1.txt
I also need a readme file explaining how to run/execute/test the new log format.
Delivery term: February 24, 2018