#mm19d
Flamingo - Inspiring
Commerce Frontend
Made in Go
1
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
#mm19d
Flamingo - Inspiring
Commerce Frontend
Made in Go
3
Daniel Pötzinger Bastian Ike
20 years experience of building and scaling enterprise web
applications
Content of this talk
1. The problem that Flamingo solves
2. Go – the better programming language
4. Flamingo Commerce – what is it
5. Flamingo Commerce – and Magento
3. What is Flamingo
Motivation
How to build modern e-commerce applications
more personalization &
targeted Content
= NO frontend caching
Don’t be “Standard”!
Differentiate!
= increased complexity,
more integrations,
multiple channels
Headless (Commerce) Solutions
e commerce architecture - trend
• support omnichannel
strategies
• Decoupling & Risk
reduction
• Rapid (frontend) design
Microservices
e commerce architecture - trend
• Split a complex solution in
independent services
• Scalability and maintainability
Essential (Base) Complexity
Productivity
Monolith
Microservices
What e-commerce architecture to choose?
(cart, campaigns)
E-commerce Frontend
(Marketplace Shop)
Another Shop
(Whitelabel)
Enterprise
Search
(external)
Loyalty
our e-commerce target architecture
Order
Management
Marketplace
Payment
Product
Management
cart / campaign
Headless
CMS
Stock
…
(external)
ERP
How would you love to develop
commerce applications?
Is PHP still the right development
language for this?
??
How would you love to develop commerce applications?
• Performance:
Highly dynamic fast content rendering Individual Personalization and Context aware
rendering
• Clean architecture
• Flexibility in a Microservice architecture:
Flexible to use in microservice oriented individual architectures. Useable with
„headless“ (commerce) services No Build and deploy overhead
• Frontend development flexibility:
Decouple frontend build pipeline from „backend“ logic
• Testability
• Developer Experience:
Effective and Fun to use * low learning curve
• Open Source
Is PHP still the right development language for this?
• Fast Development cycles
• Easy onboarding
• Happy developers
• Focus on writing code. Not tooling.
• Small memory+cpu footprint
Is PHP the right development language for this?
• Webserver included
• Compiled / Type Safe
• Concurrency
• Easy to learn - build to scale
• Supported by Google
• Increasing Interest and Success
Introducing Go
• Founded 2009 at Google
• Motivated by the need to create a language
which is easy to learn, operate and scale
• Rapid grow in the last 3 years
4 out of 6 graduated Cloud Native Computing Foundation
projects using Go
The Go Programming Language
• Type safe
• No type confusion
• No inheritance
• Composition over inheritance
• Implicit interfaces
• If it quacks, it’s can be duck
• No complex exception handling
• You have to deal with your errors
• Easy concurrency
• Go routines and channels
The Go Toolchain
• Build-in Dependency management
• “go modules”
• Minimal Version Selection
• Static and cross-platform compilation
• Linux, Windows, Mac, FreeBSd
• x86, arm, ppc, mips
• No additional tooling needed
Getting started with Go
• Do the interactive tour at
https://tour.golang.org
• Take a look into the standard lib at
https://golang.org/pkg/
• Enjoy development with Flamingo J
Blazing fast commerce experience
Carotene
Flamingo is a
lightweight open
source web application
framework written in
Go.
Flamingo Commerce:
Flexible set of
commerce features –
following clean
architecture.
Npm modules that
provide frontend build
pipeline – featuring
pug, sass, webpack
and atomic design
patternUse Flamingo Core to
build sophisticated web
applications with
tailored frontends.
Use Flamingo
Commerce to build
indiviual e-commerce
applications or your
head for headless
e-commerce
Open sources with from
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Frontend
Backend for Frontend
Magento
Adapter
Adobe
Adapters
Custom
Adapters
• Serverside business
logic & data
provisioning
• Session
management
• Data security and IT
security
• ACL for Integrations
with resilience and
caching features
• Logging and Tracing
Flamingo Commerce Architecture
Next.Js / Browser
Backend for Frontend
React.js
Components
Relay or
Apollo
Flamingo Frontend Options
SPA, MPA or PWA - Decide for the best option for your project.
Carotene
Restful API GraphQLWeb
Interfaces
Individual MPAServer side rendering OR
Clean architecture
Domain Driven Design Ports and Adapters
Flamingo commerce
Bounded Contexts with its domain models
Cart
• Multi delivery
• Multi payment
Product
• Product Types
• Simple
• Configurable
Search
• SearchService
• Documents
…
CartProduct Search
…
• Easy to use and decoupled
• Potent models
• Technology neutral domain model
Flamingo commerce
Bounded Contexts with its domain models
Flamingo – Ports and Adapters
Technology Free Domain Model
Application Use Cases
Adapters to the outside / Web Controllers
Technical details (e.g. accessing a microservice)
Domain of “Product”
Context
Interface Layer
Flamingo – Ports and Adapters
<<interface>>
ProductService
.Get (id)
Used as primary port:
• The product service is called from the
interface layer for example
(in a ProductViewController)
ProductController
.ViewAction
Product
Product Module
Adapter Module Product Module
Domain of “Product”
Context
Interface Layer
Flamingo – Ports and Adapters
<<interface>>
ProductService
.Get (id)
ProductController
.ViewAction
Infrastructure
Layer
ProductServiceAdapter
Get (id) {…}
Used as secondary port:
• The product service is
implemented
by a secondary adapter
Product
Flamingo commerce
CartProduct Search
…
Standalone Adapters
(CSV, In Memory Cart)
Try it out demoshop.flamingo.me
Flamingo commerce – bounded contexts
CartProduct Search
…
Commercetools Adapter Module
Flamingo commerce
CartProduct Search
…
Magento Adapter Module
Flamingo Magento Modules
(community project)
Product export Cart API Orders API
Cart AdapterCSV Loader
Product Index
(In Memory)
Order Adapter
OIDC
Summary – when to consider
When developer experience is
important
When you need to build maintainable
and scalable e-commerce solutions
When you want to use the benefits of
the language Go.
Register for the first training
(40 seats)
https://bit.ly/2UhQKfG
Di., 27.08.2019, 09:00 Uhr –
Mi., 28.08.2019, 17:00 Uhr MESZ
Wiesbaden, AOE Headquarter
Blazing fast commerce experience layer
Open sources with from
www.flamingo.me
@aoepeople

More Related Content

PPTX
Flamingo presentation at code.talks commerce by Daniel Pötzinger
PDF
Flamingo Commerce Intro
PDF
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
PDF
Flamingo Commerce Ports and Adapters
PDF
Flamingo Carotene
PPT
Meet Magento Belarus - Elena Leonova
PDF
How to choose frontend (head) for headless commerce.
PPTX
Magento 2 looks like.
Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo Commerce Intro
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
Flamingo Commerce Ports and Adapters
Flamingo Carotene
Meet Magento Belarus - Elena Leonova
How to choose frontend (head) for headless commerce.
Magento 2 looks like.

What's hot (20)

PPT
Composite C1 Presentaion
PDF
Outlook on Magento 2
PDF
Awesome architectures in Magento 2.3
PDF
Decoupled Days 2019: Delivering Headless Commerce
PPTX
Vue Storefront Basics
PDF
Magento: Enterprise and Community editions - An overview
PPT
Magento, OXID, xt:commerce - evaluation guide for enterprises
DOC
DhabaleLingaraj-Resume
PDF
IBM_Analytics_06_45_26_AM (1)
PPTX
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
PDF
Serverless chatbot: from idea to production at blazing speed
PDF
Headless commerce for developers - How to start a store
PPT
Emakina Academy #13 : Betafence Website
PDF
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
PDF
03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
PPT
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
PPT
Flex vs HTML5
PPSX
Weaver Fx Slide Show
PPTX
What content strategists need to demand from the CMS guys
PDF
Building Flash-based websites using Adobe Flex - Lesson 1/10
Composite C1 Presentaion
Outlook on Magento 2
Awesome architectures in Magento 2.3
Decoupled Days 2019: Delivering Headless Commerce
Vue Storefront Basics
Magento: Enterprise and Community editions - An overview
Magento, OXID, xt:commerce - evaluation guide for enterprises
DhabaleLingaraj-Resume
IBM_Analytics_06_45_26_AM (1)
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Serverless chatbot: from idea to production at blazing speed
Headless commerce for developers - How to start a store
Emakina Academy #13 : Betafence Website
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
Flex vs HTML5
Weaver Fx Slide Show
What content strategists need to demand from the CMS guys
Building Flash-based websites using Adobe Flex - Lesson 1/10
Ad

