2008年9月10日水曜日

Cloudbursting の概念: Cloud Computingのハイブリッドアーキテクチャ

フロントエンドのインターナルシステムをさらに発展させる形で、Amazon Web ServiceのCloud Computing環境をバックエンドに利用し、ハイブリッドコンピューティングアーキテクチャ
 
Cloud Computingが登場する中、企業のアプリケーションはセキュリティや運用面でそう簡単にCloud Computingに自社資産を動かすのは簡単ではなく、躊躇している企業も多い。  その中で、企業内アプリケーションを従来どおり有効に活用しつつ、Cloud Computingの大量データベースや、バックアップ機能などのサービスをうまく組み合わせながら、うまくCloud Computingを運用する辞令を下記の記事で提案している。 
 
Conservativeな日本企業にはこのソリューションは有効である可能性が大きいと感じる。


Cloudbursting - Hybrid Application Hosting

I get to meet with lots of developers and system architects as part of my job. Talking to them about cloud computing and about the Amazon Web Services is both challenging and rewarding. Cloud computing as a concept is still relatively new. When I explain what it is and what it enables, I can almost literally see the light bulbs lighting up in people's heads as they understand cloud computing and our services, and what they can do with them.

A typical audience contains a nice mix of wild-eyed enthusiasts and more conservative skeptics. The enthusiasts are ready to jump in to cloud computing with both feet, and start to make plans to move corporate assets and processes to the cloud as soon as possible. The conservative folks can appreciate the benefits of cloud computing, but would prefer to take a more careful and measured approach. When the enthusiasts and the skeptics are part of the same organization, they argue back and forth and often come up with an interesting hybrid approach.

The details vary, but a pattern is starting to emerge. The conservative side advocates keeping core business processes inside of the firewall. The enthusiasts want to run on the cloud. They argue back and forth for a while, and eventually settle on a really nice hybrid solution. In a nutshell, they plan to run the steady state business processing on existing systems, and then use the cloud for periodic or overflow processing.

After watching (sometimes in real time in the course of a meeting) this negotiation and ultimate compromise take place time and time again in the last few months, I decided to invent a new word to describe what they are doing. I could have come up with some kind of lifeless and forgettable acronym, but that's not my style. I proposed cloudbursting in a meeting a month or two ago and everyone seemed to like it.

Eventseer_cloudburstSo, here we go. Cloudbursting is an application hosting model which combines existing corporate infrastructure with new, cloud-based infrastructure to create a powerful, highly scalable application hosting environment.

Earlier this week my colleague Deepak Singh pointed me to a blog post written by Thomas Brox Røst. In the post, Thomas talks about how he combined traditional hosting with an EC2-powered, batch mode page regeneration system. His site (Eventseer) contains over 600,000 highly interconnected pages. As traffic and content grew, serving up the pages dynamically became prohibitively expensive. Renerating all of the pages on a single server would have taken an unacceptably long 7 days, and even longer as the site became more complex. Instead, Thomas used a cloudbursting model, regenerating the pages on an array of 25 Amazon EC2 instances in just 5 hours (or, as he notes, "roughly the cost of a pint of beer in Norway."). There's some more information about his approach on the High Scalability blog. Thomas has also written about running Django on EC2 using EBS.

I'd be interesting in hearing about more approaches to creating applications which cloudburst.

-- Jeff;

 

Internal Cloud Computingの考察

