Here we go.  Event Processing and Cloud Computing are natural allies.  Events can be used in the monitoring, notification, and adjustment of cloud computing environments (CCE), and in the monitoring, notification, adjustment of, and in response to, the business capabilities running on those CCEs.   As I’ve mentioned numerous times, I believe event-based data integration will be critical to information, and therefore, business synchronization. 

In addition to being an event generator, and responder, cloud computing can also be a highly efficient, scalable, event processing platform.  For proof, just ask my friend Colin Clark at Cloud Event Processing.

So, it’s with no surprise, but great expectations, that I’m noting the beta release of Amazon’s Simple Notification Service (Amazon SNS).  From the Amazon service page:

“Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud. It provides developers with a highly scalable, flexible, and cost-effective capability to publish messages from an application and immediately deliver them to subscribers or other applications. It is designed to make web-scale computing easier for developers.

Amazon SNS provides a simple web services interface that can be used to create topics you want to notify applications (or people) about, subscribe clients to these topics, publish messages, and have these messages delivered over clients’ protocol of choice (i.e. HTTP, email, etc.). Amazon SNS delivers notifications to clients using a “push” mechanism that eliminates the need to periodically check or “poll” for new information and updates. Amazon SNS can be leveraged to build highly reliable, event-driven workflows and messaging applications without the need for complex middleware and application management. The potential uses for Amazon SNS include monitoring applications, workflow systems, time-sensitive information updates, mobile applications, and many others. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.”

From the SNS Functionality Overview, the service appears to be cloud based publish-subscribe:

  • “Create a topic: A topic is an “access point” – identifying a specific subject or event type – for publishing messages and allowing clients to subscribe for notifications.
  • Set policies for your topic: Once a topic is created, the topic owner can set policies for it such as limiting who can publish messages or subscribe to notifications, or specifying which notification protocols will be supported (i.e. HTTP/HTTPS, email). A single topic can support notification deliveries over multiple transport protocols.
  • Add subscribers to a topic: Subscribers are clients interested in receiving notifications from topics of interest; they can directly subscribe to a topic or be subscribed by the topic owner. Subscribers specify the protocol format and end-point (URL, email address, etc.) for notifications to be delivered. Upon receiving a subscription request, Amazon SNS will send a confirmation message to the specified end-point, asking the subscriber to explicitly opt-in to receiving notifications from that topic. Opting-in can be done by calling an API, using a command line tool, or – for email notifications – simply clicking on a link.
  • Publish messages / send out notifications: When topic owners have updates they wish to notify their subscribers about, they publish those messages to the topic – which immediately triggers Amazon SNS to deliver this message to all applicable subscribers.”

Of the features list, “scalable” caught my attention:

“Scalable – Amazon SNS is designed to meet the needs of the largest and most demanding applications, allowing applications to publish an unlimited number of messages at any time.”

Largest and most demanding? Tweets, market data, click-stream, blue mussels, Internet of Things, … 

Amazon’s SNS is a springboard to industrial strength event processing and the active information tier.  As I said, “here we go”.

Posted by brenda michelson at 3:41 pm in cloud offering, Cloud Watch, event processing, IaaS | Permalink | Comments(0)
| Trackback URL

Although Software Design is further down my enterprise considerations list, when Gojko Adzoc’s post on lessons he has learned developing in Amazon’s AWS environment, I knew I had to pass it along.  The post describes new challenges for developers who have previously worked in a purpose-built, directly controlled, infrastructure environment.  These challenges range from server reliability to storage speed.  After articulating the challenges, Adzic offers advice on “How to keep your sanity”:

“It took me a while to understand that just deploying the same old applications in the way I was used to isn’t going to work that well on the cloud. To get the most out of cloud deployments, applications have to be designed up-front for massive networks and running on cheap unstable web boxes. But I think that is actually a good thing. Designing to work around those constraints makes applications much better – faster, easier to scale, cheaper to operate. Asynchronous persistence can significantly improve performance but I never thought about that before deploying to the cloud and running into IO issues. Data partitioning and replication make applications scale better and work faster. Sections of the system that can work even if they can’t see other sections help provide a better service to customers. This also makes the systems easier to deploy, because you can do one section at a time.

To conclude, there are three key ideas to keep in mind:

    • Partition, partition, partition: avoid funnels or single points of failure. Remember that all you have is a bunch of cheap web servers with poor IO. This will prevent bottlenecks and scoring an own-goal by designing a denial of service attack in the system yourself.
    • Plan on resources not being there for short periods of time. Break the system apart into pieces that work together, but can keep working in isolation at least for several minutes. This will help make the system resilient to networking issues and help with deployment.
    • Plan on any machine going down at any time. Build in mechanisms for automated recovery and reconfiguration of the cluster. We accept failure in hardware as a fact of life – that’s why people buy database servers with redundant disks and power supplies, and buy them in pairs. Designing applications for cloud deployment simply makes us accept this as a fact with software as well.”

