Showing posts with label product_review. Show all posts
Showing posts with label product_review. Show all posts

Sunday, February 24, 2008

An Intro to Amazon Web Services

Amazon Web Services, or more simply AWS, provides a wide range of web services for building technical infrastructure. It's not a replacement for having an ISP (or a data center, if your firm is that large), but it's a great way to avoid spending too much money on infrastructure before you even have a proven business model. It's also a brilliant way to scale up resources on demand, even if – and sometimes, especially when – you already have a successful business model. In this article, let's introduce the web services available from Amazon, discuss a bit about use cases, then talk about business strategy for leveraging AWS.

Have you ever had a great idea for a new tech business, but weren't sure what to do next? Write a business plan? Set up a meeting with a venture capital firm? Launch a web site? Getting from A to B can become enormously expensive, when you start to think about buying servers, hiring sysadmins, leasing facilities, etc., before you can even demonstrate your idea running on the Internet.

Amazon considered that problem. For a few years at the start of this decade – post Bubble-bursting – they analyzed what it cost for new businesses to launch on the Internet, where the risks seemed to hit worst. They took their internal technology infrastructure and re-examined what parts could be rolled out as public services. Associates (ECS) was launched in 2002, then much of what people recognize now as AWS really began to catch on in 2006. More services roll out just about every quarter, it seems.

So about your great idea for a new tech business... Do it. If you have a web app, then go prototype it using Ruby on Rails, or Django, or any number of PHP frameworks. Build it on your laptop, upload code to EC2, save an AMI, replicate as needed. (Don't worry, we'll catch up on these acronyms in a bit here.) Or, if your business idea involves a lot of data crunching, maybe something like Hadoop, again you can build on your personal computer, then upload and run it at scale on EC2. The bottom line is: pay only for what you use, and scale up to enterprise size on demand.

One minor thing you want need to know beforehand: Amazon.com staff abbreviate terms and even acronyms using numbers. Have you seen how the term internationalization gets abbreviated as "I18N" sometimes? They do that. A lot. Apparently, it comes from the top; it's a geek thing, and at Amazon.com even the business types are dyed-in-the-wool tech geeks, all the way up to the CEO. So the AWS web service names follow similar spelling conventions: instead of saying Simple Storage Solution, they use the term S3. Having a good decoder ring might help make reading their documentation a wee bit simpler. Ahem.

Let's take a tour through their current set of web services...

Associates

Amazon Associates, formerly called ECS, was the first web service offering from Amazon. Use it in conjunction with Amazon Associates Program to create web storefronts. In other words, your site acts as a reseller that refers products at Amazon and its third-party vendors. Earn up to 8.5% in referral fees – which can be quite good money, overall.

EC2

Elastic Computing Cloud provides resizable compute capacity. Servers on demand, rented per hour. Grid computing, clouds, or – as they say on Sand Hill Road – "Google scale". You can configure a Linux server, then store it as an image (Amazon Machine Image, or AMI) and launch as many as you need. It takes only a few minutes to launch a new server, and you can stop it anytime you like. You pay by the hour, paying only for capacity that you actually use.

Small Instance (default)

  • $0.10/machine/hour, plus data transfer
  • 1.7 Gb memory, 1 32-bit virtual core with 1 compute unit each, 160 Gb disk
Large Instance
  • $0.40/machine/hour, plus data transfer
  • 7.5 Gb memory, 2 64-bit virtual cores with 2 compute units each, 850 Gb disk
Extra Large Instance
  • $0.80/machine/hour, plus data transfer
  • 15 Gb memory, 4 64-bit virtual cores with 2 compute units each, 1690 Gb disk

