SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Blazing fast commerce experience layer
Flamingo is a open source, go based, framework
for pluggable web projects.
Useful to build applications with modern UI in your
microservice architecture.
With flamingo-commerce you can build individual 

„commerce experience applications“
Strategic background and motivations
Flamingo Overview & Ecosystem
Flamingo Basic Example
Flamingo Commerce Details
Background and Motivation
Strategic background and motivation for flamingo
How would you love to

develop commerce applications
Is PHP the right development
language for the future
?
?
Strategic background and motivation for flamingo
• Performance:

Highly dynamic fast content rendering

Individual Personalization and Context aware rendering

• 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 performance: 

Decouple frontend build pipeline from „backend“ logic

• Developer Experience: 

Effective and Fun to use!

Fast team ramp up and low learning curve

• Clean architecture
How would you love to

develop commerce applications
Strategic background and motivation for flamingo
Is PHP the right development language 

for the future??
Strategic background and motivation for flamingo
Is PHP the right development language 

for the future?
• Overhead:

Interpreter and Webserver need to run

• Always from 0 to 100: 

No running application

Each request need to bootstrap and prepare and after rendering „dies“

Managing state between requests requires extra effort

• Performance:

No concurrency features

Compared to other languages often inefficient 

• Missing language features: 

Not typesafe (without extra effort) - 

=> more bugs / harder refactorings

• Learning

ca 11.000 functions/commands in PHP7!
Strategic background and motivation for flamingo
„go“ - an alternative to PHP
Go is an open source programming language
that makes it easy to build simple, reliable, and
efficient software.
https://golang.org/
Strategic background and motivation for flamingo
• 2012 Go 1.0

• Developed by Google

• Easy to learn: Goal was to be able to scale with in big dev
teams
„go“ - an alternative to PHP
Strategic background and motivation for flamingo
Why PHP is not the right language for modern enterprise
web applications!
Web Request:   One process per request  Running application
    + Webserver + Interpreter  (Webserver included)
Concurrency:  not really  yes
Amount of Code:  100%  30%

Performance:  -  ++++ 
Interest:  decreasing  jumping up  
  



Productivity:  +  ++
 
Strategic background and motivation for flamingo
What should be the stack to develop future commerce
applications
• PHP based

• Monolitic
approach

• Not build for
microservice style
distributed
architecture

• high learning curve

• hard to find good,
experienced and
motivated
developers

• Opinionated
templating
Magento? oroCommerce? Spryker?
• A lot of features

• Proofen in many
production setups

• existing ecosystem

• …
Prestashop? Shopware?
Magento Lizard and Pumpkin Vue Storefront
Strategic background and motivation for flamingo
The birth of the bird
Using our collected experience and
start a new framework for building
modern and blazing fast 



„commerce experience
applications“
What we need seems not to exist
Strategic background and motivation for flamingo
The birth of the bird
2016 - Flamingo was born caused by the 

lack of alternatives
2017/18 - E-Commerce Frontend for
2018 - Used in many more production project
2018 - Several clean ups
- Focus on open sourcing
- Trainings and Examples
Flamingo
Overview &
Ecosystem
Status of flamingo
• Build for Microservice environments:
• Architecture makes it easy to connect to different „backend“ services

• Ideal as „Head“ for headless commerce services

• Resilience and Test Pattern „build in“

• Not build to be the next Feature complete Ecommerce Monolith

• Lightweight and easy to learn
• Decoupled and powerful Frontend Tools and Pipeline
• Scalability and Performance
• Dynamic page rendering time <20ms

• Asyncronous rendering

• Easy horizontal scaling

• Clean Architecture:
• Usage of Domain Driven Design to craft elegant software systems

• USage of Ports and Adapters for clean layering and seperation

Design Goals
Status of flamingo
Flamingo
Flamingo Carotene
Flamingo Commerce
flamingo-commerce-adapter-
standalone
Commerce Demo
Example-*
Flamingo is a go based, framework for pluggable web
projects. Core and Framework modules
Is the frontend build pipeline featuring pug and atomic
design pattern.
Example and Demo projects with Trainings - to get started.
flamingo modules that provide „domain“, „application“
and „interface“ logic around commerce features.

These modules can be used with your own „Adapters“ to
interact with any API or microservice you want.
Adapters for the flamingo commerce modules that can be
used standalone

