Powering E-Commerce with Python @ Minted
-
Upload
kendall-chuang -
Category
Software
-
view
81 -
download
0
Transcript of Powering E-Commerce with Python @ Minted
Powering Ecommerce with PythonSilicon Valley Python Workshop
June 21, 2017
We believe that great design lives and thrives in the hands of
independent artists that people do not have access to through
traditional retailers. Minted uses technology to allow consumers to
discover great creative talent, making Minted a place where
artists can learn, gain exposure, and build their businesses.
Engineering at Minted
Community &Product Launch E-commerce
Fulfillment Operations
Marketing
Growth
New ProductDevelopment
Digital Products
Front End
PlatformDevOps
QAIT
E-commerce functions at Minted● Site Topology
○ Navigation○ Metadata
● Content & Marketing○ Brand content & assets○ Blog○ Marketing Landing Pages○ Email & SEM
● Discovery○ Product Catalog○ Search○ SEO○ On-site personalization
● Product Customization○ Product Business Object and UI○ Rendering Engine○ Users’ saved customization
● Shopping Cart○ Cart/Checkout○ Payment○ Promotions & Credits○ Shipping & Delivery
● Fulfillment Operations○ Order Object○ Returns, reprints and re-orders
Demo
Our Growing Technology Stack
● Pre 2015○ PHP/Apache○ Nginx / uWSGI / Bottle / Backbone / Mako
● Post 2015○ React.js Isomorphic Renderer○ Nginx / uWSGI / Bottle
WEB APP BACKENDS
● RDBMS (monolithic), Solr, Memcached
● RDBMS (multiple), Solr, Memcached, Elasticsearch, PostgreSQL, Neo4j, Streaming Pipelines + EMR
DEPLOYMENT
Monolithic, scheduled ------------> Containerized, as required
Architectural investments in our tech stack
RESTful APIs
Service Oriented Architecture
Business Objects -- Identifying and implementing objects from the perspective of clients. Abstract away persistence technology.
Cache-ing
BACKEND
The only two hard things in Computer Science.
Isomorphic Rendering
Edge-side cache-ability
GraphQL -- A client-oriented query language for the backends & APIs.
WEB APP
Architectural investments in our tech stack
is growingSCALE for SPEED / SITE TRAFFIC
SCALE BUSINESS PROCESSES & SLAs
SCALE DEVELOPMENT
SCALE for GROWTH OPPORTUNITY
Python
Python
Python
Python
But not really.
Time to market.Fantastic Machine Learning / AI community
Great Integrations, Celery.
Time to market.Popularity.
The two ElephantsStatic Typing
● Code readability/debugging● Higher burden for automated tests.
The GIL
● Can scale for IO/Network bound tasks● Not so much for cpu bound tasks.
Minted E-commerce (mostly)
Typing module in 3.5?
Q&A