Slides from a presentation to Rust Dublin Meetup group where I discussed why you should look at rust for backend services. Which Rust HTTP framework to use and how to deploy that onto OpenShift knative.
4. What are containers? VMs vs Containers
Containers are isolated, but share OS and, where
appropriate, bins/libraries …faster, less overhead
Host OS
Server
Guest
OS
Bins/
Libs
VM
Hypervisor (Type 2)
App
A
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppA’
AppB’
AppB’
Container
App
A`
Guest
OS
Bins/
Libs
App
A`
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
App
B`
Guest
OS
Bins/
Libs
5. What industries do you work in using Rust Full time?
https://blog.rust-lang.org/2020/04/17/Rust-survey-2019.html
Rust Largest Use Case - Backend Web Applications
@dhigit9
10. 10
The Trade Off for New Runtimes
New Software Development LifeCycle
• Code Refactoring
• New Tools
New Operational Constraints
• Runtime Characteristics
• Debugging
Security Implications
Still uses GCed Runtime (Java/Node.js/Go)
@dhigit9
11. The Truth about GC
https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f
@dhigit9
12. Rust Compared to GCed Runtime (Go)
https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f
@dhigit9
13. 13
• Benefits of Rust for HTTP Services ✅
• Select a HTTP Framework
• Align software development process
@dhigit9
19. 19
Picking a Framework Conclusion
Align your values with the framework!
Tide
Fast and friendly HTTP server framework
Collaboration focus
Active Discord
Architecture similar to Node.js middleware
@dhigit9
20. 20
• Benefits of Rust for HTTP Services ✅
• Select a HTTP Framework ✅
• Align software development process
@dhigit9
23. Introducing Knative
Knative is a serverless 2.0 environment that extends Kubernetes
Middleware components
Modern, source-centric, and container-based applications
Can run anywhere:
on premises, in the cloud, or even in a third-party data center.
@dhigit9
24. • Knative vs Serverless Platforms
User defined resource management with sensible defaults
Container approach gives wider language support
No Execution Timeout
More portability options
@dhigit9