Fundamentals of Backend Engineering

Course Feature
  • Cost
    Paid
  • Provider
    Udemy
  • Certificate
    Paid Certification
  • Language
    English
  • Start Date
    2023-03-11
  • Learners
    No Information
  • Duration
    No Information
  • Instructor
    Hussein Nasser
Next Course
4.7
15,534 Ratings
Get a comprehesive understanding of Fundamentals of Backend Engineering. This is a pay course from Udemy. 2X Class provides this course data for free. Learn more certificate and details here. Learn the art of Backend Engineering with this comprehensive course! With 18 years of experience, the instructor reveals the most common communication design patterns used in backend applications. Explore protocols like HTTP&11, HTTP&2, gRPC, and more, and understand their pros and cons for different use cases. Dive into connection establishment, request parsing, and execution styles, equipping yourself with troubleshooting skills and better performance optimization. This intermediate-advanced level course is perfect for engineers who have built backend applications. Don't miss out on this opportunity to enhance your skills and take your career to the next level!
Show All
Course Overview

❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.

Updated in [October 07th, 2023]

What does this course tell?
(Please note that the following overview content is from the original platform)
Backend engineering is an art During my 18 years career working with and building backend applications I discovered that certain communication design patterns keep emerging There are only handful of ways clients communicate with backend applications although they might be more I believe the patterns I discuss in this course are the most common Examples of these patterns are request-response publish-subscribe short and long and pushBased on these communication design patterns engineers may use a number of protocols for concrete communication While core transport vehicles are limited to either TCP or UDP tons of industry specific protocols are built on top of these two to address certain problems and use cases Examples of these high level protocols are HTTP&11 HTTP&2 HTTP&3 gRPC WebRTC and many more Other transport protocols like QUIC was built on top of UDP to bring HTTP&2 streaming down at the transport level Each protocol has its pros and cons and fits certain use cases In the course I discuss the top common protocols and provide examples and demos where applicableBefore the client can send a request it has to establish a connection to the backend Understanding how the connection is established and what parts of connection establishment is done at kernel and what parts are done at the backend application process is critical How the connection is then accepted by the backend application and how it can accept connections as fast as possible so the kernel queue doesn't get full otherwise clients can no longer connectAfter the connection is established the client sends the request but what happens exactly in the backend application to read the request? What exactly is a request? Understanding the cost of parsing a request based on the protocol makes the engineer appreciate the work done and equip her with better tools to troubleshoot performance problems or bugsOnce the request reaches the backend the application has to execute the request The backend has a buffet of design choices when it comes to the style of execution it can choose Understanding the difference between a process and a thread multi-process multi-threaded and the correlation to the number of CPU cores or hardware threads is crucial to pick the right execution pattern One does not have to stick with these patterns but can invent new ones that suits their needsThis course is designed for engineers who have built backend applications it is an intermediate advance level course certain programming and networking knowledge is required so I recommend taking my fundamentals of network engineering course before taking this course if you don't have the networking skills I hope you enjoy this course and thank you so much for considering it

We considered the value of this course from many aspects, and finally summarized it for you from two aspects: skills and knowledge, and the people who benefit from it:
(Please note that our content is optimized through artificial intelligence tools and carefully reviewed by our editorial staff.)
What skills and knowledge will you acquire during this course?
During the course "Fundamentals of Backend Engineering," learners will acquire the following skills and knowledge:
1. Communication Design Patterns: Understand the common communication design patterns between clients and backend applications, such as request-response, publish-subscribe, short and long, and push.
2. Protocols: Gain knowledge about various protocols used for communication, including HTTP/1.1, HTTP/2, HTTP/3, gRPC, WebRTC, and more. Explore their pros, cons, and use cases.
3. Connection Establishment: Learn how connections are established between clients and backend applications. Understand the roles of the kernel and backend application in connection establishment and how to optimize connection acceptance to prevent kernel queue overflow.
4. Request Parsing: Understand the process of reading and parsing requests in the backend application. Gain insights into the cost of parsing requests based on the protocol used, enabling better troubleshooting of performance issues and bugs.
5. Request Execution: Explore different execution styles in the backend application, such as process-based, thread-based, multi-process, and multi-threaded. Understand the correlation between execution patterns and CPU cores or hardware threads.
6. Intermediate to Advanced Level: This course is designed for engineers with prior experience in building backend applications. It is recommended to have certain programming and networking knowledge. If lacking networking skills, it is suggested to take the "Fundamentals of Network Engineering" course before enrolling in this course.
Note: The course aims to provide specific and detailed knowledge in a concise manner, without unnecessary information.
Who will benefit from this course?
This course on Fundamentals of Backend Engineering will benefit engineers who have already built backend applications and are looking to enhance their skills and knowledge in this field. It is an intermediate to advanced level course, so it is suitable for individuals with certain programming and networking knowledge.
Specific professions that will benefit from this course include:
1. Backend Engineers: This course will provide backend engineers with a deeper understanding of communication design patterns and protocols used in backend applications. It will equip them with the knowledge to choose the right protocols for specific use cases and troubleshoot performance issues.
2. Software Developers: Developers who work on the backend of applications will benefit from this course as it covers various execution patterns and design choices. It will help them make informed decisions regarding process/thread management and optimize the execution of requests.
3. Network Engineers: While this course assumes a certain level of networking knowledge, it can also benefit network engineers who want to gain a better understanding of backend communication and how it relates to network protocols like TCP, UDP, HTTP, gRPC, etc.
4. System Architects: Professionals involved in designing and architecting backend systems will find value in this course. It covers important aspects such as connection establishment, request parsing, and execution patterns, which are crucial for designing scalable and efficient backend architectures.

Course Syllabus

Introduction

Backend Communication Design Patterns

Protocols

Many ways to HTTPS

Backend Execution Patterns

Proxying and Load Balancing

Extras

Show All
Recommended Courses
nodejs-masterclass-express-mongodb-openai-more-2023-1936
NodeJS Masterclass (Express MongoDB OpenAI & More) - 2023
5.0
Udemy 2,025 learners
Learn More
Get a comprehesive understanding of NodeJS Masterclass (Express MongoDB OpenAI & More) - 2023. This is a pay course from Udemy. 2X Class provides this course data for free. Learn more certificate and details here. Are you interested in becoming a skilled Nodejs developer? Look no further than the NodeJS Masterclass! This comprehensive course is designed to teach you everything you need to know about Nodejs, even if you have zero prior knowledge. With big-name companies like PayPal, LinkedIn, and Netflix utilizing Nodejs, the demand for skilled developers is expected to soar in the future. Whether you're a beginner or have some basic experience, this course covers everything from the basics to advanced topics like integrating with CHATGPT & OPENAI and deploying Nodejs applications. Don't miss out on the opportunity to excel in the exciting world of Nodejs development!
backend-web-development-python-djangodatabases-git-api-1937
Backend Web Development - Python DjangoDatabases Git API
4.3
Udemy 2,948 learners
Learn More
Get a comprehesive understanding of Backend Web Development - Python DjangoDatabases Git API. This is a pay course from Udemy. 2X Class provides this course data for free. Learn more certificate and details here. Learn Backend Web Development with Python Django and gain the skills that major tech employers are seeking. This course will teach you how to build and maintain the server-side of a website, including the application and database. Python, a popular programming language, will be used for web development, software development, mathematics, and system scripting. With its simple syntax and ability to run on different platforms, Python is a versatile language for rapid prototyping or production-ready software development. Additionally, you will learn how to use Django, a high-level Python web framework, to quickly and securely build scalable web applications. Start your journey to becoming a sought-after backend developer today!
python-for-mobile-apps-backend-apis-flask-framework-1938
Python for mobile apps backend & APIs (Flask framework)
3.4
Udemy 210 learners
Learn More
Get a comprehesive understanding of Python for mobile apps backend & APIs (Flask framework). This is a pay course from Udemy. 2X Class provides this course data for free. Learn more certificate and details here. Learn how to build powerful backend servers for your mobile app with Python! In this course, you'll discover practical solutions to the most challenging problems faced while building a mobile application. From connecting your app to a secure and efficient backend server, to understanding how popular apps like Snapchat and Instagram handle massive amounts of content, this course covers it all. You'll also learn how to connect your server to databases, secure your API, scale your application, and even deploy deep learning models. Join now and take your mobile app to the next level!
build-a-backend-project-with-nodejs-expressjs-mongodb-1939
Build a Backend Project with NodeJS ExpressJS MongoDB
3.8
Udemy 1,251 learners
Learn More
Get a comprehesive understanding of Build a Backend Project with NodeJS ExpressJS MongoDB. This is a pay course from Udemy. 2X Class provides this course data for free. Learn more certificate and details here. Learn how to build a full backend from scratch with this comprehensive course on NodeJS, ExpressJS, and MongoDB. Provided by Coding Beam, this course is perfect for beginners looking to familiarize themselves with backend development. Discover the tools used by professionals, including npm, ExpressJS, MongoDB, Mongoose, and Postman. Gain hands-on experience creating packages, APIs, models, schemas, routes, and more. With no special requirements, just a basic understanding of JavaScript and NodeJS, you can start building your own backend projects today. Don't miss out on this limited-time offer, enroll now for just Rs 360 with code NEW_STUDENT.
Favorites (0)
Favorites
0 favorite option

You have no favorites

Name delet
arrow Click Allow to get free Fundamentals of Backend Engineering courses!