SlideShare a Scribd company logo
1 of 50
Download to read offline
Vinicius Carvalho - Advisory Platform Architect @Pivotal
@vccarvalho
http://github.com/viniciusccarvalho/
Schema Evolution for
Data Microservices
The way we build
software
Servlet JSP Struts JSF Spring GWT Angular
time
Customer
DB
JSONXMLJava Serialization
Format evolution
What happens when
data evolves?
How do we handle
versioning?
Monolithic
architectures
Account
User
Product
Order
Common jar
<dependency>
<groupId>com.acme</groupId>
<artifactId>common-domain</artifactId>
<version>1.1.3</version>
</dependency>
RECOMMENDATION
SEARCHCATALOG
Updates?
1.1.3 1.1.1
0.9.5
Enterprise Service Bus
RECOMMENDATION
SEARCH CATALOGCanonical Message
Format
Haven’t we solved
this already?
Yes, But …
• Majority of ESB systems uses XML as
the Canonical Model
• XML is good for structure, but it
has no notion of evolution
• It’s heavy
And then there’s
this µService thing
Bounded Contexts
Contexts Maps
Aggregates
Value Objects
Anti corruption
Layer
Ownership
Sam Newman’s Building Microservices
Who owns this?
MSDN CQRS Journey ebook
CQRS?
Data evolution
…
• Data evolution is a
hard problem to
grasp
• Even in known
territories such as
traditional RDBMS
is a hard problem
to tackle
Schema Evolution
“The problem of evolving a data schema to
adapt it to a change in modeled reality”
Services Evolution
behavioral
structural
New functions are
added to the system
Information model
changes over time
Backward
compatibility
• Newer version can
read old version
• Challenges:
Field renaming
V1
V2
Forward
compatibility
• Older version can
read new version
• Challenges:
Field renaming
Field removal
V1
V2
Request / Response
RECOMMENDATIONUser
GET /v1/…
RECOMMENDATIONUser
GET /v2/…
Data Streaming
▪@EnableBindings(Source.class)
▪one output
▪@EnableBindings(Sink.class)
▪one input
▪@EnableBinding(Processor.class)
▪one input and one output
▪@EnableBinding(MyOrderHandler.class)
▪custom interfaces with as many inputs and outputs
▪@EnableRxJavaProcessor
▪OOTB support for RxJava with one input and one
output
@Enable All the
things
Binder SPI
Formats
Choosing the right one
Structure
Adaptability
Guarantees a contract
between users of the
model
How flexible the
format is for changes
on it’s structure
BenchmarkingBecause … we love it
Format Structure Adaptability
CSV
Positional,
no type definition
Possible if appending
new columns
XML
flexible,
strong typed
Append, remove only via
version (no standard)
supports defaults
JSON
flexible,
untyped
Append and remove are
handled by parser
no support for defaults
Avro
flexible,
strong typed
Append, Removal
supports defaults
Version is built in
Payload
public class Sensor {
private String id;
private float temperature;
private float velocity;
private float acceleration;
private float[] accelerometer;
private float[] magneticField;
private float[] orientation;
}
How much do you
weight?
0
150
300
450
600
Payload Size (bytes)
514
237
93
Avro JSON XML
0
1000
2000
3000
4000
Read Write
3,4833,433
1,3001,333
Avro JSON
How fast?
Features
✓ Compact
✓ Strongly typed
✓ Adaptable
✓ Versioned
✓ Centralized
ImplementationFinally we get to see something concrete
Spring Cloud Stream
Source
spring:
cloud:
stream:
bindings:
output:
destination: sensor-topic
contentType: “avro/binary”
W
OR
KIN
PR
OG
R
E
SS
Activates the converter
Avro Converter
• Scans the classpath for *.avsc
files and register them
• During writes, infer the schema
from payload (SpecificDatum,
GenericDatum, Reflection)
• During reads uses message
headers to discover the schema
being used
Source Sink
Content-Type: avro/binary
X-Schema-Name: acme.User
Headers
Avro Converter
- Demo -
Avro Converter
Good, but …
Avro Converter
• Each component still needs the
avsc file
• Avro versioning only works if
both writer and reader schemas
are available
• Transmitting the schema with the
message is an overhead
Schema registry
• Centralized store for schemas
• Idempotent registration (same
schema payload always return the
same id)
• Compatibility test
• Schema utilization
Idempotent
registration
Schema
Registry
user
user
user
version: 1
user
user
version: 2
Schema registry
• Allows developers to check if new
schemas can break existing ones in
the registry
• BACKWARD: new schema can read old
versions
• FORWARD: Old schema can read new
version
• FULL: BACKWARD + FORWARD
Schema utilization
{
"registrations" : [
{"application-name":"user-producer",
"type" : "source"
},
{"application-name":"user-enricher",
"type" : "processor"
},
{"application-name":"user-filter",
"type" : "processor"
}
]
}
GET /schemas/user/{version}
Schema registry
- Demo -
Sink
Content-Type: avro/binary
X-Schema-Id: 17
Headers
Writer’s schema
spring:
cloud:
stream:
bindings:
input:
destination: sensor-topic
schema: “org.acme.Sensor”
Reader’s schema
Source Processor Sink
1. Register and
obtain schema id
Payload
2. Reads headers
fetch writer’s
schema
Schema
Registry
Stream
Content-Type: avro/binary
X-Schema-Id: 17
Headers
References
• Martin Kleppmann Schema Evolution in avro, thrift and protobufers: https://
martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html
• http://dataintensive.net/ - Martin Kleppmann
• The CQRS Journey: https://msdn.microsoft.com/en-us/library/jj554200.aspx
• Oracle Datastore schema evolution : https://docs.oracle.com/cd/NOSQL/html/
GettingStartedGuide/schemaevolution.html
• Building Microservices by Sam Newman: http://samnewman.io/books/building_microservices/
• Apache Avro: https://avro.apache.org/docs/1.7.7/gettingstartedjava.html
• https://github.com/viniciusccarvalho/schema-evolution-samples

More Related Content

What's hot

2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
Enpel
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる
崇之 清水
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2
teejug
 

What's hot (20)

Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
 
Amazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみるAmazon SNS Mobile Push を使ってみる
Amazon SNS Mobile Push を使ってみる
 
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
 
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
 
Sencha ExtJS를 활용한 물류 통합 관리솔루션 개발 사례
Sencha ExtJS를 활용한 물류 통합 관리솔루션 개발 사례Sencha ExtJS를 활용한 물류 통합 관리솔루션 개발 사례
Sencha ExtJS를 활용한 물류 통합 관리솔루션 개발 사례
 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorial
 
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
 
Security Testing using ZAP in SFDC
Security Testing using ZAP in SFDCSecurity Testing using ZAP in SFDC
Security Testing using ZAP in SFDC
 
【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Battle Of The Microservice Frameworks: Micronaut versus Quarkus edition!
Battle Of The Microservice Frameworks: Micronaut versus Quarkus edition! Battle Of The Microservice Frameworks: Micronaut versus Quarkus edition!
Battle Of The Microservice Frameworks: Micronaut versus Quarkus edition!
 
Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2Une (simple) présentation de Apache Maven 2
Une (simple) présentation de Apache Maven 2
 
Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...Microservices Interview Questions and Answers | Microservices Architecture Tr...
Microservices Interview Questions and Answers | Microservices Architecture Tr...
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
 
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 

Viewers also liked

What Crimean War gunboats teach us about the need for schema registries
What Crimean War gunboats teach us about the need for schema registriesWhat Crimean War gunboats teach us about the need for schema registries
What Crimean War gunboats teach us about the need for schema registries
Alexander Dean
 
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Chad Dickerson
 

Viewers also liked (19)