Similar to Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019 (20)

PPTX
Latest trends in information technology
PDF
IBM Domino 10: A new chapter begins
PPT
RSA Conference 2006 (Linkedin)
PDF
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
PPTX
Magnolia 6 release walkthrough
PDF
Meetup. Technologies Intro for Non-Tech People
PDF
Zapbuild Portfolio
PDF
The Spirit of Opensource - contribution as a strategy for growth and innova...
PPTX
Oxagile company presentation
PPTX
FluentD for end to end monitoring
PDF
The Magic of flutter Comex oman 2019
PPTX
Micro Frontends.pptx
PDF
ITCamp 2013 - Petru Jucovschi - Application ecosystems
PPTX
Cross Platform Mobile Application Architecture
PPTX
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
PPT
01. Portal Business Overview
PPTX
Building SharePoint Online applications using Napa Office 365 Development Tools
PDF
An Introduction to Microservices
PPTX
Open Source Everything...including documentation
PDF
eZ Systems Product Workshop Slides
Latest trends in information technology
IBM Domino 10: A new chapter begins
RSA Conference 2006 (Linkedin)
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Magnolia 6 release walkthrough
Meetup. Technologies Intro for Non-Tech People
Zapbuild Portfolio
The Spirit of Opensource - contribution as a strategy for growth and innova...
Oxagile company presentation
FluentD for end to end monitoring
The Magic of flutter Comex oman 2019
Micro Frontends.pptx
ITCamp 2013 - Petru Jucovschi - Application ecosystems
Cross Platform Mobile Application Architecture
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
01. Portal Business Overview
Building SharePoint Online applications using Napa Office 365 Development Tools
An Introduction to Microservices
Open Source Everything...including documentation
eZ Systems Product Workshop Slides
Ad

More from AOE (20)

PDF
Re-inventing airport non-aeronautical revenue generation post COVID-19
PDF
A bag full of trust - Christof Braun at AOE Conference 2018
PDF
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
PDF
Frankfurt Airport Digitalization Case Study
PDF
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
PDF
AOEconf17: Application Security
PPTX
AOEconf17: AOE Tech Radar Insights
PDF
AOEconf17: A flight through our OM³ Systems
PDF
AOEconf17: AOE Tech Radar Insights
PDF
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
PPTX
AOEconf17: Agile scaling concepts
PDF
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
PDF
AOEconf17: UI challenges in a microservice world
PDF
AOEconf17: Application Security - Bastian Ike
PPTX
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
PDF
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
PDF
Joern Bock: The basic concept of an agile organisation
PPTX
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
PDF
SUPER-scaling E-Commerce with Magento
PDF
How to eat an elephant
Re-inventing airport non-aeronautical revenue generation post COVID-19
A bag full of trust - Christof Braun at AOE Conference 2018
Digitalizing the Global Travel Retail World - Kian Gould at Global Retailing ...
Frankfurt Airport Digitalization Case Study
This is what has to change for Travel Retail to survive - Manuel Heidler, AOE
AOEconf17: Application Security
AOEconf17: AOE Tech Radar Insights
AOEconf17: A flight through our OM³ Systems
AOEconf17: AOE Tech Radar Insights
AOEconf17: Pets vs. Cattle - modern Application Infrastructure - by Fabrizio ...
AOEconf17: Agile scaling concepts
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEconf17: UI challenges in a microservice world
AOEconf17: Application Security - Bastian Ike
AOEconf17: Management 3.0 - the secret to happy, performing and motivated sel...
AOEconf17: How to eat an elePHPant, congstar style - Timo Fuchs & Stefan Rotsch
Joern Bock: The basic concept of an agile organisation
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
SUPER-scaling E-Commerce with Magento
How to eat an elephant

