ラベル AWS の投稿を表示しています。 すべての投稿を表示
ラベル AWS の投稿を表示しています。 すべての投稿を表示

2008年11月1日土曜日

Amazon Cites Momentum as EC2 Exits Beta

いよいよAmazon Web ServiceのEC2(Elastic Computing Cloud)サービスがベータを終了し、本格的に事業として開始される。 これに伴って、SLAも正式なものが提供される模様で、アップタイムを99.5%保証する、当為言った内容。
ベータ終了とSLAの登場で、エンタプライズの利用度が大きく上昇する、と想定されている。
  • Amazon's EC2 compute-on-demand service moved out of beta and into production today, with the key difference being that there's now a Service Level Agreement (SLA) ensuring customer credits should EC2's uptime fall below 99,95 percent. Amazon previously offered an SLA for its S3 storage service, but not EC2. Windows Server and Microsoft SQL Server are now available in beta for EC2, which is also adding a management console, load balancing and monitoring services.

    These additions are the latest advances in Amazon Web Service's transition from a playground for developers into a cloud platform offering on-demand services suitable for startups and enterprises alike. While the definition of "beta" has become decidedly fuzzy (Google has half its products in beta, including Gmail), there's no question that beta status and the lack of an SLA are a barrier to adoption for many enterprises. EC2 has now eliminated those potential resistance points.

  • 2008年7月18日金曜日

    Google AppEngine の問題点、AWSとの比較

    Google AppEngine(GAE)が発表され、登場してから数ヶ月がたったが、ネット上でGAEを評価した記事が多数登場している、下記のサイトはその一つで、GAEが通常のアプリケーション開発環境とかなり違う、という指摘をしており、関連するほかの記事とも照らし合わせている。
    市場を選考しているAmazon Web Servicers(AWS)の開発環境との比較が興味深く、GAEのデータベース(BigTableと呼ばれている)がかなりユニークで、通常のMySQLのプログラミングでは性能問題が多数露見する、という指摘をはじめ、プログラマーが注意しなければいけないポイントを指摘している。
    まだ新しいCloud Computingの世界、実際にアプリケーションを開発するベンダーが増える中、こういった指摘が多く登場すると思われる。

    Google AppEngine - A Second Look

    Update: Here are a few experience reports of developers using GAE. Diwaker Gupta likes how easy it is to get started on the good documentation. Doesn't like all the limits and poor performance. James here and here also likes the ease of use but finds the data model takes some getting used to and is concerned the API limits won't scale for a real site. He doesn't like how external connections are handled and wants a database where the schema is easier to manage. These posts mirror some of my own concerns. GAE is scalable for Google, but it may not be scalable for my application.

    It's been a few days now since GAE (Google App Engine) was released and we had our First Look. It's high time for a retrospective. Too soon? Hey, this is Internet time baby. So how is GAE doing? I did get an invite so hopefully I'll have a more experience grounded take a little later. I don't know Python and being the more methodical type it may take me a while. To perform our retrospective we'll take a look at the three sources of information available to us: actual applications in the AppGallery, blogspew, and developer issues in the forum.

    The result: a cautious thumbs up. The biggest issue so far seems to be the change in mindset needed by developers to use GAE.

    http://labs.google.com/papers/bigtable.html">BigTable is not

    http://www.mysql.com/">MySQL. The runtime environment is not a VM. A service based approach is not the same as using libraries. A scalable architecture is not the same as one based on optimizing speed. A different approach is needed, but as of yet Google doesn't give you all the tools you need to fully embrace the red pill vision.

    I think this quote by Brandon Smith in a thread on how to best implement sessions in GAE nicely sums up the new perspective:

    Consider the lack of your daddy's sessions a feature. It's what will make your app scale on Google's infrastructure.  

    In other words: when in Rome. But how do we know what the Romans do when the Romans do what they do?

    Brett Morgan expands our cultural education in a thread on slow GAE databases performance when he talks about why MySQL thinking won't work on BigTable:

    It might look almost look like a sql db when you squint, but it's optimized for a totally different goal. If you think that each different entity you retrieve could be retrieving a different disk block from a different machine in the cluster, then suddenly things start to make sense. avg() over a column in a sql server makes sense, because the disk accesses are pulling blocks in a row from the same disk (hopefully), or even better, all from the same ram on the one computer. With DataStore, which is built on top of BigTable, which is built on top of GFS, there ain't no such promise. Each entity in DataStore is quite possibly a different file in gfs.  So if you build things such that web requests are only ever pulling a single entity from DataStore - by always precomputing everything - then your app will fly on all the read requests. In fact, if that single entity gets hot - is highly utilized across the cluster - then it will be replicated across the cluster.  Yes, this means that everything that we think we know about building web applications is suddenly wrong. But this is actually a good thing. Having been on the wrong side of trying to scale up web app code, I can honestly say it is better to push the requirements of scaling into the face of us developers so that we do the right thing from the beginning. It's easier to solve the issues at the start, than try and retrofit hacks at the end of the development cycle.  

    A truly excellent explanation of the differences between MySQL thinking and GAE thinking.

    Now, if you can't use MySQL's avg feature, how can an average be calculated using BigTable? Brett advises:

    Instead of calculating the results at query time, calculate them when you are adding the records. This means that displaying the results is just a lookup, and that the calculation costs are amortized over each record addition.  

    Clearly this is more work for the programmer and at first blush doesn't seem worth the effort, especially when you are used to the convenience of MySQL. That's why in the same thread Barry Hunter insightfully comments that GAE may not be for everyone:

    This might be a very naive observation, but I perhaps wonder then if GAE is the tool for you.  As I see it the App Engine is for applications that are meant to scale, scale and really scale. Sounds like an application with a few hundred hits daily could easily run on traditional hosting platforms.  It's a completely different mindset.  ... Again maybe I am missing something, but the DataStore isn't designed to be super fast at the small scale, but rather handle large amounts of data, and be distributed (and because its distributed it can appear very fast at large scale).  So you break down your database access into very simple processes. Assume your database access is VERY slow, and rethink how you do things. (Of course the piece in the puzzle 'we' are missing is MapReduce! - the 'processing' part of the BigTable mindset)  

    Before developers can take full advantage of GAE these types of lessons need to be extracted and popularized with the same ferocity the multi-tier RDBMS framework has been marketed. It will be a long difficult transition.

    Interestingly, many lessons from AWS are not transferable to GAE. AWS has a VM model whereas GAE has an application centric model. They are inverses of each other.

    In AWS you have a bag of lowish level components out of which you architect your application. You can write all the fine low level implementations bits you desire. A service layer is then put in front of everything to hide the components. In GAE you have a high level application component and you build out your application using services. You can't build any low level components in GAE. In AWS the goal is to drive load to the CPU because CPU and bandwidth are plentiful. In GAE you get very limitted CPU, certainly none to burn on useless activities like summing up an average over a whole slice of data returned from SimpleDB. And in GAE the amount of data returnable from the database is small so your architecture needs to be very smart about how data is stored and accessed.

    Very different approaches that lead to very different applications.

    Applications

    The number of applications has exploded. I am always amazed at how enthusiastic and productive people can be when they are actually interested in what they are doing. It happens so rarely. True, most applications aren't even up to Facebook standards yet, but it's early days. What's impressive is how fast they were created and deployed. That speaks volumes about the efficacy of the application centric development model.Will it be as effective delivering "real" apps? That's a question I'm not sure about.

    So far application performance is acceptable. Certainly nothing spectacular. What can you do about it? Nada.

    I like the sketch application because people immediately and quite predictably drew lewd depictions of various body parts. I also like this early incarnation of a forum app. A forum is one of the ideas I thought might work well on AppEngine because the scalable storage problem is solved. I do wonder how the performance will be with a fine tuned caching layer? Vorby is a movie quote site showing a more realistic level of complexity. It has tabs, long lists of text, some graphical elements, some more complex screens, and ratings. It shows you can make applications you wouldn't mind people using.

    An option I'd like to see in the App Gallery is a view source link. Developers could indicate when adding an application if others can view their application source. Then when browsing the gallery we could all learn by looking at real working code. This is how html spread so quickly. Anyone could view the source for any page, copy paste, and you're on your way! With an application centric model the view source viral spread approach would also work.

    Blogspew

    As expected there's lots of blog activity on GAE:

  • As to all those people complaining their favorite language isn't available, take a chill pill, Urubatan asks us When will programmers learn that a language is just a tool?. I mostly agree with this take, but I also agree with a commenter who observed that it's a lot harder for a team of developers to turn on a dime and adopt a whole new everything.
  • Garrick Van Buren says Free & Open Is Its Own Lock-in. The idea being it's worthing paying something you know works, allows you to experiment, and you are aligned with their zeitgeist. Leaving that for "free" isn't a good deal.
  • evan_tech: google app engine limitations. Don't focus on minor problems. The big problems are: all code runs only in response to HTTP fetches, No long connections means no "comet" (server-push messaging), playing around with your data is hard as there's no way to perform operations on your data except by uploading code to the server, Table scans are slow and you can't cache because it's so slow you hit your CPU limit, bulk operations are hard, and no arbitrary queries.
  • RedMonk Clouds Rolling In: The Google App Engine Q&A gives covers a lot of GAE territory. List some of the cons: Python only, not database export, lock-in, and no cron. "...all of the current offerings have limitations that throttle their usage. Many of which are related to the lack of open standards. Apart from the mostly standard Python implementation, App Engine is decidedly non-standard."
  • Alex Bosworth pits AWS vs Google App Engine in a death match. Alex thinks: To be succinct, based on where the Google App Engine is today, I would say AWS still has a strong lead in application hosting, and I would not currently consider writing an application for Google's current platform. Cons: Lockin, The page-view limitation is quite low, no memcache, No long running pages, or cron jobs, Storage size limitation, One language, No requests unless they are through Google's API. Pros: it's free, looks pretty rocking, integrates with Google accounts.
  • Joyent is countering by offering free infrastructure for high volume python applications. Joyent only asks "that you provide Joyent unlimited access to your customer information and clickstream data." Your data has a lot of value. Google is also very aware of that. More in my Why Does Google Do What Google Does? post. Though the Joyent's building blocks approach is very different than Google's application centric approach. We'll see which matters more: the model or facilities?
  • Niall Kennedy in Google App Engine for developers does a great job contrasting the complexity of your normal website setup with an application approach. Normally you: purchase dedicated servers or virtualized slices, SCALABILITY (horizontal or vertical) = ability to easily add capacity to accommodate growth. Capacity doesn't mean speed.

    Planning includes realizing what you have right NOW, and predicting what you'll need later. Planning (what ?/why ?/when ?)
    ">capacity
    plan, configure web server, install Python,

    Apache is the most popular web server in use today because it is free, runs everywhere, performs well, and can be configured to handle most needs.

    http://httpd.apache.org/">Apache, setup MySQL in scalable fault tolerant configuration, insert caching layer, add monitoring layer, add static file serving and bulk file serving, make it all work together, spend your life keeping it working and responding to failures. Nicely drawn contrast to upload and go.

  • TechCrunch's AppEngine test application couldn't handle a TechCrunch level of load, which is a little concerning. This means usage limits are set a bit low and with no pricing model to work from it's reasonable to be concerned about the cost. Nobody wants a cell phone overage nightmare for their website costs.
  • Groovy: Google Datastore and the shift from a RDBMS. An excellent comparison of how BigTable differs from a RDBMS. The conclusion: The end result of this, is that the standard way a developer writes out the table schema for a RDBMS should be dumped almost entirely when considering an app using Google Datastore.
  • Service Level Automation in the Datacenter: What Google App Engine is NOT. It's a web play only, it's not a cloud in the sense of datacenter infrastructure IT can move to. You can't implement: Portal Services, SOA architectures, Business Process Automation, Enterprise integration, HPC, and Server and desktop virtualization.

    A lot has been made of the risk of lock-in. I don't really agree with this as everything is based around services, which you can port to another infrastructure. What's more the problem is developers will be acquiring a sort of learned helplessness. It's not that developers can't port to another environment, they simply won't know how to anymore because they will have never had to do it themselves. Their system design and infrastructure muscles will have atrophied so much from disuse that they'll no longer be able to walk without the aide of their Google crutches. More in another post.

    Developer Forum

    The best way to figure out how a system is doing is to read the developer support forum. What problems and successes are real developers experiencing trying to get real work done? The forum is a hoppin'. As of this writing over 1300 developers have registered and nearly 400 topics are active. What are developers talking about?

  • Please support my favorite language:

    PHP is popular because it's free, relatively easy to program in, and has a lot of features for producing websites quickly.

    http://www.php.net/">PHP, Ruby, etc. Hey, they had to start somewhere and Python is as good as anything else. A language is just a tool you know :-)

  • The usual this doesn't work in my environment type of questions. Far fewer than I would expect though.
  • The switch away from RDBMS thinking isn't coming naturally. A lot of questions wondering how to access BigTable like MySQL and that won't work. There are no joins in GQL, so how do you do normal things like get all the comments for a blog post?
  • Lots of how do use this or that API questions. Lack of certain commonly used APIs, like XML parsers is being being encountered.
  • Concern there's no database export. You can bulk upload data, but you have to write your own program to get it out again.
  • People are hitting limits like the 1MB upload limit on all requests. The 1000 database return limit is mentioned a lot. This is very different than the AWS model which advocates moving work to your CPU so it makes sense to return large sets of data. Google limits your CPU usage and the amount of data you can return so you have to be smart how you store and query data.
  • The pure service model has profound limitations for certain application types. An issue of how to do image processing came up. Usually a compiled class is used because using pure Python is slow. But you can't load these types of classes in AppEngine. And you can't parallelize the work by farming it out to other CPUs. You are stuck. Here's were a

    http://en.wikipedia.org/wiki/.NET_Framework">.Net type managed object model might help.

  • Surprisingly, fulltext search is not supported.
  • Sessions are another how do I it on GAE question. People are used to frameworks handling session storage.
  • One user was surprised at how slow database access was with BigTable. It takes GAE almost 3 seconds to save 50 of dummy records (consisting of just 2 text fields). A nice thread about how best to use BigTable developed. BigTable is meant to scale and you have to do things differently than you do in a MySQL world.

    Many "how do I" questions come up because of the requirement for service level interfaces. For example, something as simple as a hostname to IP mapping can't be done because you don't have socket level access. Someone, somewhere must make a service out of it. Make an external service is a common response to problems. You must make a service external to the GAE environment to get things to work which means you have to develop in multiple environments. This sort of sucks. To get cron functionality do I really need to create an external service outside of GAE?

    The outcome of all this is probably an accelerated servicifaction of everything. What were once simple library calls must now be exposed with service level interfaces. It's not that I think HTTP is too heavy, but as development model it is extremely painful. You are constantly hitting road blocks instead of getting stuff done.

  • Cloud Computingの価値を決める単位?

    Cloud Computingをサービスとして提供してるベンダーが増えているが、サービス料金を決めるための要素が各社バラバラであるのが現実。 電気やガスなどの公共料金のようにある単一の要素(使用量)でコンピューティングサービスを決める事が出来ないのが問題で、とはいえ、CPU、メモリー、ストレージ、ネットワーク、等のそれぞれの性能を尺度として複雑な価格構成も現実的に難しいことも課題となっている。
    Mosso(Rackspaceの子会社)を事例に新進のCloud Computingベンダーがどのようにこの課題に取り組んでいるのかが、この記事で紹介されている。

    How much is a unit of cloud computing?

    Posted by Phil Wainewright @ 4:17 pm

    As I make my way to tonight's heavily over-subscribed Cloud Computing Camp in London, I'm mulling an important aspect of cloud business models that I doubt will get much airtime tonight. People who talk about computing as a utility miss a vital point that Dan Farber brought up more than three years ago:

    "… an industry standard definition of CPU per hour usage doesn't exist. There is no equivalent to kilowatt hours or the price of a barrel of oil for CPU usage."

    Although Amazon EC2 subsequently took us a few steps closer than the Sun Grid offering that prompted Dan's remarks, the fact remains that cloud computing is nothing like the electricity grid. Cloud computing isn't a tradeable commodity. Each cloud provider operates its own proprietary infrastructure and every one of them has their own set of pricing plans. We can measure bandwidth in MB and storage in GB, but there's no standard unit of computing — providers measure hours or seconds of processing, but each processor configuration is different — making it all-but-impossible to compare the cost of hosting your application from one provider to another.

    I guess it's premature to expect such standards to emerge so early in the life of a nascent industry. Many providers are still evolving their own pricing models. One such case that's been interesting to watch is Mosso, the Rackspace subsidiary that relaunched as a pay-as-you-grow cloud computing service in February (disclosure: Mosso has given me a free trial account to test its service, which I've just started working with for a couple of my own sites and will write up once I'm further along with it).

    Last month, Mosso introduced a concept that, who knows, might provide the basis for a standard unit of computing. It has come up with the notion of a 'compute cycle' based on looking at the monthly capacity delivered by a typical 1.2Ghz server under average load, and has defined that as 10,000 compute cycles. This allows Mosso to calculate the processing time, disk I/O and memory that equates to a single cycle, and the provider measures this in real-time so that its customers can monitor their consumption during the month and it can bill them for what they've used at the end of the month. The 10,000 figure conveniently maps to Mosso's $100-per-month base-level monthly charge, and additional usage scales up at the same 1-cent-per-compute-cycle rate.

    The background to the creation of Mosso's compute cycle is an interesting story. When it first introduced its pay-as-you-grow pricing model in February, customers were very unhappy about its proposals and it was rapidly forced to backtrack. Its initial proposal had been to measure processing by simply counting requests, on the assumption that this was easy to explain and measure. But, as Mosso co-founder Todd Morey told me last month, "Not all systems are created equal." Customers with largely static websites pointed out that thousands of requests for a static HTML page have a different compute profile than the same number of requests for a dynamic PHP page. Others argued — and this was an important consideration from Mosso's point of view — that its proposed model that didn't reward customers for architecting sites to have a lean compute profile.

    "It's a more complicated effort to calculate compute, but it's certainly worth it," Morey summed up. "We needed some mechanism that measures your compute consumption."

    There are still some tweaks to be made, so Mosso won't be billing customers using the new model until September. A handful of customers are experiencing what it calls "abnormally high compute cycle usage" and the company has promised to investigate why this is occuring so that it can make sure the model is reporting usage accurately in those cases. But Mosso believes it has found a strong formula that it can use for a range of services as it expands its offerings in the future. "[Customers] can consume all these different services without having lots of different line items on [their] statements," said Morey.

    Whether other cloud computing providers will adopt a similar model of course is another question. For example, Amazon could move away from charging different prices for different types of machine image to a single compute-cycle price. If providers took the further step of standardizing on an agreed measure of compute-cycle, then customers could directly compare prices across different infrastructures — and perhaps ultimately consume computing from a true utility grid in which providers compete to offer the most competitive value. But perhaps that's a step too far towards commoditization.

    Amazon Web Services を利用したCloud Computing環境の構築事例

    Amazonの人間が、自社のWeb Servicesのアーキテクチャを利用してCloud Computing環境を(Cloud Architecture)と構築したレポートを発表した。 かなり詳しくシステムの構成や構築手順を説明しており、非常にわかりやすく説明してある。 今後このアーキテクチャを軸としたアプリケーション事例や他社のアプローチが多く登場すると思われる。

    White Paper on 'Cloud Architectures' and Best Practices of Amazon S3, EC2, SimpleDB, SQS

    I am very happy to announce my white paper on Cloud Architectures is now ready. This is one incarnation of the Emerging Cloud Service Architectures that Jeff wrote about a few weeks ago.

    If you are new to the cloud, the first section of the paper will help you understand the benefits of building applications in-the-cloud. If you are using the cloud already, the second section of the paper will help you to use the cloud more effectively by utilizing some of the best practices.

    In this paper, I discuss a new way to design architectures. Cloud Architectures are Services-Oriented Architectures that are designed to use On-demand infrastructure more effectively. Applications built on Cloud Architectures are such that the underlying computing infrastructure is used only when it is needed (for example to process a user request), draw the necessary resources on-demand (like compute servers or storage), perform a specific job, then relinquish the unneeded resources after the job is done. While in operation the application scales up or down elastically based on actual need for resources. Everything is automated and operates without any human intervention.

    Figure2_2

    As an example of a Cloud Architecture, I discuss the GrepTheWeb application. This application runs a regular expression against millions of documents from the web and returns the filtered results which match the query. The architecture is interesting because it is runs completely on-demand in automated fashion. Triggered by a regex request, hundreds of Amazon EC2 instances are launched, a Hadoop Cluster is started on them, transient messages are stored on Amazon SQS queues, statuses in Amazon SimpleDB, and all Map/Reduce jobs are run in parallel. Each Map task fetches the file from Amazon S3 and runs the regular expression - and aggregates all the results in the Reduce/Combine Phase and then disposes all the infrastructure back into the cloud (when the Hadoop job is processed)

    GrepTheWeb is one of many applications built by Amazon that uses all our services (Amazon EC2, Amazon SimpleDB, Amazon SQS, Amazon S3) together.

    Figure4

    A wide variety of different types of applications that can be built using this design approach - from nightly batch processing systems to media processing pipelines.

    An excerpt:

    Cloud Architectures address key difficulties surrounding large-scale data processing. In traditional data processing it is difficult to get as many machines as an application needs. Second, it is difficult to get the machines when one needs them. Third, it is difficult to distribute and co-ordinate a large-scale job on different machines, run processes on them, and provision another machine to recover if one machine fails. Fourth, it is difficult to auto-scale up and down based on dynamic workloads. Fifth, it is difficult to get rid of all those machines when the job is done. Cloud Architectures solve such difficulties.

    Applications built on Cloud Architectures run in-the-cloud where the physical location of the infrastructure is determined by the provider. They take advantage of simple APIs of Internet-accessible services that scale on-demand, that are industrial-strength, where the complex reliability and scalability logic of the underlying services remains implemented and hidden inside-the-cloud. The usage of resources in Cloud Architectures is as needed, sometimes ephemeral or seasonal, thereby providing the highest utilization and optimum bang for the buck.

    In the first section I discuss the advantages and business benefits of Cloud Architectures and how each service was used. In the second section, I discuss best practices for the various Amazon Web Services.

    You can download the PDF version or access it on AWS Resource Center

    I talked about this briefly at the Hadoop Summit 2008 and QCon 2007. I got some good reviews after the talk and hence I decided to put all my thoughts in this paper along with some Best Practices for the use of Amazon Web Services (Amazon EC2, Amazon SQS, Amazon S3 and Amazon SimpleDB together). Many developers from our community have been asking for a real-world example of a complex, large-scale application. I will presenting this paper at the 2008 NSF Data-Intensive Scalable Computing Workshop at UW and 9th IEEE/NATEA Conference on Cloud Computing later this week.

    I believe this new and emerging way of building applications, that run in-the-cloud, is going to change the way we do business.

    -- Jinesh

    2008年6月27日金曜日

    Amazonのクラウドコンピューティングの性能計測サービス

    Amazon社のEC2、S3、SQSなどのクラウドコンピューティングサービスのシステム性能を計測するツールを解発したHyperic社の紹介記事。  www.cloudstatus.comというサイトでそのサービスを提供。
     

    A Window on the Cloud

    Outsourcing compute power is wonderful — until something goes wrong. Unfortunately, when an Amazon Web Service goes down it's hard to know why, and it's even harder to know how well a particular cloud is performing in the first place. To make the cloud more transparent, open source cloud management software vendor Hyperic has launched www.CloudStatus.com, a web site that lets a user peek in on the various compute clouds to see how things are running.

    CloudStatus measures service availability, latency and throughput for cloud-based infrastructure and application services. The initial release provides metrics for Amazon's Elastic Compute Cloud, Simple Storage Service, SimpleDB, Simple Queue Service and Flexible Payment Service.

    Hyperic sends a software agent to make requests against various cloud services, and according to CEO Javier Soltero, it racks up quite a large bill doing do. The web site views are free, but Soltero says Hyperic also plans to launch a line of services for paying customers. It's a decent idea, but my worry is that Amazon or another cloud provider could shut the service down, either by offering their own status service or by stopping the Hyperic agent. Given the rush to provide dashboards, application-testing products and other services on top of established computing services, I'm eager to see how startups keep their footing in the clouds.

    2008年6月20日金曜日

    Red Hat Partners With Amazon.com On SaaS | MSPmentor

    Red Hat社がAmazon社のEC2(Elastic Computing Cloud)のサービスを経由して自社のJBoss ミドルウェアを提供する事が発表された。  JBossはJavaのオープンソースソフトウェアのライブラリで、RedHatが2006年に同社を買収してからRedHatがサポートを運営し、JBoss Enterprise Middlewareとして提供している。 
    AmazonのEC2に乗せる事により、クラウドコンピューティング環境でJBossを利用できるようになり、SaaSモデルの手法として注目される。
     
     

    Red Hat Partners With Amazon.com On SaaS

    When I added Amazon.com to our SaaS 20 Stock Index, a few readers asked me whether the online retailer is really a software as a service (SaaS) company. My answer: Absolutely. And a growing number of tech companies agree with me.

    A prime example: Red Hat has inked a SaaS partnership with Amazon.com to offer JBoss middleware as a hosted service. Here's a look at the deal, and its implications for managed service providers.

    At Red Hat Summit in Boston, the open source company disclosed that JBoss Enterprise Application Platform is now available within the Amazon Elastic Compute Cloud (Amazon EC2). Red Hat claims JBoss is the first cloud-based application server.

    For MSPs, the Red Hat-Amazon relationship is the latest example of open source software moving into the cloud. Red Hat Enterprise Linux was already available through Amazon EC2. And fast-growing open source databases and applications like MySQL and SugarCRM, respectively, are increasingly popular as hosted services, MSPmentor has noted.

    The challenge for MSPs is trying to figure out whether to build out hosted data centers, or to leverage third-party hosted services like Amazon EC2 or Google Apps, or Master MSP hosted services from such companies as Ingram Micro Seismic and Do IT Smarter.

    Even traditional MSP platform providers such as Kaseya say they will now offer network operation center (NOC) and hosted services, in an attempt to assist MSPs with 24×7 customer support and other gap services.

    Right now, it's sometimes easy to overlook how online companies like Amazon.com and Google are gradually moving into the SaaS worlds. But as SaaS and managed services continue to converge, MSPs will need to adjust their business strategies accordingly.

    2008年6月6日金曜日

    Amazon と Google の両社のPaaS事業の料金比較

    Google社のApplication EngineとAmazon社のWebServicesの価格を比較した非常に興味深い記事。  Amazonは仮想マシンイメージで提供する非常にFlexibilityに富んでいて、GoogleのHTTPベースのコミュニケーションプロトコルと異なる。  またGoogleは規模の小さいサイトには課金しない一方、Amazonはかなりきめ細かな料金体制を持っている点、Amazonがシステムとして少し進んでいる、という印象を受ける。
     

    James Hamilton's Comparison Google Application Engine vs. Amazon Web Services

    James Hamilton attended the Google IO conference and posts his comparison of Google Application Engine (GAE) vs. Amazon Web Services (AWS).

    Last week at Google IO, pricing was announced for Google Application Engine. Actually it was blogged the night before at: http://googleappengine.blogspot.com/2008/05/announcing-open-signups-expected.html.

    The prices are close to identical with Amazon AWS although GAE differs substantially from the AWS offerings.  The former offers a easy to use Python  execution environment whereas Amazon offers the infinitely flexible run-this-virtual-machine model. Clearly the Amazon model costs more to provide so, by that measure, AWS pricing is somewhat better:

    Google Application Engine Pricing:

    · $0.10 - $0.12 per CPU core-hour

    · $0.15 - $0.18 per GB-month of storage

    · $0.11 - $0.13 per GB outgoing bandwidth

    · $0.09 - $0.11 per GB incoming bandwidth

    · From: http://googleappengine.blogspot.com/2008/05/announcing-open-signups-expected.html

    Compared with AWS Pricing:

    · $0.10 - $0.80 per VM hour (depending upon resources allocated)

    · $0.15 per GB-month of storage

    · $0.100 - $0.170 per GB outgoing bandwidth

    · $0.100 per GB incoming bandwidth

    · From: http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2?ie=UTF8&node=16427261&no=3435361&me=A36L942TSJ2AJA and http://www.amazon.com/EC2-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&node=201590011&no=3435361&me=A36L942TSJ2AJA.

    There are some important differences that make the pricing comparison somewhat biased in a couple of ways. Two important differences: 1) as mentioned above, Amazon gives an entire virtual machine so EC2 is much more flexible than GAE both in that it can run arbitrary applications in arbitrary languages and that it supports all execution models whereas GAE only supports HTTP request/response.  Another key difference is the storage subsystem.  In the numbers above, we're comparing the Amazon blob store (S3) with the more structured storage model offered by GAE.  The more comparable AWS SimpleDB pricing is considerably higher than the GAE storage pricing. SimpleDB charges $1.50 GB/month in addition to machine usage and network transmission costs.  GAE is offering much more affordable semi-structured storage and the GAE storage model actually supports data types rather than having to force everything to character format.

    And, James makes a good point about the Amazon as a retailer vs. google.  Amazon understands as any good retailer, Wal-mart, Costco - the pennies added up, and are important given your low margins.

    GAE is still free to start with under 5M page views/month and up to ½ GB storage for free.  Obviously this helps developers get started without strings and that's a good thing. But, more importantly, it avoids Google from having to go to the expense of billing very small values.  In a weird sort of way, I'm more impressed with AWS billing $0.04 on some accounts in that it shows there billing system is incredibly lean. Scaling down billing is hard, hard, hard.

    2008年6月3日火曜日

    Amazon CEO Jeff Bezos氏のインタビュー クラウドコンピューティングについて語る

    Amazon社のCEOが自社のクラウドコンピューティング事業について語ったインタビュー。 
    Amazon社の元々の事業であったeCommerce事業はソフトウェアビジネスと比較して、マージンの薄いモデルであることが自社の効率向上に強く影響していることを強調し、そのフォーカスがこういった新しい事業を生んでいる、と語っている。
     
    転じて、こクラウドコンピューティング事業が従来のeCommerce事業と比較して、非常にマージンの高い事業であること、それがAmazonの株主に評価されている、ということが伺える。 
     

    Jeff Bezos Talks About Why Amazon is an innovator in Web Services

    GigaOm has an interview Amazon's Jeff Bezos about Amazon Web Services.

    This video confirms 2 reasons why I think AWS is successful. Being a retailer, Amazon has low margins and needs to be efficient. (they know how to do pricing to maximize profit.) And, being a retailer, they have to hit dates to meet retail schedules (no compromises on delivery).

    Here are more details for you to digest.

    • How and when Amazon began its cloud computing effort.
    • Why Amazon has become an innovator with Amazon Web Services and how it relates to their core business of being an online retailer.
    • Whether or not Wall Street recognizes Amazon's cloud efforts.
    • What's next for Amazon Web Services.
    • Whether or not Amazon has plans for a VC fund or for cloud computing startups.

    For even more info about Amazon's cloud computing efforts, join us at our upcoming conference, Structure '08, where CTO Werner Vogels will be delivering a keynote address.

     

    2008年5月31日土曜日

    Amazonの新しい、EC2 High-CPU サービス

    Amazon社が自社の推進しているEC2と呼ばれるPaaSサービスにHigh−CPU Serviceと呼ばれるCPU処理の能力の高いサービスを提供する事を発表した。

    Amazon Web Services provides resizable compute capacity

    AWS blog posts an entry they have added the capability to two new "high-cpu" instance types.

    Amazon EC2 users now have access to a pair of new "High-CPU" instance types. The new instance types have proportionally more CPU power than memory, and are suitable for CPU-intensive applications. Here's what's now available:

    The High-CPU Medium Instance is billed at $0.20 (20 cents) per hour. It features 1.7 GB of memory, 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units Each), and 350 GB of instance storage, all on a 32-bit platform.

    The High-CPU Extra Large Instance is billed at $0.80 (80 cents) per hour. It features 7 GB of memory, 20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each), and 1,690 GB of instance storage, all on a 64-bit platform.

    Behind the scenes amazon uses Citrix Xen for virtualization.

    Amazon Elastic Compute Cloud, also known as "EC2", is a commercial web service which allows paying customers to rent computers to run computer applications on. EC2 allows scalable deployment of applications by providing a web services interface through which customers can request an arbitrary number of Virtual Machines, i.e. server instances, on which they can load any software of their choice. Current users are able to create, launch, and terminate server instances on demand, hence the term "elastic". The Amazon implementation allows server instances to be created in zones that are insulated from correlated failures.[1]. EC2 is one of several Web Services provided by Amazon.com under the blanket term Amazon Web Services (AWS).

    EC2 uses Xen Virtualization. Each virtual machine, called an instance, is a virtual private server and can be one of three sizes; small, large or extra large. Instances are sized based on EC2 Compute Units which is the equivalent CPU capacity of physical hardware.

    1 EC2 Compute Unit equals 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. The three available Instance sizes are sized as follows:

    Small Instance

    The small instance (default) is the "equivalent of a system with 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform " [1]

    Large Instance

    The large instance is the "equivalent of a system with 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform"

    Extra Large Instance

    The extra large instance is the "equivalent of a system with 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform."

    Wouldn't it be great if enterprise IT was run this way. Amazon is figuring out how to sell compute better than anyone else, and that is their business as a retailer.

    2008年5月29日木曜日

    Amazon Web Servicesの急成長

    Amazonのブログによると、AmazonのWeb Servicesが急成長をとげており、従来のAmazonのリテールのサイトのトラフィックを超えている事が発表された。 
    Web Servicesはクラウドコンピューティングの走りで、最近ではPersistent Data(停電などの障害時にメモリが消えないようにする施策)など、他のクラウドコンピューティングサービスでは提供されていない新規機能等も備えており、業界でのインパクトも強い。 
    データセンターの新しい事業として注目されると思われる。
     

    Amazon Data Centers, A New Web Service Force?

    On Amazon.com web services blog, there is a graph of bandwidth consumed by AWS vs. Amazon's web sites.

    Lots of Bits

    In January of 2008 we announced that the Amazon Web Services now consume more bandwidth than do the entire global network of Amazon.com retail sites.

    Amazon.com CEO Jeff Bezos has been showing a chart of the relative bandwidth usage and I just received permission to post it here:

    Aws_bandwidth

     

    Amazon's Web Services growth has created a new force in online services. And Amazon's secret to its success may be its customer service focus.  Amazon is like a Nordstrom style retailer in that the customer is right.  How else can you explain amazon's rapid growth vs. the competition.

    2008年5月9日金曜日

    SaaS市場のトップ4大ベンダー

    Taleo社のVurv社の買収により、Taleo社は年商約$200Mに達する模様で、この記事によると、Taleo社を加えた4大SaaSベンダーが揃った事になる。  いづれも年商が$200Mを超える規模の事業(SF.comのみ$1Bと突出)で、今後のSaaS市場の動向を見る上で注目すべきベンダーである、といえる。 

    The four horsemen of SaaS

    Taleo's acquisition of Vurv, announced today, is a clear play by the SaaS vendor for breakout leadership of the people management sector — one of the hottest segments of the enterprise SaaS landscape, populated by fast-growing startups such as recent Nasdaq entrant SuccessFactors along with privately held Authoria, Cornerstone OnDemand, UK-based StepStone and others.

    Once the deal closes in June or thereabouts, Taleo will become one of four vendors whose revenues and reach puts them head-and-shoulders above other publicly quoted pureplay SaaS vendors serving the enterprise software market. These four horsemen of SaaS are:

    • Salesforce.com — the giant of the pack and runaway SaaS leader in CRM. Expects $1 billion revenues this financial year.
    • Omniture — secured its leadership in enterprise web analytics after closing its acquisition of Visual Sciences (formerly WebSideStory) in January this year. Expects $295 to $300 millon revenues this year.
    • Concur — consolidated its leadership in travel and expense management with its acquisition of smaller rival Gelco last year. Expects revenues of $211 million for the current financial year.
    • Taleo — acquiring Vurv will confirm its position as the leading talent management SaaS pureplay. Adding Vurv's annual revenues of around $40 million to Taleo's existing guidance brings its expected revenues for the current year to just under $200 million.

    Taleo's move on Vurv (previously known as Recruitmax) is an out-and-out expansion play: "It's really about scale and positioning Taleo for the next stage of growth," chief marketing officer Al Campa told me earlier today. Vurv brings no new products to Taleo's portfolio, he admitted, and over the next eighteen months the Vurv product set will be converged onto Taleo's recently refreshed application platform. Nor does it add any new marketplaces, although Vurv is a little stronger in Europe and has data centers both there and in Asia-Pac, which Taleo does not. The acquisition is simply about bulking up Taleo's customer base, its talent pool and its revenues.

    "You're starting to see the next generation of SaaS vendors taking shape," said Campa, who is very comfortable to have Taleo ranked alongside the other SaaS horsemen. "This [acquisition] creates one of the largest SaaS companies in the world," he added. Let's hope it stays that way — Taleo now has to show it can digest the acquisition while retaining Vurv's talent, at the same time as maintaining its own recent strong growth trajectory.

    UPDATE [added 00:56 May 7th]: In an interview with fellow Enterprise Irregular Bob Warfield yesterday, Concur CEO Steve Singh says, "I'm a big fan of Salesforce, Taleo, and Omniture. There's a good group of SaaS companies that's starting to emerge from the pack and really show what's possible and what the future will bring." Not quite a coincidence — I also spoke to Steve yesterday and he mentioned the other three companies to me too. When Al Campa later on mentioned the same set of companies, the 'four horses' analogy began to take shape in my mind.

    Also worth noting: Another EI, Jason Corsello, is hosting an online debate about the acquisition and also promises to write more about it. "This acquisition immediately changes the game and landscape in talent management," says Jason, a leading authority on human capital management software. "The acquisition also changes the course of history for Taleo who has typically focused on the combination of organic development and smaller, more incremental acquisitions."