Distributed Service Bundles For Cloud Foundry Krishanu Biswas, Product & Engineering Manager, SAP
Motivation Today, applications are not merely client-server anymore but distributed Distributed software place challenging demands on how workloads are provisioned and consumed Cloud Foundry entails a model of app to service consumption. Apps (majorly stateless) are bound to backing services like databases, message brokers. In the enterprise space, we see more & more use-cases for service to service consumption
Think Change Data Capture Pipeline Database as the single-source of truth Changes extracted from transaction or commit log Written to messaging system Constituent services in the pipeline read from the messaging system References Debeizium – open source project by RedHat, offering support for Oracle, MySQL, PostgreSQL and a few NoSQL DBs LinkedIn Databus webapp database writes kafka extract changes … index cache ML monitoring
Example: A Simple Blogging Site Ingest the Blogs and store the basic metadata about a blog in an RDBMS Index the text content for discovery and text based search Aggregated view on how many blogs the site received in a specific period of time (windowing) Feed the text into an ML Service for classification and clustering purposes Add/remove services in future Blogging Site Search [Elastic Search] Clustering [ML Service] Blogs Database Blogs | metadata Change Data Distributed Systems A collection of independent computers/systems/services appears to its users as a single coherent system Aggregates [Spark] …
Distributed Service Bundles – Think Composites! In Cloud Foundry realm, each backing service in itself is distributed and represented by an independent plan in CF marketplace Set of services bundled together creating a composite service that is deployed, un-deployed, managed, updated, operated, monitored & scaled together and thereby enabling inter-service communication allowing credential & message exchange between the constituent services Be able to flexibly modify the composition of the bundle as the business model/technology underneath changes Composition is the KEY – Allow bundling and wiring of individual services as a unit services composite service = bundle Distributed Systems A collection of independent computers/systems/services appears to its users as a single coherent system wired & deployed
What We Need! An automated way to provision these services as a single unit / bundle, wherein the wiring of these services is automated and controlled by a Service Broker Welcome to Service Fabrik Broker (open source) https://github.com/SAP/service-fabrik-broker Proposed for incubation Multi-cloud Battle-tested – being used within SAP and for SAP customers for years to deploy/operate production grade BOSH and Docker services (developer only) Service Fabrik = Service Factory A set of tools which can be used to provision, manage and operate backing services @scale for Cloud Foundry applications in an automated & managed way on a variety of cloud infrastructures Distributed Systems A collection of independent computers/systems/services appears to its users as a single coherent system
Service Fabrik
Service Fabrik Advantage Provision, manage and operate service instances @scale for Cloud Foundry applications Multi-cloud: run services on OpenStack, AWS, Azure or GCP Integrated Monitoring, Alerting and (Audit) Logging In an automated & managed way [Monitoring, Logging, Security, …] Backup & Restore - automated & scheduled Managed update/upgrade Enabling seamless application development & deployment experience using backing services Battle-tested – being used within SAP and for SAP customers to deploy/operate production ready services From single node Docker service instances for development Security via CF security groups and infra security groups To multi-node highly available clustered setup for production environment …
Sentiment Analyzer App Demo Setup AWS Jumpbox BOSH Cloud Foundry Service Fabrik BOSH Releases Kafka, Zookeeper Postgres Redis Tweet Ingesting App Postgres Transaction Log … Kafka Database #tags | metadata Sentiment Analyzer App
Call to action Stay Tuned!!! Try SAP Cloud Platform https://cloudplatform.sap.com/try.html Find out more on Service Fabrik @: https://github.com/SAP/service-fabrik-broker https://github.com/SAP/service-fabrik-boshrelease Know More About SAP’s Contributions to Cloud Foundry https://cloudplatform.sap.com/capabilities/runtimes-containers/cloud-foundry/cf-contributions.html Stay Tuned!!!