Hey everyone, every now and then I start a new project to learn or practice some tool. This time I will try something different. I’m planning to create an API from the ground up using all the tools that I want to learn, going through the process of getting the API from the first commit to publish it as a real product.
I will create bi-weekly posts with the following:
- Updates of the project
- What I am working on.
- Why I am using these tool.
- How these tools works
If you know about a bleeding edge tool that we could work with, send me a message and I will be glad to look and give it a try.
Ok, so how is this going to work? I have created a plan for the first 10 sprints. A sprint will not have an exact time frame since I can only commit 5h/week to this project and some of these tools will probably require different effort to really understand how they works. But even if a sprint lasts a month, I will still write bi-weekly reports so you can follow the project.
- Scraping data with Selenium + Python. :heavy_check_mark:
- Starting the Flask API :heavy_check_mark:
- Why containerize our application, and how?
- ELK Stack as platform for Logs, Metrics, APM, Uptime and more!
- Add meaningful logs to our app.
- Why use Gateway API?
- Kong as our Gateway API.
- Integrating Kong with ELK Stack.
- Is our API working? Tests, tests, tests…
- Kubernetes 101 (Maybe ECS 101)
- Create a local cluster
- First Steps
- Node Selector
- Canary Deployment
- Persistent Volume
- Ingress Controller
- Pushing our Docker images to Harbor.
- Argo CI as our deployment tool.
- Deploying our API on Kubernetes.
- Improve the observability.
- Performance Improvement
- Deployment Approaches
- Blue-Green Deployment
- Canary Release
- New Internal API
- Service Mesh to the rescue… or not!
In parallel with all this fun stuff I would like to talk more about other stuff:
- Change Management
- Emergency Response
- Incident Response
- Capacity Planning