Nguồn
The Most Beloved Burger for Developers
Tại sao lại là Burger?
Bánh mì hamburger là một món ăn phổ biến, nó bao gồm nhiều thành phần như thịt, các loại rau, sốt, và bánh mì kẹp ngoài, mọi thứ được kết hợp lại với nhau để tạo ra một món ăn ngon.
Phát triển phần mềm cũng giống như vậy, nó bao gồm nhiều thành phần như frontend, backend, database, và nhiều hơn nữa, mọi thứ được kết hợp lại với nhau để tạo ra một ứng dụng hoàn chỉnh. Cả frontend và backend đều sẽ có những chiếc burger cho riêng mình, góp phần tạo nên thành công cho một ứng dụng.
Bài viết này sẽ tập trung vào một chiếc burger cho backend. Tùy vào giai đoạn phát triển của một công ty, ta lại có những chiếc burger khác nhau. Ta sẽ chỉ tập trung vào một công ty ở giai đoạn đầu, khi nguồn lực còn hạn chế và chưa chắc chắn về product/market fit. Thêm nữa, tiêu chí chính là sự linh hoạt.
Các thành phần của Backend Burger
Bắt đầu từ trên xuống. Đối với containerization, chúng ta không chọn gì cả. Để có được sự linh hoạt tối đa, chúng ta sẽ chọn serverless functions. Serverless functions có một mô hình lập trình request/response rất nghiêm ngặt, nhưng trong đó, hầu hết serverless functions đều được đóng gói dưới dạng container.
Về kiến trúc, Serverless là ngon nhất với chúng ta. Với serverless computing, ta chỉ trả tiền cho tài nguyên ta sử dụng, và không cần lo lắng về việc cung cấp, mở rộng, hoặc duy trì máy chủ. Điều này giúp giải phóng thời gian và nguồn lực để tập trung vào các tính năng cần có của sản phẩm.
Với CI/CD, ta chọn Github Actions. Ở giai đoạn này, ta không cần tự thiết lập CI/CD.
Với API, chỉ có thể là REST. REST là tiêu chuẩn giữa client và server.
Với hệ thống quản lý phiên bản (version control systems hay VCS), GitHub là được.
Với caching, cache trình duyệt và CDN là hai phần quan trọng nhất để cải thiện trải nghiệm người dùng. CDN đi kèm miễn phí với hầu hết các nhà cung cấp hosting như Vercel và Netlify. Nếu không thì chỉ cần sử dụng Cloudflare.
Với frameworks, ta sẽ sử dụng Next.js và host cả frontend và backend trên Vercel, nghĩa là dùng Express.js với Typescript ở phía backend. Một ngôn ngữ cho cả frontend và backend.
Với testing, sẽ hơi gây tranh cãi một chút nhưng ta thực sự không quá cần testing cho giai đoạn sớm như thế này, trừ một số unit testing đơn giản. Khi tìm thấy product/market fit và bắt đầu mở rộng công ty, ta sẽ đầu tư nhiều hơn vào testing (hứa luôn :v).
Với database, ta sẽ sử dụng Aurora Serverless nếu mô hình dữ liệu phức tạp, hoặc Firestore / Firebase nếu dữ liệu đơn giản.
Bạn có thể xem các lựa chọn khác có thể có cho Burger của mình ở hình dưới nhé. Chúc các bạn thành công.
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty Sửa bài viết