# Road to Cloud Engineer
Menuzinho
- #ref Cloud Run
## Basics
### Encoding/Decoding
Encoding and Decoding: b64, ascii, utf-8.
### RESTful Server
- [Fireship: What is a RESTful API?](https://www.youtube.com/watch?v=-MTSQjw5DrM&t=73s)
Python [Flask]:
- [First Server in Python](https://www.imaginarycloud.com/blog/flask-python/)
- [Why Migrate from Flask to FastAPI?](https://betterprogramming.pub/migrate-from-flask-to-fastapi-smoothly-cc4c6c255397)
- [Simple CRUD Flask to FastAPI Migration](https://dev.to/e_farach/migrating-a-super-simple-crud-app-from-flask-to-fastapi-5ba7)
Python [Fast API]:
- [Introduction to FastAPI.](https://fastapi.tiangolo.com/tutorial/first-steps/)
Python [Migrating from Flask to FastAPI]:
- https://dev.to/e_farach/migrating-a-super-simple-crud-app-from-flask-to-fastapi-5ba7
- https://betterprogramming.pub/migrate-from-flask-to-fastapi-smoothly-cc4c6c255397
HTTP2 in FastAPI:
- https://levelup.gitconnected.com/deploy-fastapi-with-hypercorn-http-2-asgi-8cfc304e9e7a
- In Cloud Run https://cloud.google.com/run/docs/configuring/http2
### YAML Files

JS
Python:
- [Intro to YAML with Python](https://geekflare.com/python-yaml-intro/)
- [Reading and Writing YAML Files in Python](https://stackabuse.com/reading-and-writing-yaml-to-a-file-in-python/)
- [Generate YAML file using Python](https://dev.to/jmarhee/example-of-yaml-generator-and-validator-in-python-1opk)
### Swagger: Add Documentation to your RESTful Server
Python:
- [Why Use Swagger? Just the Intro](https://medium.com/koko-networks/automated-swagger-api-doc-with-flask-restful-a78119bc4473)
- [Using RESTPlus to document your Flask server](https://towardsdatascience.com/working-with-apis-using-flask-flask-restplus-and-swagger-ui-7cf447deda7f)
- [Flasgger](https://github.com/flasgger/flasgger)
### Asynchronous Requests and Handling
Python:
- [Gentle Introduction to Async (Video)](https://www.youtube.com/watch?v=nFn4_nA_yk8)
- [Introduction to Async Operations in Python](https://github.com/crazyguitar/pysheeet/blob/master/docs/appendix/python-concurrent.rst)
- [Simple Example Motivation](https://stackoverflow.com/questions/50757497/simplest-async-await-example-possible-in-python)
- [Send Asynchronous Requests (aiohttp documentation)](https://docs.aiohttp.org/en/stable/client_quickstart.html)
## Cloud Run
[Motivation to use Cloud Run](https://dev.to/pcraig3/cloud-run-vs-app-engine-a-head-to-head-comparison-using-facts-and-science-1225)
Latency and Cost Trade-off
## Software Engineering
- [Difference between QA, Pre-Prod and Prod environments](https://softwareengineering.stackexchange.com/questions/351058/difference-between-qualif-uat-preprod-and-prod-environment)
## Cloud Dictionary
- URI
- URL
- On-Prem
- CRUD: Create, Read, Update and Delete App, basic functionality for an app.
- Endpoint: