and many choices • Can handle many types of events • Comparatively cheap Google Cloud Function, AWS Lambda, IBM Cloud Functions, Azure Functions etc. Cons • Not much control in terms of hardware • Can not really handle resource heavy work • Completely separate platform
of middleware components that are essential to modern app development The following Knative components are currently available: • Eventing - Management and delivery of events • Serving - Request-driven compute that can scale to zero
launch specific build or delivery tools that ingest specific inputs and produce specific outputs. TaskRun Instantiates a Task for execution with specific inputs, outputs, and execution parameters. Can be invoked on its own or as part of a Pipeline. Pipeline Defines a series of Tasks that accomplish a specific build or delivery goal. Can be triggered by an event or invoked from a PipelineRun. PipelineResource Defines locations for inputs ingested and outputs produced by the steps in Tasks. PipelineRun Instantiates a Pipeline for execution with specific inputs, outputs, and execution parameters.
Sources ◦ generate events from different sources (k8s, github, pub/sub, container) • Channels ◦ buffer between event producers and consumers • Subscriptions ◦ forward events from channels to services or other channels
producer can generate events before a consumer is listening, and a consumer can express an interest in an event or class of events that is not yet being produced. 3. Services can be connected to create new applications ◦ without modifying producer or consumer. ◦ with the ability to select a specific subset of events from a particular producer