Cloud Computingがいづれは企業内に浸透していき、Amazon等が提供している外部サービスとしてのCloud Computingと全く同じシステム環境とサービスを企業内のデータセンターで実現するケースが増える、と予測した記事。  内容は非常に興味深く、過去Internetが登場したときに、Intranetの概念そして技術が現れて企業内に浸透していったのと全く同じ状況が見えている。 
Internal Cloudとこの記事で呼ばれているアーキテクチャは、次の3つの用途が考えられる、と説明されている。
  • Creating a single-service utility:
    企業内のアプリケーションサービスがそのまま一つのCloudになる。
  • Power-managing servers:
    企業内の汎用的ナコンピュータリソースをUtilityのようにダイナミックに企業内ユーザに提供できる環境
  • Using utility computing management/automation to govern virtualized environments:
    アプリケーションの管理、社内ユーザへのProvisionも含めて、Utility的な感覚でCloud Computing環境化する
  •  


    Creating a Generic (Internal) Cloud Architecture

    I've been taken aback lately by the tacit assumption that cloud-like (IaaS and PaaS) services have to be provided by folks like Amazon, Terremark and others. It's as if these providers do some black magic that enterprises can't touch or replicate.

    However, history's taught the IT industry that what starts in the external domain eventually makes its way into the enterprise, and vice-versa. Consider Google beginning with internet search, and later offering an enterprise search appliance. Then, there's the reverse: An application, say a CRM system, leaves the enterprise to be hosted externally as SaaS, such as SalesForce.com. But even in this case, the first example then recurs -- as SalesForce.com begins providing internal Salesforce.com appliances back to its large enterprise customers!

    I am simply trying to challenge the belief that cloud-like architectures have to remain external to the enterprise. They don't. I believe it's inevitable that they will soon find their way into the enterprise, and become a revolutionary paradigm of how *internal* IT infrastructure is operated and managed.

    With each IT management conversation I've had, the concept that I recently put forward is becoming clearer and more inevitable. That an "internal cloud" (call it a cloud architecture or utility computing) will penetrate enterprise datacenters.

    Limitations of "external" cloud computing architectures

    Already, a number of authorities have pretty clearly outlined the pros and cons of using external service providers as "cloud" providers. For reference, there is the excellent "10 reasons enterprises aren't ready to trust the cloud" by Stacey Higginbotham of GigaOM, as well as a piece by Mike Walker of MSDN regarding "Challenges of moving to the cloud". So it stands that innovation will work around these limitations, borrowing from the positive aspects of external service providers, omitting the negatives, and offering the result to IT Ops.

    Is an "internal" cloud architecture possible and repeatable?

    So here is my main thesis: that there are software IT management products available today (and more to come) that will operate *existing* infrastructure in a manner identical to the operation of IaaS and PaaS. Let me say that again -- you don't have to outsource to an "external" cloud provider as long as you already own legacy infrastructure that can be re-purposed for this new architecture.

    This statement -- and associated enabling software technologies -- is beginning to spell the beginning of the final commoditization of compute hardware. (BTW, I find it amazing that some vendors continue to tout that their hardware is optimized for cloud computing. That is a real oxymoron)

    As time passes, cloud-computing infrastructures (ok, Utility Computing architectures if you must) coupled with the trend toward architecture standardization, will continue to push the importance of specialized HW out of the picture.
    Hardware margins will continue to be squeezed. (BTW, you can read about the "cheap revolution" in Forbes, featuring our CEO Bill Coleman).

    As the VINF blog also observed, regarding cloud-based architectures:
    You can build your own cloud, and be choosy about what you give to others. Building your own cloud makes a lot of sense, it's not always cheap but its the kind of thing you can scale up (or down..) with a bit of up-front investment, in this article I'll look at some of the practical; and more infrastructure focused ways in which you can do so.

    Your "cloud platform" is essentially an internal shared services system where you can actually and practically implement a "platform" team that operates and capacity plans for the cloud platform; they manage its availability and maintenance day-day and expansion/contraction.
    Even back in February, Mike Nygard observed reasons and benefits for this trend:
    Why should a company build its own cloud, instead of going to one of the providers?

    On the positive side, an IT manager running a cloud can finally do real chargebacks to the business units that drive demand. Some do today, but on a larger-grained level... whole servers. With a private cloud, the IT manager could charge by the compute-hour, or by the megabit of bandwidth. He could charge for storage by the gigabyte, and with tiered rates for different availability/continuity guarantees. Even better, he could allow the business units to do the kind of self-service that I can do today with a credit card and The Planet. (OK, The Planet isn't a cloud provider, but I bet they're thinking about it. Plus, I like them.)
    We are seeing the beginning of an inflection point in the way IT is managed, brought on by (1) the interest (though not yet adoption) of cloud architectures, (2) the increasing willingness to accept shared IT assets (thanks to VMware and others), and (3) the budding availability of software that allows "cloud-like" operation of existing infrastructure, but in a whole new way.

    How might these "internal clouds" first be used?

    Let's be real: there are precious few green-field opportunities where enterprises will simply decide to change their entire IT architecture and operations into this "internal cloud" -- i.e. implement a Utility Computing model out-of-the-gate. But there are some interesting starting points that are beginning to emerge:
    • Creating a single-service utility: by this mean that an entire service tier (such as a web farm, application server farm, etc.) moves to being managed in a "cloud" infrastructure, where resources ebb-and-flow as needed by user demand.
    • Power-managing servers: using utility computing IT management automation to control power states of machines that are temporarily idle, but NOT actually dynamically provisioning software onto servers. Firms are getting used to the idea of using policy-governed control to save on IT power consumption as they get comfortable with utility-computing principles. They can then selectively activate the dynamic provisioning features as they see fit.
    • Using utility computing management/automation to govern virtualized environments: it's clear that once firms virtualize/consolidate, they later realize that there are more objects to manage (virtual sprawl) , rather than fewer; plus, they've created "virtual silos", distinct from the non-virtualized infrastructure they own. Firms will migrate toward an automated management approach to virtualization where -- on the fly -- applications are virtualized, hosts are created, apps are deployed/scaled, failed hosts are automatically re-created, etc. etc. Essentially a services cloud.
    It is inevitable that the simplicity, economics, and scalability of externally-provided "clouds" will make their way into the enterprise. The question isn't if, but when.

     

    2008年9月6日土曜日

    Cloud Computing市場にVC投資が活発化

    WAN Optimization等も含めたCloud Computing業界に最近VCの投資が増えている。  景気の悪化に伴い、Cloud Computing市場は成長を遂げる、という考えから投資が増えているのでは、という記事。 

    VCs Back Tools to Look Inside the Cloud

    Enterprise software, which has gone from running on the computer to being hosted in a corporate data center, is now moving out to nebulous pools of servers called clouds. As computing clouds become part of the corporate information technology environment, making sure software hosted in the cloud is delivered as quickly and efficiently as possible will become increasingly important.

    Whether it's an external cloud such as those offered by Amazon.com or an internal cloud operated by a Wall Street investment bank, connecting the applications running on those pools of compute power to the employees using them is going to be an integral part of a company's wide area network, or WAN. And that has venture firms taking a fresh look at an already mature industry known as WAN optimization.

    There's nothing terribly exciting about making sure the pipeline that delivers applications between various corporate branch offices and data centers keeps moving and the software gets delivered as quickly as possible, but it's a multibillion-dollar area of spending for corporations intent on squeezing every bit of efficiency from their broadband connections. Players in the WAN optimization market include Riverbed, BlueCoat, and Packeteer, which BlueCoat agreed to buy back in April, as well as Citrix, Cisco and Juniper.

    Despite the relative maturity of the market, venture dollars are still coming in, with two fundings in August alone. On Aug. 18, Ipanema Systems, whose tactic of selling to service providers could be used to offer WAN optimization to providers of computing clouds, said it raised $7 million from Noble Ventures. About a week later, Expand Networks said it raised $8.5 million from Intel Capital, one of several rounds of funding the company has raised since its 1998 formation. On Wednesday, Expand purchased software provider NetPriva, a move that will deepen Expand's visibility into data networks.

    Both Expand and Ipanema are smaller players, says Tracy Corbo, an analyst with Gartner. She says these firms have niche products but aren't likely to take a lot of market share away from the existing vendors. Meanwhile, there is also venture interest in creating and finding startups that might use the building blocks of WAN optimization as a launchpad for better cloud utilization and pricing. As Ryan Floyd, a general partner with Storm Ventures, says, "There are opportunities in this space for connecting two types of compute clouds and using WAN optimization to ensure reliability so outages don't happen."

    What's so interesting for venture firms (and eventual corporate customers) is the type of knowledge some WAN optimization startups have on hand. That visibility into a network and the servers running applications make it possible to track the delivery of cloud-based services and offer service-level agreements. Many offer compression that could reduce the costs of delivering data from a cloud. For consumers it means Twitter may become more reliable while for corporate users, it means one less strike against cloud computing. It's also why Expand bought NetPriva and why David Asprey is starting a new company called Cloud Nines.

    Asprey plans to launch within six months and doesn't yet have venture backers, but as a veteran of Citrix, Akamai and Exodus, he's familiar with some of the problems facing cloud providers. "The reason people care so much about WAN optimization now is that cloud computing is coming up, and clouds remove the barriers and policies an IT department has in place. So now visibility of the network traffic has become very important," Asprey says.

    Being able to measure the availability and costs associated with delivering every byte of data will benefit corporate users, but it should help the providers of clouds squeeze the lowest costs and most utilization out of their networks as well. Google has talked about such network-aware pricing, as have other service providers. Given that providing the basic pools of servers that comprise a computing cloud is a fairly low-margin business, finding pricing models that can take into account cheaper routes for data is a compelling way to shave costs.

    Since you have to be able to see the network — a capability some of these WAN optimization firms have — in order to determine the best way to traverse it, expect older players to try to enhance their visibility across the network and newer players to try to usurp their dominance with a cloud-specific model.

    2008年9月4日木曜日

    Private Cloudに関する考察

    企業内のデータセンター、もしくはCo-Locationされたデータセンタにおいて、特定の企業専門のCloud Computing環境の事を指して Private CloudもしくはEnterprise Cloudと呼ばれる事が多くなってきている。  Intranetが発展した形ともいえるが、下記の記事を読むとその違いがわかりやすく説明されている点この記事は読み応えがあった。 
     

    The Rise of Cloud Privatization

    The world of clouds these days is full of definitions and counter-definitions. There are many posts that try to define the concept of cloud computing; many that try to distinguish utility computing, grid computing and cloud computing; many that try to define public vs private clouds; and many that dismisses the notion of private clouds.

    Jonh Foley, in his article "The Rise Of Enterprise-Class Cloud Computing", referred to private cloud as an oxymoron,

    That's an oxymoron since cloud computing, by definition, happens outside of the corporate data center, but it's the technology that's important here, not the semantics.

    But by whose definition? The industry as a whole haven't even been able to nail down a concrete definition of cloud computing. Given that there's no concrete definition, then by definition, private cloud is not an oxymoron. But I do agree with John, let's focus on the technology and not the semantics.

    Geva Perry, chief marketing officer at GigaSpace Technologies, did just that. By focusing on the technology and architectural aspects of cloud computing, he wrote in a GigaOM blog post,

    Cloud computing is a broader concept than utility computing and relates to the underlying architecture in which the services are designed. It may be applied equally to utility services and internal corporate data centers, as George Gilder reported in a story for Wired Magazine titled The Information Factories.

    Cloud Attributes

    But instead of everyone trying to create their own definition of clouds, let's look at the list of attributes that clouds have and compare public and private clouds.

    • Elasticity: The ability to dynamically provision (expand) or de-provision (shrink) the computing capacity as needed.
    • Utility: The ability to be charged by the amount of resources used. Great examples would include Amazon Web Services' charge model. In an enterprise setting, sometimes business units are charged by the internal IT groups for the resources they requested. The utility model would allow IT groups to perform chargebacks in a similar model to AWS.
    • Scalability: The ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged. For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added. [ via wikipedia ]
    • Reliability & Availability: No failed whale! The cloud infrastructure and platforms must be reliable and available to the applications that are using them. There's probably a lot of technology involved here to make this happen. For example, the ability to transparently migrate a virtual server when the running node has failed.
    • Manageability: The ability to effectively manage (start/stop/migrate/expand/shrink/etc) the different server and application instances in the cloud.
    • Security: The ability to secure the data and access to the cloud. Public clouds still have a trust issue with many of the enterprise customers, which is why the ? is there.
    • Performance: The ability to execute and complete tasks within the acceptable timeframe (defined by the SLA).
    • API: I consider this to be a desired attribute. This refers to the ability of doing resource management via some type of documented programming interface.
    • Virtualization: Applications are decoupled from the underlying hardware. Multiple applications can run on one computer (virtualization a la VMWare) or multiple computers can be used to run one application (grid computing). [ via GigaOM ]
    • Multi-Tenancy: The ability to house multiple customers using the same infrastructure and still be able to segregate the data.
    • SLA-Driven: The system is dynamically managed by service-level agreements that define policies such as how quickly responses to requests need to be delivered. If the system is experiencing peaks in load, it will create additional instances of the application on more servers in order to comply with the committed service levels — even at the expense of a low-priority application. [ via GigaOM ]
    • Support: The ability to smack someone upside the head when something fails.
    Attributes Public Private
    Elasticity
    Utility
    Scalability
    Reliability & Availability
    Security ?
    Performance
    API
    Virtualization
    Multi-Tenant
    SLA-Driven ?
    24×7 Support

    So if we are looking purely from a technology perspective, private clouds can absolutely exist. In fact, given the questions for the public cloud, enterprises are more likely to experiment with private clouds for mission critical applications.

    Market and Vendors

    According to Merrill Lynch, the public and private cloud infrastructure, platform, applications and advertising together will be a $160 billion market by 2011, or roughly 12% of the total worldwide software market.

    The total $160bn addressable market opportunity includes $95billion in
    business and productivity apps, and another $65 billion in online advertising.

    IBM and Sun have comprehensive solutions for 'internal Clouds'. Dell targets large scale data centers, and HP provides 'everything as a service', making their solutions attractive for 'external Clouds'.

    So who are some of the private cloud infrastructure/platform startups that are taking advantage of this $160 billion market? (Feel free to leave a comment if I missed anyone.)

    Company Product
    3Tera AppLogic
    Arjuna Agility
    Cassatt Active Response?
    Elastra Elastra Cloud Server
    Enomaly Enomalism
    GigaSpaces XAP, EDG, and Community Edition