Demo Shop for flamingo-commerce - using the standalone
adapters
Status of flamingo
Module Overview
Core/Packages (basics)
form locale redirects gotemplate
healthcheck internalauth cache zap
Framework/Packages
config
router template
(interface)
web
event session
dingo
controller
pugtemplate
…
opencensus
testutil
Status of flamingo
Flamingo Carotene
PUG
SASS
Atomic design
Status of flamingo
Status of flamingo
Structure of a typical flamingo project
Your custom modules
Flamingo
Flamingo: Core and Framework.
(Dependency Injection; Configuration;
Security; Logging; Routing; Resilience
Pattern; …)
Your logic and features 

(e.g. Backend for Frontend Pattern)
Flamingo Carotene helper and build pipeline
modern frontend templating
based on pugProject Templates
Flamingo
Example
Example
Example: Edit Frontend Templates in „Watch“ mode.
After saving the page is updated automatically
Example
Flamingo
Commerce
Flamingo
Commerce
Details
Flamingo Commerce Packages
cart product checkout customer
Flamingo-Commerce
search w3cDataLayer category …
Main Ecommerce Package 

Dependencies
cartproduct checkout customersearch category auth
Infrastructure
Interfaces
Application
Domain Model /
Core Logic
Ports and Adapters - Clean Architecture
Ports and Adapters - Clean Architecture
Domain
Application
Interfaces
Infrastructure
Infrastructure
Product Module Some Product Adapter Module
Defines Product Model etc

And the secondary Port:
Product Detail View
a „FakeProductService“
Flamingo
Commerce
Architectures
Flamingo Architecture Examples:
„Magento 2 + Flamingo“
flamingo e-commerce project on top of Magento2
Magento 2

(With custom extensions)
Product Adapter

Search Adapter

Category Adapter
Cart Adapter

CMS

Order Adapter

Customer Adapter
Flamingo can for example be used as „Head“ for a „Headless“ Magento 2
Setup.



In this case we still recommend to provide product data from a realtime search
(e.g. implemented with elasticsearch)
flamingo-commerce-adapter-magento
Flamingo Architecture Examples:
„Magento 2 + Flamingo“
flamingo e-commerce project on top of Magento2 and Elasticsearch
Magento 2

(With custom extensions)
Cart Adapter

CMS

Order Adapter

Customer Adapter
Flamingo can for example be used as „Head“ for a „Headless“ Magento 2
Setup.



In this case we still recommend to provide product data from a realtime search
(e.g. implemented with elasticsearch)
flamingo-commerce-adapter-magento
product search service

(e.g. with Elastic
Search)
On the fly
product import
Product Adapter

Search Adapter

Category Adapter
elasticsearch adapter
Flamingo Architecture Examples:
„Commerce Microservices + Flamingo“
Some Flamingo Commerce Project
product
search
service
Cart
Service
SSO
(Keycloak)
OpenId Flow
Stock
Service
CMS
Order
Management Fullfillment
Payment 

PSP
PIM
User
Service
/ CRM
Flamingo My
Account
Project
some project specific modulessome project specific modules
adapter
Flamingo Architecture Example:
„Standalone Flamingo“
Some Flamingo Commerce Project
SSO
(Keycloak)
flamingo-commerce-adapter-standalone
„Flamingo-commerce-adapters-standalone“:
Adapters for most Flamingo Commerce Ports.
They might be a good start for your own project.
flamingo-commerce-adapter-standalone
Ecommerce Adapters
(Demo / Standalone Bundle)
cartproduct checkout customersearch category
csvProductCatalog inMemoryCart
auth
PlaceOrder= MailPersistence= CSVs
rules
Demo for cart and product rules
Demo for checkout sourcing engine etc
Ecommerce Adapters
(Demo / Standalone Bundle)
What can I
see already?
Status of flamingo
www.flamingo.me docs.flamingo.me

Weitere ähnliche Inhalte

Was ist angesagt?

(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software DeploymentsAmazon Web Services
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringVMware Tanzu
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAmazon Web Services
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
223: Modernization and Migrating from the ESB to Containers
223: Modernization and Migrating from the ESB to Containers223: Modernization and Migrating from the ESB to Containers
223: Modernization and Migrating from the ESB to ContainersTrevor Dolby
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAmazon Web Services
 
Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)Postman
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Web Services
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golangBo-Yi Wu
 
Programmation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorProgrammation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorFlorian Beaufumé
 
Well architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceWell architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceLeela Krishna Kandrakota
 
Build and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayBuild and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayAmazon Web Services
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeansRyan Cuprak
 
End to-end monitoring with the prometheus operator - Max Inden
End to-end monitoring with the prometheus operator - Max IndenEnd to-end monitoring with the prometheus operator - Max Inden
End to-end monitoring with the prometheus operator - Max IndenParis Container Day
 
Domain storytelling-one size fit all process
Domain storytelling-one size fit all processDomain storytelling-one size fit all process
Domain storytelling-one size fit all processMichael Chen
 
Developing RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBDeveloping RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBNicola Iarocci
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Amazon Web Services
 

Was ist angesagt? (20)

(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments(DVO306) AWS CodeDeploy: Automating Your Software Deployments
(DVO306) AWS CodeDeploy: Automating Your Software Deployments
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with Spring
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
 
Api presentation
Api presentationApi presentation
Api presentation
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
223: Modernization and Migrating from the ESB to Containers
223: Modernization and Migrating from the ESB to Containers223: Modernization and Migrating from the ESB to Containers
223: Modernization and Migrating from the ESB to Containers
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
 
Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Programmation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et ReactorProgrammation réactive avec Spring 5 et Reactor
Programmation réactive avec Spring 5 et Reactor
 
Well architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceWell architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data Science
 
Build and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayBuild and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API Gateway
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 
Microsoft Azure Logic apps
Microsoft Azure Logic appsMicrosoft Azure Logic apps
Microsoft Azure Logic apps
 
End to-end monitoring with the prometheus operator - Max Inden
End to-end monitoring with the prometheus operator - Max IndenEnd to-end monitoring with the prometheus operator - Max Inden
End to-end monitoring with the prometheus operator - Max Inden
 
Domain storytelling-one size fit all process
Domain storytelling-one size fit all processDomain storytelling-one size fit all process
Domain storytelling-one size fit all process
 
Developing RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBDeveloping RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDB
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
 

Ähnlich wie Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Introduction

Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerAOE
 
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019AOE
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replitmatiasfund
 
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...A Step-by-Step Guide to Building and Deploying Python Applications with Repli...
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...matiasfund
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 
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
 
Composite C1 Presentaion
Composite C1  PresentaionComposite C1  Presentaion
Composite C1 Presentaionjakobbartholdy
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business OverviewJoel Demay
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityJitendra Bafna
 
Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Harsh Tamakuwala
 
DACHNUG50 - Unified Development Plattform - Volt MX.pdf
DACHNUG50  - Unified Development Plattform - Volt MX.pdfDACHNUG50  - Unified Development Plattform - Volt MX.pdf
DACHNUG50 - Unified Development Plattform - Volt MX.pdfDNUG e.V.
 
Digitizing and automating HR workflows with DronaHQ
Digitizing and automating HR workflows with DronaHQ Digitizing and automating HR workflows with DronaHQ
Digitizing and automating HR workflows with DronaHQ Kinjal Vora
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Best PHP Frameworks For Web Development
Best PHP Frameworks For Web Development Best PHP Frameworks For Web Development
Best PHP Frameworks For Web Development Mitiz Technologies
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationDivante
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyAustraliaChapterIIBA
 

Ähnlich wie Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Introduction (20)

Flamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel PötzingerFlamingo presentation at code.talks commerce by Daniel Pötzinger
Flamingo presentation at code.talks commerce by Daniel Pötzinger
 
Flamingo Commerce Intro
Flamingo Commerce IntroFlamingo Commerce Intro
Flamingo Commerce Intro
 
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
Flamingo - Inspiring Commerce Frontend made in Go - Meet Magento 2019
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replit
 
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...A Step-by-Step Guide to Building and Deploying Python Applications with Repli...
A Step-by-Step Guide to Building and Deploying Python Applications with Repli...
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
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...
 
Composite C1 Presentaion
Composite C1  PresentaionComposite C1  Presentaion
Composite C1 Presentaion
 
Introducing symfony
Introducing symfonyIntroducing symfony
Introducing symfony
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business Overview
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
 
Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.
 
DACHNUG50 - Unified Development Plattform - Volt MX.pdf
DACHNUG50  - Unified Development Plattform - Volt MX.pdfDACHNUG50  - Unified Development Plattform - Volt MX.pdf
DACHNUG50 - Unified Development Plattform - Volt MX.pdf
 
Digitizing and automating HR workflows with DronaHQ
Digitizing and automating HR workflows with DronaHQ Digitizing and automating HR workflows with DronaHQ
Digitizing and automating HR workflows with DronaHQ
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Best PHP Frameworks For Web Development
Best PHP Frameworks For Web Development Best PHP Frameworks For Web Development
Best PHP Frameworks For Web Development
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
 
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the KeyIIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
IIBA® Sydney Unlocking the Power of Low Code No Code: Why BAs Hold the Key
 

Mehr von i-love-flamingo

Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello Worldi-love-flamingo
 
Flamingo Commerce Module Details
Flamingo Commerce Module DetailsFlamingo Commerce Module Details
Flamingo Commerce Module Detailsi-love-flamingo
 
Flamingo Commerce Ports and Adapters
Flamingo Commerce Ports and AdaptersFlamingo Commerce Ports and Adapters
Flamingo Commerce Ports and Adaptersi-love-flamingo
 
Flamingo Hello World Tutorial
Flamingo Hello World TutorialFlamingo Hello World Tutorial
Flamingo Hello World Tutoriali-love-flamingo
 

Mehr von i-love-flamingo (8)

Graphql with Flamingo
Graphql with FlamingoGraphql with Flamingo
Graphql with Flamingo
 
Flamingo in Production
Flamingo in ProductionFlamingo in Production
Flamingo in Production
 
Flamingo Core Concepts
Flamingo Core ConceptsFlamingo Core Concepts
Flamingo Core Concepts
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello World
 
Flamingo Carotene
Flamingo CaroteneFlamingo Carotene
Flamingo Carotene
 
Flamingo Commerce Module Details
Flamingo Commerce Module DetailsFlamingo Commerce Module Details
Flamingo Commerce Module Details
 
Flamingo Commerce Ports and Adapters
Flamingo Commerce Ports and AdaptersFlamingo Commerce Ports and Adapters
Flamingo Commerce Ports and Adapters
 
Flamingo Hello World Tutorial
Flamingo Hello World TutorialFlamingo Hello World Tutorial
Flamingo Hello World Tutorial
 

Kürzlich hochgeladen

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Kürzlich hochgeladen (20)

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Introduction

  • 1. Blazing fast commerce experience layer
  • 2. Flamingo is a open source, go based, framework for pluggable web projects. Useful to build applications with modern UI in your microservice architecture. With flamingo-commerce you can build individual 
 „commerce experience applications“
  • 3. Strategic background and motivations Flamingo Overview & Ecosystem Flamingo Basic Example Flamingo Commerce Details
  • 5. Strategic background and motivation for flamingo How would you love to
 develop commerce applications Is PHP the right development language for the future ? ?
  • 6. Strategic background and motivation for flamingo • Performance:
 Highly dynamic fast content rendering
 Individual Personalization and Context aware rendering • 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 performance: 
 Decouple frontend build pipeline from „backend“ logic • Developer Experience: 
 Effective and Fun to use!
 Fast team ramp up and low learning curve • Clean architecture How would you love to
 develop commerce applications
  • 7. Strategic background and motivation for flamingo Is PHP the right development language 
 for the future??
  • 8. Strategic background and motivation for flamingo Is PHP the right development language 
 for the future? • Overhead:
 Interpreter and Webserver need to run • Always from 0 to 100: 
 No running application
 Each request need to bootstrap and prepare and after rendering „dies“
 Managing state between requests requires extra effort • Performance:
 No concurrency features
 Compared to other languages often inefficient • Missing language features: 
 Not typesafe (without extra effort) - 
 => more bugs / harder refactorings • Learning
 ca 11.000 functions/commands in PHP7!
  • 9. Strategic background and motivation for flamingo „go“ - an alternative to PHP Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. https://golang.org/
  • 10. Strategic background and motivation for flamingo • 2012 Go 1.0 • Developed by Google • Easy to learn: Goal was to be able to scale with in big dev teams „go“ - an alternative to PHP
  • 11. Strategic background and motivation for flamingo Why PHP is not the right language for modern enterprise web applications! Web Request:   One process per request  Running application     + Webserver + Interpreter  (Webserver included) Concurrency:  not really  yes Amount of Code:  100%  30%
 Performance:  -  ++++  Interest:  decreasing  jumping up     
 
 Productivity:  +  ++  
  • 12. Strategic background and motivation for flamingo What should be the stack to develop future commerce applications • PHP based • Monolitic approach • Not build for microservice style distributed architecture • high learning curve • hard to find good, experienced and motivated developers • Opinionated templating Magento? oroCommerce? Spryker? • A lot of features • Proofen in many production setups • existing ecosystem • … Prestashop? Shopware? Magento Lizard and Pumpkin Vue Storefront
  • 13. Strategic background and motivation for flamingo The birth of the bird Using our collected experience and start a new framework for building modern and blazing fast 
 
 „commerce experience applications“ What we need seems not to exist
  • 14. Strategic background and motivation for flamingo The birth of the bird 2016 - Flamingo was born caused by the 
 lack of alternatives 2017/18 - E-Commerce Frontend for 2018 - Used in many more production project 2018 - Several clean ups - Focus on open sourcing - Trainings and Examples
  • 16. Status of flamingo • Build for Microservice environments: • Architecture makes it easy to connect to different „backend“ services • Ideal as „Head“ for headless commerce services • Resilience and Test Pattern „build in“ • Not build to be the next Feature complete Ecommerce Monolith
 • Lightweight and easy to learn • Decoupled and powerful Frontend Tools and Pipeline • Scalability and Performance • Dynamic page rendering time <20ms • Asyncronous rendering • Easy horizontal scaling
 • Clean Architecture: • Usage of Domain Driven Design to craft elegant software systems • USage of Ports and Adapters for clean layering and seperation Design Goals
  • 17. Status of flamingo Flamingo Flamingo Carotene Flamingo Commerce flamingo-commerce-adapter- standalone Commerce Demo Example-* Flamingo is a go based, framework for pluggable web projects. Core and Framework modules Is the frontend build pipeline featuring pug and atomic design pattern. Example and Demo projects with Trainings - to get started. flamingo modules that provide „domain“, „application“ and „interface“ logic around commerce features.
 These modules can be used with your own „Adapters“ to interact with any API or microservice you want. Adapters for the flamingo commerce modules that can be used standalone Demo Shop for flamingo-commerce - using the standalone adapters
  • 18. Status of flamingo Module Overview Core/Packages (basics) form locale redirects gotemplate healthcheck internalauth cache zap Framework/Packages config router template (interface) web event session dingo controller pugtemplate … opencensus testutil
  • 19. Status of flamingo Flamingo Carotene PUG SASS
  • 21. Status of flamingo Structure of a typical flamingo project Your custom modules Flamingo Flamingo: Core and Framework. (Dependency Injection; Configuration; Security; Logging; Routing; Resilience Pattern; …) Your logic and features 
 (e.g. Backend for Frontend Pattern) Flamingo Carotene helper and build pipeline modern frontend templating based on pugProject Templates
  • 24. Example: Edit Frontend Templates in „Watch“ mode. After saving the page is updated automatically Example
  • 26.
  • 27.
  • 29. Flamingo Commerce Packages cart product checkout customer Flamingo-Commerce search w3cDataLayer category …
  • 30. Main Ecommerce Package 
 Dependencies cartproduct checkout customersearch category auth
  • 31. Infrastructure Interfaces Application Domain Model / Core Logic Ports and Adapters - Clean Architecture
  • 32. Ports and Adapters - Clean Architecture Domain Application Interfaces Infrastructure Infrastructure Product Module Some Product Adapter Module Defines Product Model etc And the secondary Port: Product Detail View a „FakeProductService“
  • 34. Flamingo Architecture Examples: „Magento 2 + Flamingo“ flamingo e-commerce project on top of Magento2 Magento 2
 (With custom extensions) Product Adapter Search Adapter Category Adapter Cart Adapter CMS Order Adapter Customer Adapter Flamingo can for example be used as „Head“ for a „Headless“ Magento 2 Setup. 
 In this case we still recommend to provide product data from a realtime search (e.g. implemented with elasticsearch) flamingo-commerce-adapter-magento
  • 35. Flamingo Architecture Examples: „Magento 2 + Flamingo“ flamingo e-commerce project on top of Magento2 and Elasticsearch Magento 2
 (With custom extensions) Cart Adapter CMS Order Adapter Customer Adapter Flamingo can for example be used as „Head“ for a „Headless“ Magento 2 Setup. 
 In this case we still recommend to provide product data from a realtime search (e.g. implemented with elasticsearch) flamingo-commerce-adapter-magento product search service
 (e.g. with Elastic Search) On the fly product import Product Adapter Search Adapter Category Adapter elasticsearch adapter
  • 36. Flamingo Architecture Examples: „Commerce Microservices + Flamingo“ Some Flamingo Commerce Project product search service Cart Service SSO (Keycloak) OpenId Flow Stock Service CMS Order Management Fullfillment Payment 
 PSP PIM User Service / CRM Flamingo My Account Project some project specific modulessome project specific modules adapter
  • 37. Flamingo Architecture Example: „Standalone Flamingo“ Some Flamingo Commerce Project SSO (Keycloak) flamingo-commerce-adapter-standalone „Flamingo-commerce-adapters-standalone“: Adapters for most Flamingo Commerce Ports. They might be a good start for your own project.
  • 38. flamingo-commerce-adapter-standalone Ecommerce Adapters (Demo / Standalone Bundle) cartproduct checkout customersearch category csvProductCatalog inMemoryCart auth PlaceOrder= MailPersistence= CSVs rules Demo for cart and product rules Demo for checkout sourcing engine etc
  • 39. Ecommerce Adapters (Demo / Standalone Bundle)
  • 40. What can I see already?