demandware krueger
DESCRIPTION
TRANSCRIPT
Copyright 2010 Demandware, Inc. - Confidential
Demandware and the CloudLeveraging the Capabilities of Cloud Computing for an eCommerce Software Provider
Jan KruegerSoftware Engineer
Copyright 2010 Demandware, Inc. - Confidential
Introduction
Picture by R. Schwietzke (http://www.yetanotherblog.de)
Copyright 2010 Demandware, Inc. - Confidential
Demandware, Inc.
• Founded 2004 by former Intershop CEO Stephan Schambach
• HQ based in Woburn, MA / Boston Area
• Offices in USA, UK, Germany and France
• On-Demand eCommerce platform
• Pure SaaS, but fully costumizable
Copyright 2010 Demandware, Inc. - Confidential
Outline
• Amazon Web Services
• Demandware CloudBox Project
• Demandware Simple Image Transformation Service
• AWS Demo / Best Practice
Copyright 2010 Demandware, Inc. - Confidential
Everything as a Service - XaaS
Hardware Layer / Networking
IaaS
PaaS
SaaS
DBaaS
Copyright 2010 Demandware, Inc. - Confidential
Amazon Web ServicesIntroduction
Copyright 2010 Demandware, Inc. - Confidential
Amazon Web Services Basics
• Amazon Web Services (AWS) provides companies of all sizes with an infrastructure web services platform in the cloud
• Highly on demand infrastructure
• Pay what you use
• Various web service APIs to work with all services
Using Amazon Web Services, an e-commerce web site can weather unforeseen demand with ease; a pharmaceutical company can “rent” computing power to execute large-scale simulations; a media company can serve unlimited videos, music, and more; and an enterprise can deploy bandwidth-consuming services and training to its mobile workforce.
Copyright 2010 Demandware, Inc. - Confidential
AWS Product Array
• Elastic Compute Cloud - EC2
• Simple Storage Service - S3
• Simple Database Service - SimpleDB
• Relational Database Service - RDS
• CloudFront
• Simple Queue Service - SQS
• Mechanical Turk - MTurk
• ... and some more
Copyright 2010 Demandware, Inc. - Confidential
Amazon Elastic Compute Cloud - EC2
• Virtual computing environment
• Image driven, spawn instances from an AMI
• Different instance types with different specs
• Variety of ready to use AMIs
• Modify or build your own
• Ephemeral storage (lost after shutdown)
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
Copyright 2010 Demandware, Inc. - Confidential
Amazon Elastic Block Store - EBS
• Create storage volumes from 1 GB to 1 TB
• Attach and mount with an EC2 instance
• Multiple devices on one instance (up to 15)
• Replicated in the backend
• Incremental point-in-time snapshots into S3
Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. Amazon EBS volumes are off-instance storage that persists independently from the life of an instance.
Copyright 2010 Demandware, Inc. - Confidential
Amazon Simple Storage Service - S3
• Read, write and delete unlimited number of items
• 1B to 5GB item size
• Authentication mechanisms available
• Private, user specific and public rights grantable
• Standards-based REST and SOAP interfaces
• Multiple protocol support
Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.
Copyright 2010 Demandware, Inc. - Confidential
Running an EC2 Instance
S3 EC2
Instances• Different Specs
AMIs• Fedora• Ubuntu• Oracle AMI• A lot more
EBS Volumes• 1GB to 1TB• Persistent Storage• Attachable to one Instance• Instant Snapshots
AMI
Copyright 2010 Demandware, Inc. - Confidential
Demandware CloudBox ProjectPorting an eCommerce Platform to
Amazon’s Elastic Compute Cloud
Copyright 2010 Demandware, Inc. - Confidential
Grid Situation prior to CloudBox ProjectPoD X
Customer A Production
Customer E Production
Customer CStaging
Customer A Sandbox
Customer B Sandbox
Customer C Sandbox
Customer D Sandbox
Customer B Production
Customer C Production
Customer D Production
Customer BStaging
Customer DStaging
Customer B Development
Customer AStaging Customer D
Development
Customer B Sandbox
Customer A Sandbox
Customer A Development
Customer D Sandbox
Customer D Sandbox
Customer D Sandbox
Customer B Sandbox
Customer E Sandbox
Customer E Sandbox
Customer EStaging
Customer C Development
Customer E Development
Customer C Sandbox
Customer A Sandbox
Copyright 2010 Demandware, Inc. - Confidential
PoD X Cloud
Grid + Cloud
Customer A Production
Customer E Production
Customer CStaging
Customer A Sandbox
Customer B Sandbox
Customer C Sandbox
Customer D Sandbox
Customer B Production
Customer C Production
Customer D Production
Customer BStaging
Customer DStaging
Customer B Development
Customer AStaging
Customer D Development
Customer B Sandbox
Customer A Sandbox
Customer A Development
Customer D Sandbox
Customer D Sandbox
Customer D Sandbox
Customer B Sandbox
Customer E Sandbox
Customer E Sandbox
Customer EStaging
Customer C DevelopmentCustomer E
Development
Customer C Sandbox
Customer A Sandbox
Copyright 2010 Demandware, Inc. - Confidential
PoD X Cloud
Grid + Cloud
Customer A Production
Customer E Production
Customer CStaging
Customer A Sandbox
Customer B Sandbox
Customer C Sandbox
Customer D Sandbox
Customer B Production
Customer C Production Customer D
Production
Customer BStaging
Customer DStaging
Customer B Development
Customer AStaging
Customer D Development
Customer B Sandbox
Customer A Sandbox
Customer A Development
Customer D Sandbox
Customer D Sandbox
Customer D Sandbox
Customer B Sandbox
Customer E Sandbox
Customer E Sandbox
Customer EStaging
Customer C DevelopmentCustomer E
Development
Customer C Sandbox
Customer A Sandbox
Copyright 2010 Demandware, Inc. - Confidential
Goals
• More efficient and flexible handling of sandboxes
• Reduce cost for sandboxes
• Integrate into existing environment– no new management tools– no obvious changes in behavior or functionality for endusers
• Explore the capabilities of modern cloud environments
Copyright 2010 Demandware, Inc. - Confidential
Development Decisions
• Amazon EC2 32bit Instances - small / 0.08ct per hour
• 1.7GB RAM / 1 virtual core
• EBS Volume for persistent storage (database and user data)
• CentOS 5.4 basic AMI with heavy modifications
• Oracle XE - free, but with constraints
• Modular concept
Copyright 2010 Demandware, Inc. - Confidential
Cost breakdown
• consumption of resources on a pod– bandwidth– storage sub system– database license
Sandbox on POD $64 per month
Cloudbox on AmazonOn-Demand-Plan
0.08$ per hour
60$ per monthCloudbox on Amazon1-Year-Subscripton-Plan
0.03$ per hour + 230$ per year
34$ per monthCloudbox on Amazon3-Year-Subscripton-Plan
0.03$ per hour + 350$ per 3 years
25$ per month
Copyright 2010 Demandware, Inc. - Confidential
What we win
• Lower over-all costs
• Free 20% of resources on our pods
• Use those for existing customers or future ones
• Being very flexible with the amount of sandboxes• No upfront investments in hardware
• Easy management of CloudBoxes
Copyright 2010 Demandware, Inc. - Confidential
What we already achieved
• 120 CloudBoxes in use
• Started off with internal users and training systems
• Second wave for partners and new customers
• Fully integrated into existing infrastructure
Copyright 2010 Demandware, Inc. - Confidential
Demandware Image Transformation ServicePrototyping and Production Deployment
on Amazon’s Elastic Compute Cloud
Copyright 2010 Demandware, Inc. - Confidential
Goals
• On the fly image transformation
• Most common used operations:– Image resizing– Image cropping– Image sharpening / blurring– Image overlay– Image format conversion– Image quality change
Copyright 2010 Demandware, Inc. - Confidential
Image Serving with Demandware Image Service
• Customer stores one size of image on our PODs• APIs to generate custom URLs pointing to image service• Image service fetches source image, transforms and delivers the transformed version
Copyright 2010 Demandware, Inc. - Confidential
Why in the Cloud?
• Prototyping environment– Fast and easy deployment of virtual hardware– Several testing systems at your fingertips– Isolated testing environment, still world wide available– Try and Error
• Deployment environment– Elastic Load Balancer– Identical deployment in several geographic regions– Instant deployment, no upfront hardware investment
Copyright 2010 Demandware, Inc. - Confidential
Deployment
• Amazon Elastic Load Balancer
• Two xlarge Amazon EC2 instances attached to ELB
• One-Click deployment of a full cluster
• Currently two production clusters / US and EU
• First live customers started to use service in Dec 2009
• Still beta testing to investigate usage
Copyright 2010 Demandware, Inc. - Confidential
AWS in ActionDemo - Experiences - Suggestions
Copyright 2010 Demandware, Inc. - Confidential
Best practice
• Shell vs. AWS Console vs. ElasticFox
• RightScale
• Failure as a feature
• Stay flexible
•Read - Learn - Ask•Enjoy
Copyright 2010 Demandware, Inc. - Confidential
Conclusion & Outlook
• IaaS will change IT environment massively
• Early adaptor phase is already over
• Change of mind necessary
• Smaller issues to overcome, but rewards are priceless
• Demandware’s architecture will build massively upon services
• Several services will be deployed on Cloud-based solutions
Copyright 2010 Demandware, Inc. - Confidential
Questions?Thanks for listening.