Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Event driven services with Knative

Event driven services with Knative

Building event driven services with Knative eventing

Ram Gopinathan

January 17, 2019
Tweet

More Decks by Ram Gopinathan

Other Decks in Technology

Transcript

  1. 2 § Knative Overview § Eventing overview & design goals

    § Event Sources § Channels & Subscriptions § Architecture Options § Installing Knative Eventing § Demo (Real world usecase) § Q/A Agenda
  2. 3 § Full stack engineer with 22+ years of experience

    creating software § Core focus on distributed systems development § Golang & Java Developer § Contact § Twitter: @rprakashg § Github: rprakashg § Blog: http://rprakashg.io/blog About Me T-Mobile Confidential
  3. 4 Simple 1-click build and deploy, configurable when you need

    to Source to container or URL safely within your cluster Extendable Easy to configure event sources Plugable event bus and persistence Automatic Automatically deploys containers and provision ingress Scale based on requests Scale down to zero • Set of primitives (build, events, serving...) • Solves for modern development patterns • Implements learnings from Google, partners github.com/knative Join Knative community knative/docs/community Have questions? Knative.slack.com Knative News? @KnativeProject Ingredients for Serverless
  4. 6 6 T-Mobile Confidential “Knative Eventing is a system that

    is designed to address a common need for cloud native development and provides composable primitives to enable late-binding event sources and event consumers”
  5. 7 7 T-Mobile Confidential § Loosely coupled § Event producers,

    consumers and sources are independent § Connect other services to the eventing system § Cross service Interoperability § Consistent with CloudEvents specifications developed by CNCF serverless WG Eventing – Design goals
  6. 8 § Each event source is a kubernetes custom resource

    § KubernetesEventSource § Fires new event each time a kubernetes event is created or updated § GithubSource § Fire a new event for selected Github event types § AwsSqsSource § Fires a new event when a message is published to SQS topic § ContainerSource § Instantiate container image which can generate events § GcpPubsubSource § Fires a new event when a message is published to GCP Pubsub topic § Check out https://github.com/knative/docs/tree/master/eventing /sources for more details Event Sources
  7. 9 § Channel § Persistent Layer § Custom implementations can

    be created via “ClusterChannelProvisioner” object § Subscription § Used to deliver events to service § Forward to other channels (possibly of different event type) Channels & Subscriptions
  8. 10 10 Architecture options T-Mobile Confidential Event Source Service Simple

    Advanced Event Source Channel Service Channel Service Service Event Types Legend Subscription
  9. 11 11 T-Mobile Confidential § Requires Knative Serving and Istio

    1.0 or later installed on your K8s cluster § https://github.com/knative/docs/blob/master/install/README.md § Install Eventing Core § Install Eventing sources § Install ”GcpPubsub” event source (Optional) Knative Eventing - Installation