Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Knative versus AWS Lambda and Azure Functions

October 19, 2023
Maarten Vandeperre
Related topics:
KubernetesServerless
Related products:
Red Hat OpenShift

Share:

    When we chat about serverless, we often bring up Knative, AWS Lambda, and Azure Functions. Let's not forget Google's version, although I will keep it simple in this article. These tech toys might seem like they compete with each other, but from a clean architecture angle, they are not exactly playing the same game. If you’re new to clean architecture, feel free to check out the article, Implementing clean architecture solutions: A practical example for reference.

    My perspective of clean architecture

    Here's the deal... When I put on my clean architecture glasses, Knative fits snugly in the Kubernetes playground, making it a core part of your platform (Figure 1). In this setup, the platform itself becomes sort of like an application within the clean architecture model, which is similar to the positioning of Red Hat OpenShift within the hypervisors landscape as described in my previous article.

     

    An illustration of clean architecture and onion layered.
    Figure 1: An illustration of clean architecture and onion layered.

    On the flip side, AWS Lambdas, Azure Functions, and their buddies are more about handling the nitty-gritty infrastructure. They're all about storage, triggers, and other techy bits (Figure 2).

    An illustration of the serverless design the clean architecture way.
    Figure 2: An illustration of the serverless design the clean architecture way.

    So, if we map these serverless pals to a clean architecture-style setup, I go back to that onion layer concept we talked about before (see Figure 3). AWS Lambda, Azure Functions, and their gang become part of the infrastructure/data providers layer, which is kind of like the outer layer of the onion. But Knative, it hangs out in the core layer like the cool kid in town.

    The cool thing is that Knative isn't tied to any specific vendor, so you can shift it around – from your own servers to AWS, from AWS to Google, or even to Azure – without messing with the core layer. All the action happens in the infrastructure layer, keeping things neat and tidy. Therefore, this setup lines up with the clean architecture vibes. You can spot this in the illustration below, where we tap into the built-in connection between S3 buckets and AWS Lambda to kickstart a Knative function.

    The blue box is tailored to a specific hypervisor (like AWS in this case), while the green one is flexible and works with any hypervisor. If you ever decide to switch to Azure, all you need to do is recreate the blue box in Azure and copy and paste the green part there too. Since the green part is our clean architecture core layer,"shifting functions between hypervisors becomes a breeze (quick and hassle-free).

    An example of serverless computing with clean architecture style design.
    Figure 3: An example of serverless computing with clean architecture style design.

    Implement clean architecture

    If you want to give clean architecture a try, go explore my demo code on GitHub. Please feel free to comment below. We welcome your feedback.

    Related Posts

    • Implementing clean architecture solutions: A practical example

    • Common architectural elements for modern integration architectures (Part 2)

    • Reference Architecture for Agile Integration

    • My advice for transitioning to a clean architecture platform

    Recent Posts

    • How to enable Ansible Lightspeed intelligent assistant

    • Why some agentic AI developers are moving code from Python to Rust

    • Confidential VMs: The core of confidential containers

    • Benchmarking with GuideLLM in air-gapped OpenShift clusters

    • Run Qwen3-Next on vLLM with Red Hat AI: A step-by-step guide

    What’s up next?

    Learn how to create an Apache Camel integration and deploy it as a serverless service using the VS Code extension Karavan.

    Start learning
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue