HistorySince the beginning (in 2009) the Smart card ATR parsing service was hosted on Google App Engine. This is because the Google service is/was free of charge and was a new technology to discover.
You can see the GUI evolution of the ATR parsing service in time from my previous blog articles:
- Parsing an ATR (2010)
- ATR not (yet) in my database (2010)
- Parsing an ATR: now in color (2012)
- New UI design for the online ATR parser (2012)
- Parsing an ATR: now more web 2.0 friendly (2013)
Then I received an email from Google:
We’re writing to you to let you know that the legacy standalone App Engine SDK (appcfg) will be deprecated as of July 30, 2019, in favor of the Generally Available Google Cloud SDK (Cloud SDK).
You will need to migrate your projects off the legacy standalone SDK (appcfg) before the shutdown date of July 30, 2020. Projects included in this email will be whitelisted to use the legacy standalone SDK (appcfg) until July 30, 2020, but any new projects will not be able to use the legacy standalone SDK (appcfg) from July 30, 2019.
MigrationIn the migration to the Google Cloud SDK I wanted to also migrate from Python 2 to Python 3, and from Bootstrap 3 to Bootstrap 4. But then I discovered that I would have to migrate from webapp to Flask (not a bad idea) and that some Google API I used were not available for Python 3:
- user identification
- sending email
Note: if you want to help me see "How to help my projects? Send me bitcoins!" or contact me directly.
ProblemThe problem is that I use mail service to send me an email when a new ATR is submitted, and I use the user identification service to get the user login so I can contact him/her in case the card description is incorrect.
Backup planI tried to use the smtplib Python module to send emails. The code works fine in local/debug mode but not when deployed in Google cloud. I have no idea why it failed.
Problem: I deployed the non-working solution over the normal service (yes, bad idea). So the service was broken and I needed a solution (very) quickly.
Self hostingSince no Google services I used was available any more, the new solution was using only free software dependencies. And the smtplib solution was not working on Google cloud.
The solution was to host the ATR parsing service myself.
New serviceThe service is now available at https://smartcard-atr.apdu.fr/.
The old URL https://smartcard-atr.appspot.com/ is still available for now. I plan to change the main page with a redirection to the new URL at some point.
Contact me if you find a problem or want to discuss an evolution of the service.
ConclusionGoogle forced me to migrate.
I don't think it was in their plans to force me to migrate outside of their cloud services 😉.