Microservices - modern software architecture
Microservices - modern software architectureMicroservices - modern software architecture
Microservices - modern software architecture
 
Performing Data Science with HBase
Performing Data Science with HBasePerforming Data Science with HBase
Performing Data Science with HBase
 
What Crimean War gunboats teach us about the need for schema registries
What Crimean War gunboats teach us about the need for schema registriesWhat Crimean War gunboats teach us about the need for schema registries
What Crimean War gunboats teach us about the need for schema registries
 
From Big to Fast Data. How #kafka and #kafka-connect can redefine you ETL and...
From Big to Fast Data. How #kafka and #kafka-connect can redefine you ETL and...From Big to Fast Data. How #kafka and #kafka-connect can redefine you ETL and...
From Big to Fast Data. How #kafka and #kafka-connect can redefine you ETL and...
 
Cloud Native Data Pipelines (QCon Shanghai & Tokyo 2016)
Cloud Native Data Pipelines (QCon Shanghai & Tokyo 2016)Cloud Native Data Pipelines (QCon Shanghai & Tokyo 2016)
Cloud Native Data Pipelines (QCon Shanghai & Tokyo 2016)
 
DevOps, CD and [Data] Microservices
DevOps, CD and [Data] MicroservicesDevOps, CD and [Data] Microservices
DevOps, CD and [Data] Microservices
 
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
 
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red HatThe Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
 
Context Mapping In Action
Context Mapping In ActionContext Mapping In Action
Context Mapping In Action
 
Spark + HBase
Spark + HBase Spark + HBase
Spark + HBase
 
File Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & ParquetFile Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & Parquet
 
Thrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased ComparisonThrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased Comparison
 
DevOps, Microservices and containers - a high level overview
DevOps, Microservices and containers - a high level overviewDevOps, Microservices and containers - a high level overview
DevOps, Microservices and containers - a high level overview
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A Study
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
sbt, history of JSON libraries, microservices, and schema evolution (Tokyo ver)
sbt, history of JSON libraries, microservices, and schema evolution (Tokyo ver)sbt, history of JSON libraries, microservices, and schema evolution (Tokyo ver)
sbt, history of JSON libraries, microservices, and schema evolution (Tokyo ver)
 

Similar to Schema Evolution for Resilient Data microservices

End-to-end Data Governance with Apache Avro and Atlas
End-to-end Data Governance with Apache Avro and AtlasEnd-to-end Data Governance with Apache Avro and Atlas
End-to-end Data Governance with Apache Avro and Atlas
DataWorks Summit
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
JBug Italy
 

Similar to Schema Evolution for Resilient Data microservices (20)

Advanced Container Scheduling
Advanced Container SchedulingAdvanced Container Scheduling
Advanced Container Scheduling
 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and Scheduling
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormation
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
 
Turning object storage into vm storage
Turning object storage into vm storageTurning object storage into vm storage
Turning object storage into vm storage
 
Case Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets at Cisco IntercloudCase Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets at Cisco Intercloud
 
Case Study: Elasticsearch Ingest Using StreamSets @ Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets @ Cisco IntercloudCase Study: Elasticsearch Ingest Using StreamSets @ Cisco Intercloud
Case Study: Elasticsearch Ingest Using StreamSets @ Cisco Intercloud
 
OS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of ML
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
End-to-end Data Governance with Apache Avro and Atlas
End-to-end Data Governance with Apache Avro and AtlasEnd-to-end Data Governance with Apache Avro and Atlas
End-to-end Data Governance with Apache Avro and Atlas
 
Our way to microservices
Our way to microservicesOur way to microservices
Our way to microservices
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormation
 
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
 
Azure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAzure, Cloud Computing & Services
Azure, Cloud Computing & Services
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio Soldano
 
April 2010 - JBoss Web Services
April 2010 - JBoss Web ServicesApril 2010 - JBoss Web Services
April 2010 - JBoss Web Services
 

Recently uploaded

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Schema Evolution for Resilient Data microservices