SlideShare a Scribd company logo
1 of 30
Download to read offline
BrikL
A GraphQL Native
Tobias Meixner
Co-Founder & CTO
Brikl Ltd - www.brikl.io
12 April 2019
Agenda
2
▪ Startup Life
▪ BrikL GraphQL Journey
▪ Our GraphQL Stack
Tobias Meixner
3
▪ Born in Berlin
(born before it was cool)
▪ In Asia for over 6 years
▪ Based in Bangkok
& Guangzhou
▪ Co-Founder & CTO @
▪ @MeixnerTobias
Startup Life
Developing software on fire
5
6
Actually it is ... most of the time...
What is a startup?
7
▪ Focus on growth
▪ Solve a problem
▪ More questions than answers
▪ Find product/market fit
8
Startup Valley of Death
Source: Osawa and Miyazaki, 2006
9 Source: https://www.leadingagile.com/2017/11/planning-technical-debt/
Leverage
▪ Incur intentionally
for a purpose
▪ Useful when
cost-effective
Waste
▪ Sloppy coding
▪ Refactoring has no
immediate benefit
Technical Debt
Dev in Startup...
10
▪ Move fast, break
things?
▪ Delete more than you
add?
▪ Crave for stability and
a constant?
BrikL constants since 2016
11
BrikL & GraphQL
Journey with GraphQL as constant
About BrikL
13
▪ 2D & 3D
Design studio
▪ E-commerce
Platform for
Custom-Made
Products
▪ www.brikl.io
Why GraphQL
14
▪ Pure focus on Frontend development
▫ MVP-style / UI-Driven development
▪ GraphQL Schema as major constant in our
development
▪ GraphQL Schema as discussion base
between project shareholders
MVP (2016)
15
▪ React
▪ Redux
▪ graphql-js
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
Based on:
serverless/serverless-graphql
v1 (2017)
16
▪ React
▪ Redux Apollo Client
▪ graphql-js Apollo Server
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
BrikL GraphQL Stack
“Serverless GraphQL”
2018 - Today
18
▪ React
▪ Apollo Client
▪ Apollo Server
▪ AWS Lambda (NodeJS)
▪ Amazon DynamoDB
▪ + Gatsby
▪ + Apollo Engine
▪ + Elasticsearch
▪ + Tooling:
▫ Serverless framework
▫ Cypress
▫ Sentry
▫ Netlify + CircleCI
▫ AWS stuff
Architecture
19
▪ Serverless from Day 1
▪ Managed Services where possible
▪ GraphQL as thin layer
▪ DynamoDB to
▫ Store “State”
▫ Emit events to streams
▫ Similar to Hasura 3factor app
Architecture
20
CDN
Engine
Server
DynamoDB S3
Glue
Elasticsearch
ETL
Stream
Cognito
JWT Authn/z
X-Ray Logs
ClientGatsby API
Real
time
Gatsby
21
▪ Source data from GraphQL
▪ Generate storefront pages
▪ Source data based on
selected store integrations
▫ Instagram, …
▪ Future > Content Mesh
Apollo Client
22
▪ Query, Mutation components
▪ In-Memory-Cache
▪ Link Context > JWT
▪ Error link > Sentry
▪ HTTP Link > CDN vs POST
▪ SSR in Gatsby
Apollo Server
23
▪ Apollo Server Lambda
▪ Apollo Engine
▪ Context > User, Config
▪ Cache Control > CDN
▪ graphql-shield > Authz
▪ graphql-tools > make Schema
Schema directives
24
▪ Authorization
▪ Formatting
▪ Validation
▪ Data sourcing & ORM
@makeSthAwesome
Schema-first
25
▪ Great fit for getting started
▪ High velocity for startups
▪ Schema directives to rescue
▫ Schema = ORM
▫ SchemaDirectiveVisitor
Schema directives @ BrikL
26
▪ S3
▪ DynamoDB
▪ Elasticsearch
S3 directive
27
DynamoDB directive
28
What’s next?
29
▪ Typescript / Code-first?
▪ State Management
▪ publish DynamoDB Datasource library
▪ Subscriptions...
Thank you
Questions?
Find me at the speaker hours ~5pm
See you in

More Related Content

What's hot

What's hot (20)

Condé Nast Italy: Serverless Cost Optimization
Condé Nast Italy: Serverless Cost OptimizationCondé Nast Italy: Serverless Cost Optimization
Condé Nast Italy: Serverless Cost Optimization
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Activiti Cloud Overview & BluePrint: Trending Topic Campaigns
Activiti Cloud Overview & BluePrint: Trending Topic CampaignsActiviti Cloud Overview & BluePrint: Trending Topic Campaigns
Activiti Cloud Overview & BluePrint: Trending Topic Campaigns
 
Customer Information File in NoSQL Database
Customer Information File in NoSQL DatabaseCustomer Information File in NoSQL Database
Customer Information File in NoSQL Database
 
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSSLessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
Lessons Learned: From Java EE to Spring Cloud in the context of Activiti OSS
 
Creating Data Driven HTML5 Applications
Creating Data Driven HTML5 ApplicationsCreating Data Driven HTML5 Applications
Creating Data Driven HTML5 Applications
 
Cloud: Shift in the Mindset
Cloud: Shift in the MindsetCloud: Shift in the Mindset
Cloud: Shift in the Mindset
 
Activiti & Activiti Cloud DevCon
Activiti & Activiti Cloud DevConActiviti & Activiti Cloud DevCon
Activiti & Activiti Cloud DevCon
 
Cloud Native and CNCF
Cloud Native and CNCFCloud Native and CNCF
Cloud Native and CNCF
 
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
Lessons Learned: Spring Cloud -> Docker -> KubernetesLessons Learned: Spring Cloud -> Docker -> Kubernetes
Lessons Learned: Spring Cloud -> Docker -> Kubernetes
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Google cloud infrastructure workshop
Google cloud infrastructure workshopGoogle cloud infrastructure workshop
Google cloud infrastructure workshop
 
Automate your Dynamics 365 admin tasks with Flow!
Automate your Dynamics 365 admin tasks with Flow!Automate your Dynamics 365 admin tasks with Flow!
Automate your Dynamics 365 admin tasks with Flow!
 
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid TriyadiMultisite Implementation Within Nonprofit Organization by Wigid Triyadi
Multisite Implementation Within Nonprofit Organization by Wigid Triyadi
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with Forge
 
Sugcon 2018 Highlights
Sugcon 2018 HighlightsSugcon 2018 Highlights
Sugcon 2018 Highlights
 
Part 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - KitematicPart 3 Docker Concepts - Kitematic
Part 3 Docker Concepts - Kitematic
 
Creating Data Driven HTML5 Applications
Creating Data Driven HTML5 ApplicationsCreating Data Driven HTML5 Applications
Creating Data Driven HTML5 Applications
 
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
CRMUGUK 11 09-18 - Go with the Flow with Dynamics 365
 
GatsbyJS - A static site generator in React
GatsbyJS - A static site generator in ReactGatsbyJS - A static site generator in React
GatsbyJS - A static site generator in React
 

Similar to BrikL - A GraphQL Native - GraphQL Asia 2019

Similar to BrikL - A GraphQL Native - GraphQL Asia 2019 (20)

Workflow Engines + Luigi
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + Luigi
 
What's new in ms graph api nilesh shah 5 apr 2018
What's new in ms graph api nilesh shah 5 apr 2018What's new in ms graph api nilesh shah 5 apr 2018
What's new in ms graph api nilesh shah 5 apr 2018
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018MongoDB Charts Meetup - 7-24-2018
MongoDB Charts Meetup - 7-24-2018
 
Getting started with BigQuery
Getting started with BigQueryGetting started with BigQuery
Getting started with BigQuery
 
JS digest. April 2018
JS digest. April 2018JS digest. April 2018
JS digest. April 2018
 
[Public] 7 archetipi della tecnologia moderna [italy]
[Public] 7 archetipi della tecnologia moderna [italy][Public] 7 archetipi della tecnologia moderna [italy]
[Public] 7 archetipi della tecnologia moderna [italy]
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
IV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless ArchitectureIV Technology Workshop GFT - AWS Serverless Architecture
IV Technology Workshop GFT - AWS Serverless Architecture
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
 
Coinietrade Project Overview
Coinietrade Project OverviewCoinietrade Project Overview
Coinietrade Project Overview
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Google Cloud Dataflow
Google Cloud DataflowGoogle Cloud Dataflow
Google Cloud Dataflow
 
JAMstack with gatsby, contentful and netlify aka the dream stack
JAMstack with gatsby, contentful and netlify aka the dream stackJAMstack with gatsby, contentful and netlify aka the dream stack
JAMstack with gatsby, contentful and netlify aka the dream stack
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
 
[Public] 7 arquetipos de la tecnología moderna [españa]
[Public] 7 arquetipos de la tecnología moderna [españa][Public] 7 arquetipos de la tecnología moderna [españa]
[Public] 7 arquetipos de la tecnología moderna [españa]
 
NE Scala 2016 roundup
NE Scala 2016 roundupNE Scala 2016 roundup
NE Scala 2016 roundup
 
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.govNot Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
Not Your Father’s Web App: The Cloud-Native Architecture of images.nasa.gov
 
WSO2 Workshop Sydney 2016 - Analytics
WSO2 Workshop Sydney 2016 -  AnalyticsWSO2 Workshop Sydney 2016 -  Analytics
WSO2 Workshop Sydney 2016 - Analytics
 

More from Tobias Meixner

More from Tobias Meixner (7)

Public GraphQL APIs
Public GraphQL APIsPublic GraphQL APIs
Public GraphQL APIs
 
GraphQL Server - Single point of opportunities
GraphQL Server - Single point of opportunitiesGraphQL Server - Single point of opportunities
GraphQL Server - Single point of opportunities
 
GraphQL Asia Speakers
GraphQL Asia SpeakersGraphQL Asia Speakers
GraphQL Asia Speakers
 
GraphQL Bangkok meetup 5.0
GraphQL Bangkok meetup 5.0GraphQL Bangkok meetup 5.0
GraphQL Bangkok meetup 5.0
 
GraphQL Meetup Bangkok 4.0
GraphQL Meetup Bangkok 4.0GraphQL Meetup Bangkok 4.0
GraphQL Meetup Bangkok 4.0
 
GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0
 
GraphQL Bangkok Meetup 2.0
GraphQL Bangkok Meetup 2.0GraphQL Bangkok Meetup 2.0
GraphQL Bangkok Meetup 2.0
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 

BrikL - A GraphQL Native - GraphQL Asia 2019