Recently uploaded (20)

PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Architecture types and enterprise applications.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPT
What is a Computer? Input Devices /output devices
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
Modernising the Digital Integration Hub
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
Microsoft Excel 365/2024 Beginner's training
PPTX
Training Program for knowledge in solar cell and solar industry
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Developing a website for English-speaking practice to English as a foreign la...
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Getting started with AI Agents and Multi-Agent Systems
Custom Battery Pack Design Considerations for Performance and Safety
Benefits of Physical activity for teenagers.pptx
Architecture types and enterprise applications.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
OpenACC and Open Hackathons Monthly Highlights July 2025
A proposed approach for plagiarism detection in Myanmar Unicode text
sustainability-14-14877-v2.pddhzftheheeeee
What is a Computer? Input Devices /output devices
Improvisation in detection of pomegranate leaf disease using transfer learni...
Modernising the Digital Integration Hub
sbt 2.0: go big (Scala Days 2025 edition)
Microsoft Excel 365/2024 Beginner's training
Training Program for knowledge in solar cell and solar industry
Final SEM Unit 1 for mit wpu at pune .pptx
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Developing a website for English-speaking practice to English as a foreign la...

Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019

  • 1. #mm19d Flamingo - Inspiring Commerce Frontend Made in Go 1
  • 3. #mm19d Flamingo - Inspiring Commerce Frontend Made in Go 3
  • 5. 20 years experience of building and scaling enterprise web applications
  • 6. Content of this talk 1. The problem that Flamingo solves 2. Go – the better programming language 4. Flamingo Commerce – what is it 5. Flamingo Commerce – and Magento 3. What is Flamingo
  • 7. Motivation How to build modern e-commerce applications
  • 8. more personalization & targeted Content = NO frontend caching
  • 9. Don’t be “Standard”! Differentiate! = increased complexity, more integrations, multiple channels
  • 10. Headless (Commerce) Solutions e commerce architecture - trend • support omnichannel strategies • Decoupling & Risk reduction • Rapid (frontend) design
  • 11. Microservices e commerce architecture - trend • Split a complex solution in independent services • Scalability and maintainability
  • 13. (cart, campaigns) E-commerce Frontend (Marketplace Shop) Another Shop (Whitelabel) Enterprise Search (external) Loyalty our e-commerce target architecture Order Management Marketplace Payment Product Management cart / campaign Headless CMS Stock … (external) ERP
  • 14. How would you love to develop commerce applications? Is PHP still the right development language for this? ??
  • 15. How would you love to develop commerce applications? • Performance: Highly dynamic fast content rendering Individual Personalization and Context aware rendering • Clean architecture • Flexibility in a Microservice architecture: Flexible to use in microservice oriented individual architectures. Useable with „headless“ (commerce) services No Build and deploy overhead • Frontend development flexibility: Decouple frontend build pipeline from „backend“ logic • Testability • Developer Experience: Effective and Fun to use * low learning curve • Open Source
  • 16. Is PHP still the right development language for this? • Fast Development cycles • Easy onboarding • Happy developers • Focus on writing code. Not tooling. • Small memory+cpu footprint
  • 17. Is PHP the right development language for this? • Webserver included • Compiled / Type Safe • Concurrency • Easy to learn - build to scale • Supported by Google • Increasing Interest and Success
  • 18. Introducing Go • Founded 2009 at Google • Motivated by the need to create a language which is easy to learn, operate and scale • Rapid grow in the last 3 years
  • 19. 4 out of 6 graduated Cloud Native Computing Foundation projects using Go
  • 20. The Go Programming Language • Type safe • No type confusion • No inheritance • Composition over inheritance • Implicit interfaces • If it quacks, it’s can be duck • No complex exception handling • You have to deal with your errors • Easy concurrency • Go routines and channels
  • 21. The Go Toolchain • Build-in Dependency management • “go modules” • Minimal Version Selection • Static and cross-platform compilation • Linux, Windows, Mac, FreeBSd • x86, arm, ppc, mips • No additional tooling needed
  • 22. Getting started with Go • Do the interactive tour at https://tour.golang.org • Take a look into the standard lib at https://golang.org/pkg/ • Enjoy development with Flamingo J
  • 23. Blazing fast commerce experience
  • 24. Carotene Flamingo is a lightweight open source web application framework written in Go. Flamingo Commerce: Flexible set of commerce features – following clean architecture. Npm modules that provide frontend build pipeline – featuring pug, sass, webpack and atomic design patternUse Flamingo Core to build sophisticated web applications with tailored frontends. Use Flamingo Commerce to build indiviual e-commerce applications or your head for headless e-commerce Open sources with from
  • 29. Frontend Backend for Frontend Magento Adapter Adobe Adapters Custom Adapters • Serverside business logic & data provisioning • Session management • Data security and IT security • ACL for Integrations with resilience and caching features • Logging and Tracing Flamingo Commerce Architecture
  • 30. Next.Js / Browser Backend for Frontend React.js Components Relay or Apollo Flamingo Frontend Options SPA, MPA or PWA - Decide for the best option for your project. Carotene Restful API GraphQLWeb Interfaces Individual MPAServer side rendering OR
  • 31. Clean architecture Domain Driven Design Ports and Adapters
  • 32. Flamingo commerce Bounded Contexts with its domain models Cart • Multi delivery • Multi payment Product • Product Types • Simple • Configurable Search • SearchService • Documents …
  • 33. CartProduct Search … • Easy to use and decoupled • Potent models • Technology neutral domain model Flamingo commerce Bounded Contexts with its domain models
  • 34. Flamingo – Ports and Adapters Technology Free Domain Model Application Use Cases Adapters to the outside / Web Controllers Technical details (e.g. accessing a microservice)
  • 35. Domain of “Product” Context Interface Layer Flamingo – Ports and Adapters <<interface>> ProductService .Get (id) Used as primary port: • The product service is called from the interface layer for example (in a ProductViewController) ProductController .ViewAction Product Product Module
  • 36. Adapter Module Product Module Domain of “Product” Context Interface Layer Flamingo – Ports and Adapters <<interface>> ProductService .Get (id) ProductController .ViewAction Infrastructure Layer ProductServiceAdapter Get (id) {…} Used as secondary port: • The product service is implemented by a secondary adapter Product
  • 37. Flamingo commerce CartProduct Search … Standalone Adapters (CSV, In Memory Cart)
  • 38. Try it out demoshop.flamingo.me
  • 39. Flamingo commerce – bounded contexts CartProduct Search … Commercetools Adapter Module
  • 41. Flamingo Magento Modules (community project) Product export Cart API Orders API Cart AdapterCSV Loader Product Index (In Memory) Order Adapter OIDC
  • 42. Summary – when to consider When developer experience is important When you need to build maintainable and scalable e-commerce solutions When you want to use the benefits of the language Go.
  • 43. Register for the first training (40 seats) https://bit.ly/2UhQKfG Di., 27.08.2019, 09:00 Uhr – Mi., 28.08.2019, 17:00 Uhr MESZ Wiesbaden, AOE Headquarter
  • 44. Blazing fast commerce experience layer Open sources with from www.flamingo.me @aoepeople