
Carpool Mashup Live demo of the BCIT1360 project, deployed as docker container deployed on AWS EC2 instance. It also has a video served from the python webserver, of the project started from commandline.
This project has also been deployed as Docker Container on AWS Fargate, which is outlined at end of this post.
Project Source This is the Python source code for the Carpool Mashup. This project best by yourself, so you can see what is basically happening inside a webserver. And how older web applications interacted with the web server, using the browser javascript platform.
I just finished a course in python. For some reason , they are teaching python instead of bash scripting and powershell scripting. I don’t mind, I like programming.
I posted my final project to
https://github.com/studio-1b/CarPoolMashupPython
Working demonstration is uploaded to AWS. Link to the right.
I demonstrated the base structure of how a http server is likely built, with room for expandability for additional filters. Built was a static file server. Scripthandler to execute python files like a Java servlet. Left for another day, I could add a filter to require login and restrict access to static files.
Apache let’s settings on different virtual directories. IIS allows virtual directories on different physical paths from all over the file system. It also can process isolation per virtual path, and as part of that features, gives the ability for the process to run under different user credentials. These are features to make it easier to administer.
printf "HTTP/1.1 200 OK\nContent-Type: text/html\nContent-Length: 122\nConnection: Close\n\n<html><body>Hello World</body></html>\r\n\r\n\r\n" | nc -l -p 8808
Installing Linux is easy if you have Windows. Search on internet for “VMware Workstation Player”, and install it. Then download a Linux ISO. Ubuntu Desktop is easy option. Install Linux in “VMware Workstation Player”.
Hopefully the video below will more than suffice for a written explanation, of how to use the idea above, and construct a web server for it…

Yes the demo html is another pathing program…. What did you think? I was going to write zip and demonstrate huffman encoding?
But yes, a lot of reputable web servers are free, and you don’t need to write your own. But if you wanted to know how to write one. Or to develop an intuitive sense of the basic functionality of the web server you use.
Edited 2/25/2024
Carpool container on Fargate.
First, Fargate is an option in Elastic Container Service(ECS). Here are some caveats about putting a fargate application in Fargate.
1. Containerized applications in Fargate, is advertised as completely managed by AWS.
2. The monthly cost of such an application deployed in Fargate is same cost as t2.medium reserved instance on monthly billing. It isn’t cheap.
3. This is the main problem, for using it as a WEB application (versus a scheduled task that pulls data, like a MQ consumer). You cannot assign an elastic IP. So your application does not have a fixed IP address. It is assigned dynamically when the application starts. There are ways around this, such as creating a cluster, but I haven’t done this, and I assume there is additional cost to having a cluster configured.
4. Also AWS will reboot your application, in order to manage the platform. This means each time, the Fargate platform is maintained, your application will be restarted, and it will receive a new IP address. So if you think you can get away with never rebooting your application, and use the assigned dynamic address, well I know from personal experience, they will reboot the server after they send you a fargate maintenance email and if you think it is spam, then your IP address will change in a few days later.
5. You cannot even get an internal dns name unique for your VPC, to use in a reverse proxy, inside AWS.
If all of that doesn’t matter, here is the video on how you add a containerized web app to Fargate…
TBD