SlideShare a Scribd company logo
1 of 44
Download to read offline
#mm19d
Flamingo - Inspiring
Commerce Frontend
Made in Go
1
#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
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

What's hot

Composite C1 Presentaion
Composite C1  PresentaionComposite C1  Presentaion
Composite C1 Presentaionjakobbartholdy
 
Awesome architectures in Magento 2.3
Awesome architectures in Magento 2.3Awesome architectures in Magento 2.3
Awesome architectures in Magento 2.3Alessandro Ronchi
 
Decoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceDecoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceMatt Glaman
 
Magento: Enterprise and Community editions - An overview
Magento: Enterprise and Community editions - An overviewMagento: Enterprise and Community editions - An overview
Magento: Enterprise and Community editions - An overviewLydia Shah
 
Magento, OXID, xt:commerce - evaluation guide for enterprises
Magento, OXID, xt:commerce - evaluation guide for enterprisesMagento, OXID, xt:commerce - evaluation guide for enterprises
Magento, OXID, xt:commerce - evaluation guide for enterprisesMayflower GmbH
 
IBM_Analytics_06_45_26_AM (1)
IBM_Analytics_06_45_26_AM (1)IBM_Analytics_06_45_26_AM (1)
IBM_Analytics_06_45_26_AM (1)Manaiwa Modikoe
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsChristian Heindel
 
Serverless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedServerless chatbot: from idea to production at blazing speed
Serverless chatbot: from idea to production at blazing speedPaolo Montrasio
 
Headless commerce for developers - How to start a store
Headless commerce for developers - How to start a storeHeadless commerce for developers - How to start a store
Headless commerce for developers - How to start a storeGiacomo Lamonaco
 
Emakina Academy #13 : Betafence Website
Emakina Academy #13 : Betafence WebsiteEmakina Academy #13 : Betafence Website
Emakina Academy #13 : Betafence WebsiteEmakina
 
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...
Moose.ai: migliorare la customer experience delle banche con un chatbot B2C &...Paolo Montrasio
 
03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
03 Building cross platform mobile applications with PhoneGap / Desarrollo de ...Cristian Rodríguez Enríquez
 
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration IssuesMost Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration IssuesCart2Cart
 
Flex vs HTML5
Flex vs HTML5Flex vs HTML5
Flex vs HTML5Ray Wong
 
What content strategists need to demand from the CMS guys
What content strategists need to demand from the CMS guysWhat content strategists need to demand from the CMS guys
What content strategists need to demand from the CMS guysPerttu Tolvanen
 
Building Flash-based websites using Adobe Flex - Lesson 1/10
Building Flash-based websites using Adobe Flex - Lesson 1/10Building Flash-based websites using Adobe Flex - Lesson 1/10
Building Flash-based websites using Adobe Flex - Lesson 1/10Stefano Virgilli
 

What's hot (20)

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

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

Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
IBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter beginsIBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter beginsLetsConnect
 
RSA Conference 2006 (Linkedin)
RSA Conference 2006 (Linkedin)RSA Conference 2006 (Linkedin)
RSA Conference 2006 (Linkedin)jimmcdonaldpmp
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Alexandre Morgaut
 
Magnolia 6 release walkthrough
Magnolia 6 release walkthroughMagnolia 6 release walkthrough
Magnolia 6 release walkthroughMagnolia
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Zapbuild Portfolio
Zapbuild PortfolioZapbuild Portfolio
Zapbuild PortfolioZapbuild
 
The Spirit of Opensource - contribution as a strategy for growth and innova...
The Spirit of Opensource   - contribution as a strategy for growth and innova...The Spirit of Opensource   - contribution as a strategy for growth and innova...
The Spirit of Opensource - contribution as a strategy for growth and innova...Parth Lawate
 
Oxagile company presentation
Oxagile company presentationOxagile company presentation
Oxagile company presentationOxagile
 
Oxagile Company Presentation (UPDATED)
Oxagile Company Presentation (UPDATED)Oxagile Company Presentation (UPDATED)
Oxagile Company Presentation (UPDATED)Dzmitry Aleinik
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019Ahmed Abu Eldahab
 
Micro Frontends.pptx
Micro Frontends.pptxMicro Frontends.pptx
Micro Frontends.pptxShanAli738907
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp
 
Cross Platform Mobile Application Architecture
Cross Platform Mobile Application ArchitectureCross Platform Mobile Application Architecture
Cross Platform Mobile Application ArchitectureDerrick Bowen
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business OverviewNick Davis
 
Building SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsBuilding SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsGunnar Peipman
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to MicroservicesAd van der Veer
 
Open Source Everything...including documentation
Open Source Everything...including documentationOpen Source Everything...including documentation
Open Source Everything...including documentationAli Spivak
 

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

Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
IBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter beginsIBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter begins
 
RSA Conference 2006 (Linkedin)
RSA Conference 2006 (Linkedin)RSA Conference 2006 (Linkedin)
RSA Conference 2006 (Linkedin)
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
 
Magnolia 6 release walkthrough
Magnolia 6 release walkthroughMagnolia 6 release walkthrough
Magnolia 6 release walkthrough
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Zapbuild Portfolio
Zapbuild PortfolioZapbuild Portfolio
Zapbuild Portfolio
 
The Spirit of Opensource - contribution as a strategy for growth and innova...
The Spirit of Opensource   - contribution as a strategy for growth and innova...The Spirit of Opensource   - contribution as a strategy for growth and innova...
The Spirit of Opensource - contribution as a strategy for growth and innova...
 
Oxagile company presentation
Oxagile company presentationOxagile company presentation
Oxagile company presentation
 
Oxagile Company Presentation (UPDATED)
Oxagile Company Presentation (UPDATED)Oxagile Company Presentation (UPDATED)
Oxagile Company Presentation (UPDATED)
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
Micro Frontends.pptx
Micro Frontends.pptxMicro Frontends.pptx
Micro Frontends.pptx
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystems
 
Cross Platform Mobile Application Architecture
Cross Platform Mobile Application ArchitectureCross Platform Mobile Application Architecture
Cross Platform Mobile Application Architecture
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
 
Building SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsBuilding SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development Tools
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
 
Open Source Everything...including documentation
Open Source Everything...including documentationOpen Source Everything...including documentation
Open Source Everything...including documentation
 

More from AOE

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

More from AOE (20)

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

Recently uploaded

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

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

  • 1. #mm19d Flamingo - Inspiring Commerce Frontend Made in Go 1
  • 2.
  • 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
  • 25.
  • 26.
  • 27.
  • 28.
  • 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