Build, Deploy, and Host a Backend From A to Z

preview_player
Показать описание
✔️ Hostinger code for 10% off: ARJANCODES

In today's video, I'll show you how to build, deploy, and host a backend from start to finish. I’ll walk through the entire process, covering everything you need to know to get your application up and running.

🎓 Courses:

👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!

Social channels:

👀 Code reviewers:
- Yoriz
- Ryan Laursen
- Dale Hagglund
- Kit Hygh
- Alexander Milden
- Bean

🔖 Chapters:
0:00 Intro
0:24 The Build Process
7:13 Hosting
10:11 Deploy process
13:00 Summary
13:49 Outro

#arjancodes #softwaredesign #python

DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!
Рекомендации по теме
Комментарии
Автор

✔ Hostinger code for 10% off: ARJANCODES

ArjanCodes
Автор

Just a few tips for who wants to dig further on Docker and CI:
1. It is better to copy the pyproject.toml and poetry.lock files after installing poetry, since those files can change often and will invalidate the cache of the layers (instructions) after them;
2. Instead of using build args to build the dev or production container, one can use multi stage build to create a dev image with everything installed, and a production image starting from scratch/distroless images and copying over only the bare minimum to run python and the app.
3. You can reverse the deployment logic and use GitOps principle with a service like portainer - you create a docker compose file that you will commit to a repository monitored by portainer, so that when you update the version (it can be done by hand o via automation) it detects the changes and updates the running configuration.

AndreaGhensi
Автор

Great guide! It would be awesome with a video covering setting up SSL!

Golgafrincham
Автор

Great base to start. At the end consider giving a list of short examples that are out of scope for the video that people can continue in. Theres a lot more topics that people can learn to get the deployment production ready. Docker swarm, k8, revproxy for multiple services, letsencrypt, hosting templating tools like nginx-ui, load balancers for uptime, deeper testing methods, etc. This topic is endlessly large and many people dont know where to begin searching.

CRutgerX
Автор

It's also important to talk about versioning - maybe for a single personal website it's not that important. When working in a multi-server environment (e.g. dev/test/prod) it's critical, and also when deploying into multiple servers (e.g. k8s cluster, especially when using blue green deployment or similar)

YossiZinger
Автор

I would be interested in a video on how you setup the certificate/https side of things

christianjohnson
Автор

Great overview. I would love to see how you setup SSL certificates and the dns on the web server to map request to a domain name.

alexiicarey
Автор

This kind of content is mostly appreciated

JPy
Автор

That's super helpful. Could you add the CI/CD pipeline YAML files? I don't see them in the repo. Thanks Arjan! You've been crushing it lately.

MaxShapirareal
Автор

Great video as always Arjan. May I suggest a video on the topic of handling secrets. For example In this video you needed a SSH_PRIVATE_KEY in order to connect to the VPS. It would be great to have your insight on we should handle such secrets. Thanks for sharing.

EusebioResende
Автор

Thank you Arjun for making this video. It's very interesting to see people's approaches to the software management and deploy cycle.

bbowling
Автор

You have the best code examples, Arjan. Thank you 🙏

jake
Автор

Nice video! However, containerization doesn't really automatically solve architecture compatibility issues. For example, if you build a container image with a compiled Rust application on an x86 system, it won't run on an ARM system. What you can do is using Docker Buildx and configure it to build images for multiple architectures.

Smon
Автор

2:34 For the docker I usually don't install poetry itself as it adds up to the size, i create separate docker-requirements file which i use to install all the dependencies. I also use a slim version of python for the same reason.

_rozto
Автор

I would appreciate a video about imports. Struggling to make two files in siblings folders see each other was not a pleasant surprise from Python.

M_
Автор

Very interested in a video about port forwarding, networking, certificates, this kind of things :D

Tyzer
Автор

@ArjanCodes Docker is great. Extra work is usually required, however, to run the image on different CPU architectures. Maybe a short video about the challenges/solutions for multi-architecture development and deployment is helpful since Arm is an increasingly targeted? (M1+, Graviton, Pi, etc.). (i.e. Arm is now the preferred arch for most of our workloads on AWS). (Note: Fun projects I've done is to deploy simple services like you demonstrate on Raspberry Pi or an old repurposed Android phone. They are surprisingly capable and the latter has a UPS!)

Thanks for the great content...you're the gold standard for easy to understand design pattern learning.

jim-i-am
Автор

Thanks Arjan, would be cool if you extended this to run some unit tests or integration tests. thanks again

Pirake
Автор

The owner of the company I work for is said to be conservative and old-school - he wants to have as much as possible of what I develop hosted on-prem, so that's what I give him. Maybe he's more modern than I thought :)

roaldkleiveland
Автор

Thank you - very useful video (and well made, nice touches like the occasional zoom shift). +1 for https certs explanation.

richardlucas