Skip to main content
CF

Rust as a Service

6h 13m 47s
English
Paid

Learn how to build and run Rust services in a clear, practical way. You work through real service features and see how they fit together.

Build Core Service Features

You start with a REST server. You add routes, handle data, and return clean errors. You also break code into small modules so you can keep the project easy to read and grow.

Work With Tools That Support Your Service

You add tracing to track requests. You set up OpenAPI so others can see and use your API. You also load settings for each environment, like local, test, and production.

Use Other Ways to Connect

You explore gRPC and WebSockets. These help when you need streams, typed messages, or faster calls than REST.

Deploy a Test Service

You run your service in a container. You learn how to build the image, run it, and check logs. You also see how to scale the service and plan for growth.

Prepare for Real Projects

You gain a clear view of how Rust fits into service design and deployment. When you finish, you can build and ship Rust services with confidence.

Additional

https://github.com/thebracket/ArdanRustService

About the Author: Ardan Labs

Ardan Labs thumbnail

Ardan Labs is a US training company founded by William Kennedy, focused almost entirely on Go (Golang) and the systems-engineering disciplines around it. Bill Kennedy is one of the most cited Go educators alive — co-author of Go in Action (Manning), maintainer of the Ardan Labs blog, and the lead instructor on a multi-track Go syllabus that runs from beginner through ultimate-Go advanced engineering.

The CourseFlix listing under this source carries nineteen Ardan Labs courses — covering Go language fundamentals, concurrency, advanced engineering patterns, Kubernetes (Bill teaches Go as the implementation language for cloud infrastructure), and the data-engineering / AI tracks Ardan added in recent years. Material is paid and aimed at engineers serious about Go as a career-defining language rather than as a syntax pickup.

Watch Online 59 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 59 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1. Introduction
All Course Lessons (59)
#Lesson TitleDurationAccess
1
1. Introduction Demo
05:59
2
2.1 Minimal HTTP Server
09:10
3
2.2 Understanding the Service Stack
06:59
4
2.3.1 Path Extraction
05:44
5
2.3.2 Query Extraction
04:11
6
2.3.3 Header Extraction & 2.3.4 More Extractors
06:30
7
2.4 Add a Simple Tower Layer: State
07:20
8
2.5 Add a Simple Tower Layer (Mutable State)
06:19
9
2.6 Multiple States
08:57
10
2.7 Quick Recap on State and Layers
02:45
11
2.8 Nesting Multiple Routers
05:38
12
2.9 Nested Routers with State
05:37
13
2.10 Calling Other Services
05:36
14
2.11 Returning Status Codes
02:45
15
2.12 Using IntoResponse and 2.13 Error Handling with IntoResponse
11:52
16
2.14 Quick Recap on Nesting, Making Calls and Responses
02:25
17
2.15 Serving Static Content with Tower
04:53
18
2.16 Simple Header-Based Authentication
04:14
19
2.17 Simple Header-Based Auth with Middleware
08:03
20
2.18 Middleware Auth with Injection
05:54
21
2.19 Selectively Applying Layers
02:18
22
2.20 Router Layers
07:06
23
2.21 Layer Recap
01:59
24
3.1 Minimal Example
05:49
25
3.2 Logging Axum/Tower
03:15
26
3.3 Timing Spans
05:30
27
3.4 Axum Spans
05:52
28
3.5 Logging to a File
05:13
29
3.6 Structured Logging to JSON
02:21
30
3.7 OpenTelemetry & 3.7.1 Hello Telemetry
18:29
31
4.0 OpenAPI Documentation
11:41
32
5.1 Environment Variables with .env
08:35
33
5.2 The Config Crate
11:39
34
5.3 Loading Config via HTTP
07:17
35
5.4 CLI configuration with Clap
10:08
36
6.1 Hello Tonic
06:35
37
6.2 Hello Tonic - Project Definition and Build
08:26
38
6.3 Hello Tonic - The Server
08:30
39
6.4 Hello Tonic - The Client
05:04
40
6.5 gRPC Streaming and 6.6 Protocol Definition
04:19
41
6.7 gRPC Streaming - The Server
05:04
42
6.8 gRPC Streaming - The Client
03:25
43
6.9 Recap So Far
01:37
44
6.10 Authentication
08:10
45
6.11 Tracing
04:02
46
6.12 When to use gRPC
02:57
47
7.1 Minimal Echo Server
08:53
48
7.2 A native WS client
03:12
49
7.3 JSON
07:13
50
8.0 Service Deployment
05:53
51
8.1 Build a Test Service & 8.2 Native Host Deployment
09:18
52
8.3 Docker Deployment
07:55
53
9.0 Service Design
05:09
54
9.1 Understanding Your Company Architecture
09:55
55
9.2 Designing Individual Services (9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.2.5)
14:12
56
9.3 Combining Services into a Modular Monolith
03:43
57
9.4 Service Exposure
03:43
58
9.5 Scaling Out
07:33
59
10.0 Wrap Up
00:56
Unlock unlimited learning

Get instant access to all 58 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
This course is designed for individuals with a basic understanding of Rust programming. Familiarity with web service concepts and HTTP is beneficial, as the course begins with building a REST server and progresses to more advanced topics like gRPC and WebSockets. No prior knowledge of specific tools like Tower or Tonic is required, as the course covers their usage in detail.
What projects will I work on during the course?
Students start with a REST server, adding routes and handling data. You will then work on adding tracing, integrating OpenAPI, and setting up environment-specific settings. The course also includes building and deploying services in containers, exploring gRPC and WebSockets for real-time communication, and scaling services for production environments.
Who is the target audience for this course?
This course is ideal for software developers and engineers looking to expand their skills in Rust and gain practical experience in building and running Rust-based services. It suits those interested in learning about service deployment, using modern communication protocols, and integrating observability tools within service architecture.
How does this course compare in depth and scope to other Rust courses?
Unlike many Rust courses that focus solely on the language itself, this course delves into practical service development. It covers topics like REST server creation, gRPC, WebSockets, and service deployment using Docker. The course teaches integration with tools such as OpenAPI and tracing, providing a comprehensive view of how Rust fits into service-oriented architecture.
What specific tools and platforms are covered in the course?
The course covers a variety of tools and platforms including Tower for middleware layers, Axum for building HTTP servers, Tonic for gRPC, and Docker for containerization. It also teaches setting up OpenAPI for API documentation and using tools like OpenTelemetry and the Config Crate for observability and configuration management, respectively.
What topics or skills are not covered in this course?
The course does not cover basic Rust programming fundamentals in depth, assuming prior knowledge. It also does not delve into front-end development or non-service-based Rust applications. The focus is strictly on building and deploying backend services using Rust and does not include topics like database management or UI development.
What is the expected time commitment for completing the course?
The course comprises 59 lessons of varying lengths, and while the total runtime is not specified, students should anticipate a significant time investment. Given the comprehensive nature of topics such as setting up a REST server, implementing gRPC, and deploying services with Docker, expect to spend several weeks completing the course, depending on your pace and familiarity with the material.