Amazon has been redefining web services for a while. Based on the system management and development prowess used to power its online storefront, Amazon has created a new class of web services that allows any programmer to use cloud based components in their applications.
As the next generation of SOA (Service Oriented Architecture) and SaaS (Software as a Service) applications are built, many may come to rely on AWS (Amazon Web Services) components such as S3 (Simple Storage Service) which provides storage in the cloud, EC2 (Elastic Compute Cloud) which provides cloud CPU style computing, SQS (Simple Queue Service) which provides cloud based message queuing and SimpleDB which provides some cloud based core database query functionality.
Last week Amazon announced a new web service called FWS (Fulfillment Web Service). FWS is an add-on to Amazon’s existing fulfillment system which allows any developer to interface directly with Amazon’s inventory management system using open APIs. This service allows you to programmatically print shipping labels for your inventory which you then send to Amazon. They store it until your app issues a shipment request at which point your web service call causes some human (or perhaps a robot) to pick and pack your product and then ship it out to your customer.
According to a FAQ on the Amazon Fulfillment website once your web service tells Amazon what’s in your shipment ”… our software will determine where it will be sent. The destination warehouse will vary depending on many factors…” Essentially you send your inventory into the cloud and then you make requests into the cloud to send your shipments out to customers.
Inventory management is a headache for many companies and a major cost center. The scalability and reliability of Amazon’s cloud based warehouse and the SOA nature of the service will make it very appealing to a wide range of IT departments and application developers.
Security has been a hot topic lately in the enterprise SOA world, so I had a good chuckle when I considered what would happen if someone’s AWS account were ever compromised. Some sloppy code coupled with malicious intent could cause the happy automatons at Amazon to ship your entire inventory to random people across the globe.
On the other hand I am continually impressed by how much Amazon understands the potential of web services and how they are able to productize their best practices and internal architecture.
Would you trust your inventory to the cloud?