In the post, Adzic maintains that he is a cloud computing advocate, his goal of the post, and the presentation it came from, was to “expose some of the things that you won’t necessarily find in marketing materials.”

Read Adzic’s post.  Remember the 4th Enduring Aspect of Cloud Computing.

Posted by brenda michelson at 5:28 pm in 100-days, Cloud Watch, networks, performance & reliability, readiness, software architecture, storage | Permalink | Comments(0)
| Trackback URL

Positive cloud adoption metrics from reddit:

“As most of you know, we moved reddit to EC2 back in May of 2009. Our experience there has been excellent so far. Since we moved to EC2, the number of unique users has gone up 50%, and pageviews are up more than 100%. To support this growth, we have added 30% more ram and 50% more CPU, yet because of Amazon’s constant price reductions, we are actually paying less per month now than when we started.”

The reddit blog post was in response to opinions that reddit’s site had slowed since the move to Amazon.  The post continues with a “nerd alert” section on the volume-based cause of the slowdown, and described the necessary changes to reddit’s database and caching architecture.

I won’t replicate the description here, but suffice it to say, scale doesn’t guarantee performance.

Posted by brenda michelson at 4:09 pm in adoption, Cloud Watch, elasticity & scale, performance & reliability, use cases | Permalink | Comments(1)
| Trackback URL

Today’s Wall Street Journal had a short Dow Jones Newswire piece entitled "Microsoft Exec: Customers Embracing "Cloud Computing".  The lead-in:

“Corporate customers are switching to "cloud"-based technology more rapidly than Microsoft Corp. (MSFT) expected, a senior executive at the company said Monday.

"People are embracing cloud computing faster than we anticipated," Stephen Elop, who heads Microsoft’s business division – which includes the ubiquitous Office tools – said in an interview.”

The interesting thing though, was the article went on to suggest that Microsoft finds itself chasing Google, and that is what drove Microsoft’s recent price reductions:

“Redmond, Wash.-based Microsoft is ramping up competition, offering hosted versions of familiar services like email and Office for its corporate customers. Last week, it cut the price of its Exchange Online email services. The move was seen as in part a reaction to some accounts Google has won recently, such as a contract to run 30,000 email accounts for employees of the City of Los Angeles.”

This of course, Microsoft denied, and attributed the price reduction to economies of scale:

“Elop said wider take-up of services like hosted email had prompted Microsoft to introduce the price cuts, because Microsoft was increasingly able to offer such services at large scale without impacting profitability. He said Microsoft was confident it could offer such services profitably on an ongoing basis. Some analysts have expressed concern that the need to compete with rivals could lower margins.”

—-

Why is interesting?  The early leaders in cloud computing, both in innovation and offering adoption, are not traditional Enterprise and Agency IT Vendors.  Rather, they are a search company and a bookseller.  And neither is going away.

Posted by brenda michelson at 5:51 pm in Cloud Watch, SaaS | Permalink | Comments(0)
| Trackback URL

Reports from the Trenches: What’s Working in Virtualization and Green IT, moderated by Larry Hale, Director, Office of Infrastructure Optimization, GSA

Panelists:

  • Jack Baxter, Manager, IT&S, Government Printing Office
  • Richard Fichera, Director, Blade Systems Strategy, HP
  • Bernard Golden, CEO, HyperStratus
  • Dale Wicklizer, US Public Sector CTO, NetApp

Larry Hale has some starter questions for the panel:

1. Biggest challenges in adopting virtualization?

Jack Baxter: Greatest challenges: application qualification, funding, hardware and how it’s going to be used.  Heterogeneous environment calls for a lot of up-front research.

 more >>

Posted by brenda michelson at 5:55 pm in adoption, Blog, sustainability, virtualization | Permalink | Comments(0)
| Trackback URL

Alistair Croll is “interviewing” Werner Vogels in Fireside chat.  Some of the conversation points:

AC: Where all are the enterprise use cases? 

WV: Talks about enterprise IT challenges – thousands of enterprise application, cost, time to value.  Then, potential cloud benefits: cost, agility.  Says enterprises are doing small, or quiet, pilots right now.  Will we hear more in the future?  Yes, but it is early. 

 more >>

Posted by brenda michelson at 3:58 pm in Blog, provider positions | Permalink | Comments(0)
| Trackback URL