Are there any downsides? Sure, EC2 is not a direct replacement for running your own data center – if you need that. For starters, there are no dedicated IP addresses (they're working on it). You'll need arrange for dynamic DNS. That happens to be a very good way to combine the strengths of a local ISP and EC2, by resolving your DNS from the local ISP and pointing into the cloud.

Another downside is that while you do get root on your virtual server, you never really know what the actual hardware lives, and you face some restrictions when it comes time to make kernel mods. Amazon documentation keeps repeating the refrain about a hypothetical "circa 2007 1.7 GHz Xeon processor", but that may be the most you'll ever learn about their data centers. (I hear they're stacked in shipping containers near hydroelectric plants, but that's just rumor – albeit a rather "cleantech" rumor, at that). My dev team ran into problems with some special uses of MySQL that required kernel changes. Hadoop won't run on the standard AMI, but there are special Hadoop AMI which work well. Generally there are work-arounds, but be forewarned that you're not going to walk into any data center and push a reboot button on an EC2 instance. Ever.

Still, I find that EC2 runs better than other Linux virtualization systems that I've tried. Tough to beat that price-point, too.

S3

Simple Storage Service allows you to write, read, and delete objects in "buckets". Each object can range from 1 byte to 5 Gb in size, with an unlimited number of objects per bucket. Think of S3 as a very large hashtable – think of key/value pairs – persisted to disk and replicated across several different data centers. Use REST or SOAP operations to read and write objects. You can also use BitTorrent for streaming media out of S3.

One application is to store LOBs in S3 instead of in your database. Or serialize large objects directly out of your middleware. A good approach is to use some transport language like XML or JSON to encode data objects, so they can be used directly in an AJAX call by a web client. An even better idea is to put a Distributed Hash Table (DHS) as a kind of middle-tier cache for objects persisted out to S3. Read more about that in Amazon's paper about their Dynamo project.

How much you ask? $0.15/Gb/month, plus data transfer. That's almost getting cheaper than buying a disk upgrade for your laptop, byte by byte.

One thing to consider: how do you manage your business requirements for off-site backups? I know that our business insurance certainly requires that kind of practice in place. Frankly, with S3 you must manage it yourself, and that implies costs for network transfer. One suggestion to Amazon would be to provide alternate means to bring S3 data out at a reduced speed, trickled out for backups.

SQS

Simple Queue Service provides a way to manage message queues – up to 8 Kb of text data per message – which can scale arbitrarily large. It's inexpensive and highly reliable. This is my favorite part of AWS, and potentially the most valuable to Internet entrepreneurs.

If you're familiar with MQSeries from IBM, you understand what this provides. For example, when I was working in banking software, MQSeries could harden gigabytes of transaction data reliably, while we waited to have new mainframes booted on the other side of the queue. That may be only 25 words of description, but in practice it was a nightmare made simple through an amazing IBM technology.

SQS follows that pattern. Integrating SQS into a web app is a little bit of a cognitive stretch for many developers; you really must embrace a different mindset. Once you do, you probably won't be thinking in terms of MVC design patterns much longer.

Costs? $0.000001/message, plus data transfer. In other words, $1 per million messages processed.

SimpleDB

SimpleDB might be described as a cross between a relational database and a spreadsheet, except that each cell may have different attributes. The whole shebang gets indexed automagically, then you can perform queries, joins, intersections, etc. – in very large quantities. Think of it as a good place to store pointers and metadata for those large objects stored in S3. You can hit the SimpleDB part of an object first, run its metadata through your business logic, then determine whether or not you want to stream out gigabytes from, say, some video you stored in an S3 bucket.

How well does that compare with Oracle licenses? At a mere $0.14/machine/hour, plus $1.50/Gb/month, plus data transfer, and with less headache about scaling and performance issues, it does look rather compelling.

FPS

Having worked around e-commerce for 15 years, in my opinion Flexible Payment Services has got to be one of more ingenious parts of AWS. It's a web service that simplifies the process of taking money reliably (for you, the seller) and conveniently (for your customer). It handles payment the same as how people do checkout on Amazon purchases – which is pretty much guaranteed to be familiar to consumers. You can program rules about billing, create recurring fees, add a Pay Now widget to any web site, or set up to handle micro-payments which would be prohibitively expensive through most financial processors.

You may be able to negotiate a better rate with your bank – once you have sales established – if you're not concerned about little nuances like chargebacks, fraud, etc.

MTurk

Mechanical Turk is described as "a marketplace for work that requires human intelligence" or an "elastic workforce". See this Wikipedia entry for more background about the name. You describe a kind of task, called a "HIT", then people sign up to perform your HITs. There is a $0.005 per HIT minimum commission, and Amazon takes 10% of commissions.

This is the kind of service which has been used to coordinate massively collaborative search for downed planes and lost ships, such as the search for Steve Fossett.

Alexa

There are also four Alexa web services, primarily for web analytics: Site Thumbnail, Top Sites, Web Information Service, and Web Search. I've used them a little commercially, and they are quite different from the other AWS offerings. Probably best to reserve that discussion for a follow-up article.

Strategy...

Let's repeat this point again, because it's important: the strategy for leveraging AWS is to build out your engineering so that operations can scale from Day One. Get running quickly, only pay for what you use. Get early feedback from testers and customers about your business ideas. Most importantly: save your seed equity for expenditures which are more important than technology infrastructure.

What could be more important in a tech start-up than technology costs? The following items top my list:
  • Legal fees for NDA, HR, contracts, financing, etc.
  • Health insurance and family benefits for employees
  • Patent and trademark filings, which grow increasingly complex internationally
  • SG&A to establish initial sales
If there is any way possible, avoid going for VC money until the last possible second. VCs appreciate that, probably even more than entrepreneurs. Wait on a cash infusion from venture capital sources until you have initial sales established and need to build sales channel, need to spend on marketing to establish your brand, etc.

AWS has been crafted by some of the most successful people working in e-commerce to give you exactly that kind of quick-start advantage. And why not? Ask yourself, would you rather earn a few hundred dollars each month from multitudes of new tech start-ups, early in their growth curve, assisting them to grow larger (and spend more)... or would you prefer to wait until a start-up has proven itself in the marketplace, then try to sell e-commerce and fulfillment services? Amazon has been active in both areas, but I have a hunch that the former strategy (AWS) earns more revenue over time.

We can discuss more later about system architecture, design patterns, and how to build infrastructure that scales up and scales down on-demand. Meanwhile, keep in mind that AWS can provide you with enabling services so that your new business idea has a much better path toward becoming a success.

Tuesday, September 11, 2007

Managing the crud via RSS, more like this, search filters, and social networks

I'm often asked "How in the world we are supposed to keep up with the various sources of information out on the net?" Part of the problem and what makes it extremely interesting is that more and more people are starting to blog. This means much more content but according to Sturgeon's Law it means 90% more crud. The key managing this big influx of data from varied sources is to have update notifications (RSS), with search filters (like google alerts), allow others to do the foot work for you (rank, trusted sources that you respect, blogroll, friends, or particular journalists), and finally a system that learns your preferences (ala amazon's more like this). I haven't seen a system that really helps you manage your data like this in one place. I use a combination of Google Alerts, my Google Reader, ims from friends, email links, del.icio.us for this but it is lacking the coherence of one system and it's missing the more like this and trusted network ranking. It looks like a few products are in beta to provide a service that might meet my criteria. Streamy looks very interesting

Check out the YouTube ad:



Here is the review article
http://www.webware.com/8301-1_109-9743458-2.html

Wednesday, August 29, 2007

Opening Pandora’s Music Box

It seems I am on my computer way too much; such is life for a high tech entrepreneur, the modern day office worker, or just a plain old geek. I login first thing in the morning and logout the last thing at night. I use my computer for work, personal communications, finances, and entertainment. The family television set has been put in the closet and we don’t have a stereo system hooked up in the house. My computer and my wife’s laptop have replaced television and radio. The 22” Wide Screen monitor I treated myself to - much to my wife’s displeasure - is now one of the smartest purchases I have made lately but I “really should have gotten the bigger one”.

My family relies on NetFlix, Comedy Central, and a variety of video content sites for our audio/visual experience. For music I have a dedicated hard drive with ripped CD’s and purchased downloaded music. I can queue up quite a bit of music – but I am limited to the music I own. When I am focused on work I want music to suit my mood without having to think about it. Rather than sorting through my collection and making a play list, I want to have mood or setting based selection of music like radio but with a focus on my musical tastes and preferences and without commercial and DJ interruptions.

Of all the online music listening options available the one I use the most; the one I have set as a “home page tab” in IE7; the one that keeps me from closing my web browser is online music broadcaster Pandora® (http://www.pandora.com/). The folks at Pandora® and The Music Genome Project® have put together a rich music portal that blends radio and social networking with an emphasis on delivering songs I want (and many I didn’t know I wanted) to my desktop. No commercials – no interruptions. Like radio I can select Stations to listen to based on tastes. As with the social networks I can share my Stations with other listeners and look for people with similar tastes in music.

I can’t describe what Pandora is any better than the people at Pandora, so here is the FAQ from their site:

Q: What is Pandora?

Pandora is a music discovery service designed to help you enjoy music you already know, and to help you discover new music you'll love.
It's powered by the most comprehensive analysis of music ever undertaken, the Music Genome Project: a crazy project started back in early 2000 to capture the complex musical DNA of songs using a large team of highly-trained musicians.
Just tell us one of your favorite songs or artists and we'll launch a streaming station to explore that part of the musical universe.”


“complex musical DNA” is an accurate description in trying define tastes in music. There is a great deal of information that we process to define our likes and dislikes for most anything in life. Music has many facets as do moods. For Pandora to have the intelligence to cross reference a massive database of music, tastes, and preferences and find songs that I will probably like is pretty cool. After experiencing the day-in-day-out use of the site I swear it alters mood based on the time of day. Melodic and instrumental in the morning and a little more up tempo in the afternoon. It also pushes my musical boundaries by testing the waters with different artists. I can tell Pandora what I like, what I don’t like, and it will respond accordingly.



What’s really cool about the service is I have found many artists I would not have found otherwise. I am learning about musicians and bands from years ago that I never came across as well as new artists breaking onto the music scene. With a click I can read a bio of the artist, see a catalog of their work, and hear samples of their music. If I like what I hear there are convenient links to Amazon and iTunes. I have purchased more music this year than in the last two years combined and my Amazon Wish List keeps growing. Pandora is the ultimate online music station and store.

When I first came upon Pandora in February of this year I was hooked instantly. By searching for a favorite Artist or Song I want to hear I have started my first Station. For the ease of use and the great user experience I was willing to pay up to $10 per month for the service. Upon reading the FAQ’s I found out it was only $36 per year without advertising and with additional benefits. My initial thought was “Why pay, I’ll never see the ads. The music will just play in the back ground.” Wrong.

Why am I wrong about not seeing the advertising? Because I am drawn back to the site by curiosity – I want to know more about the artist or I want to rate the song. I keep going back and in the process my mind is being imprinted by very well done ads whether I like it or not. I tend to block out quite a bit of marketing and advertising, but the nature of this site causes a very high imprint rate which is what the advertisers want. After six months of daily eyeball hits to the site I can recall the names of their top advertisers.

I still haven’t forked over the $36 and I’d like to think it is probably better for the company if I don’t. Pandora’s effectiveness imprinting ads in my mind should create very high demand for their web real estate while at the same time delivering a very high quality online music service. IMHO the folks at Pandora have created high standards and value for delivery of music and advertising in a Web 2.0 environment. When you open this Pandora’s Box a world of music escapes and engulfs you.

by Fred H. Dyste