IgorShare Thoughts and Ideas

Consulting and Training

Archive for the ‘Cloud’ Category

ASPConf 2012: Content for my presentations

Posted by Igor Moochnick on 07/20/2012

Building complex Single Page Application should be as enjoyable as visit to a SPA

You can watch the full Video on Channel9 and get the Source on the GitHub.

Check out the video


Tips for Building Responsive Cloud Applications

You can watch the full Video on Channel9 and get the Source on the GitHub.



Posted in Azure, Cloud, Javascript, Presentations, Web | Leave a Comment »

PaaS requires new dictionary definition

Posted by Igor Moochnick on 06/21/2012

There is a big range of opinions on what PaaS means. Last week during the CloudExpo 2012, one of the representatives of the AT&T booth told me that they offer PaaS when I’ve mentioned that I’m an architect and a developer working to provide a cloud abstraction fabric. When I’ve asked him to elaborate, he explained that they provide a way to people to create some forms and workflows to collect customers’ data and aggregate it. When I’ve asked him about what development environment they support he looked at me like I was an idiot and said: “this is the whole beauty of it – no development or coding is required but if I need something extra, their smart support team will build it for me”. The explanation of their features reminded me of the Google Docs.

At this moment I felt I was talking to an alien from "Man in Black". I challenge the guy on the fact that their offering can’t be possibly called PaaS and that it’s closer rather to SaaS. The guy killed me with one simple statement: "we provide you a PLATFORM to build your forms, hence we provide a PLATFORM-as-a-Service".

This conversation represents a similar trend we had a couple of years ago when every vendor who was selling some type of virtualization was claiming an IaaS and cloud affiliation. This is exactly what is causing a huge confusion for the consumers and customers with what the cloud is and means, what it is for and what it can deliver.

I feel that there is a need for a good new dictionary definition that can coin and explain all the cloud-related taxonomy and can either clearly identify the boundaries between the realms or bring the new definitions to all these overlapping gray areas.

In my dictionary: PaaS is a realm for the developers only (no offense for the rest of the world). In this context I mean that PaaS is a systems that exposes a defined set of APIs for anyone who is willing to code new behavior and orchestrate new service and application on top of it. Only in this case it can be called platform.

I do agree that the word “platform” has a wider meaning but I’m looking to create a clear distinction in our verbal communications so we, between ourselves, will know what we’re talking about.

Posted in Cloud, Thoughts | Leave a Comment »

Hybrid cloud experiencing explosion rate

Posted by Igor Moochnick on 06/20/2012

During the “State of the Clouds” presentation (at the RightScale 2012 conference) I’ve noticed an interesting slide that indirectly proves my point that I was stressing for the last 2 years – the enterprise customers are not yet ready to start using public clouds for their production needs, but they entertain the idea of the hybrid solutions. The slide doesn’t say anything specifically about the type of the customers, enterprise or not, but shows the trend in the market which reflects the mind-set shift.

Take a look of the scale and the speed of the Hybrid Cloud adoption:


Posted in Cloud, Thoughts | Leave a Comment »

Azure-related source repositories

Posted by Igor Moochnick on 06/19/2012

Microsoft has started opening more and more of the internal source code. Here are a couple of starting points:

Posted in Azure, Cloud | Leave a Comment »

CloudExpo in retrospective

Posted by Igor Moochnick on 06/17/2012

The visit to NewYork was a success from so many angles. Apparently I did a very bad homework but, accidentally and to my surprise, I hit New York’s Javits Center at a great point of time – at the same time there was a whole cluster of cloud-related events going on in parallel and I was able to get into a bunch of them:

My main goal was to visit CloudExpo and to network. I was looking to establish new connections and partnerships. CloudExpo, for me, was both a great success and a great disappointment.

It was disappointing to me as an architect because I didn’t learn anything new. I didn’t account for it to be a trade show in its purest meaning. Most of the sessions were presented by sales and marketing people and were targeted for clueless crowd that, as they thought, never heard about the cloud and was ready to eat any BS that was fed to it. This leads me to ask the CloudExpo organizers (and I got the same feedback from many attendees): please put names of the vendors and presenters’ titles on the Sessions schedule. This will greatly help attendees to make decisions on what sessions to visit.

The success of the CloudExpo concentrated in a bunch of great discussions I had with a couple of smart people and potential partners. Everyone was excited to hear about our BlueMetal ideas on the cloud PaaS abstractions.

One of the biggest ups and downs for me was a session from NetAxiom. The presenter, Sandy Zylka (VP Products & Technology), was speaking in a soft voice of a night time story teller that you use with your kinds when they fall asleep and you want to convince them to finally close their eyes at the end of the story.

  • When she said that now is the time to change the Cloud development paradigm – I felt enjoyment and excitement.
  • When she pointed out the current issues in the Cloud development and scaling – I felt I was flying.
  • But when she started mentioning some magic things that promise us automatic distribution of the program methods, automatic scaling across multiple machines and nodes – I started to feel dizziness and got a strong sense of DejaVu: we’ve been there. It was called RPC.
  • When the speaker mentioned that all of the current development methodologies are not valid anymore and we need to forget about coding functions and prescriptions for compilers – I started to feel really sick.
  • But when she said that it’s time to do development in graphical format which will produce some XML-like metadata instructions for the system that will ingest it and will figure out auto-magically what to do with all this – I vomited inside my mouth.

Our industry has experienced such disease in the form of UML code generation and COBOL that was promising business people to "describe" stuff without a need for developers (and then developers needed to fix and maintain all this crap).

5 minutes into the presentation and during the single slide, I felt as an institutionalized patient with a drooling moth that was fed by a spoon by a nurse. I couldn’t stand a single word more and left the session. I didn’t come to hear about unicorns pooping the rainbows.

Posted in Cloud, Thoughts | Leave a Comment »

Designing & Consuming a Cloud 2.0 API

Posted by Igor Moochnick on 05/17/2012

I really loved the QCon presentation by Andrew Phillips where he discussed Cloud API 2.0: the current state of cloud computing, why a Cloud API, the choices made while designing jClouds API, and how to consume such an API.

I really advise to check it out: http://www.infoq.com/presentations/Designing-Consuming-a-Cloud-2-API

Posted in Cloud, Presentations | Leave a Comment »

Cloud Virtualization. Cloud Standardization is unavoidable

Posted by Igor Moochnick on 04/22/2012

[This is a repost from my post on BlueMetal Consulting company blog]

I think it’s time to start talking about Cloud Virtualization. Today cloud diversity is driving customers out of the clouds instead of embracing them. Multiple cloud providers are trying to lure customers in by developing feature specialization and this may well serve to fracture the markets and the community even more.

Specialized clouds have a good reason for existence, but an explosion of many different ‘flavors’ of clouds are creating a similar problem to choosing an insurance policy – there are thousands of them, you have to be an insurance agent to understand it and there is a lot of fine print that hides the details of the policy.

Cloud Virtualization should provide a common ground for the generic solutions. This allows standardization of the knowledge and principals by which the general population can abide by. Where the "cloud citizens" can thrive and teach the juniors the basic rules of the environment and the survival practices. When the specific needs of your product or your solution require some special sauce – you’re welcome to shop around and choose a provider that can satisfy your specific taste.

The Cloud Virtualization is a necessity that should be recognized by now. You see some standardization in the IaaS platforms around Amazon stack (I.e. OpenStack, Eucalyptus, etc…) but still no specifications around PaaS.

Some of the major providers are starting to recognize the problem. Check out the recent VMWare announcement (VMware seeks Linux-ization of cloud with any-cloud app platform) where it claims:

“The key, …, is allowing developers to build applications using just about any framework, with the ability to deploy to just about any cloud.”

"Just as Linux provides a high degree of application portability across different hardware, Cloud Foundry provides a high level of application portability across different clouds and different cloud infrastructure," VMware CTO Stephen Herrod wrote in a blog post.

The calls for Cloud Virtualization are coming from everywhere, but, since developers have higher tolerance for complexity (they just have fun solving it by writing more code), you hear more vocal calls from the IT industry:

“What’s more important than cost savings for companies — at least in the U.S. and Asia-Pacific regions — is the ability to standardize their software and business processes across the company, according toa new survey of 600 large companies by Tata Consultancy Services, the $8 billion IT service provider. In Europe and Latin America, the primary rationale was the ability to ramp systems up and down faster.”


More and more organizations are beginning to recognize the need and advantages of operationally consistent clouds. The recent announcement from Zynga to move to an internal cloud architecture is the proof of my point:

“We own the base, rent the spike. We want a hybrid operation. We love knowing that shock absorber is there.” – Allan Leinwand, Zynga’s Infrastructure CTO

Zynga uses Citrix Systems CloudStack as its virtual machine management interface superimposed on all zCloud VMs, regardless of whether they’re in the public cloud or private cloud.

Inside Zynga’s Big Move To Private Cloud by InformationWeek’s Charles Babcock

To achieve progress in this direction we need to talk not only about different clouds and about private data clouds in the data centers (so called “private clouds”), but about a standard that can span across both of these (for the moment) different domains – hybrid clouds. The hybrid cloud should become the main topic in these conversations. It is a commonality between the public and the private clouds (we, developers, call it an abstraction – hybrid cloud with “empty” public component will give you the “private cloud” and vice versa).

“Thus if hybrid cloud is to become the architectural model of choice, it becomes necessary to unify operations across all environments – whether public or enterprise.”

The Conspecific Hybrid Cloud, HighScalability.com

“This ability to invoke and coordinate both private and public clouds is "the hidden jewel" of Zynga’s success, says Allan Leinwand, CTO of infrastructure engineering at the company.”

Lessons From FarmVille: How Zynga Uses The Cloud

So, in my opinion, Cloud Virtualization, (or in “dev speak” Cloud Abstraction) is the next evolutionary step of our industry. For the moment Platform-as-a-Service (PaaS) systems spanning the same APIs across different cloud providers are a great (and realistic) promise to achieve the cloud unification.

Here is why I think it’s true:

  1. The PaaS layer, in its core definition, has to provide an API for all the Cloud infrastructure control knobs. Otherwise it’ll not be considered as a CLOUD.
  2. The same control API will enable the development unified control tools ecosystems that can control in the same way multiple clouds from different cloud providers. Thus unifying all the IT and DevOps processes.
  3. Unified PaaS API layer will enable a new evolution cycle of the application development that will enable the same applications to run seamlessly on different clouds as well as on local data centers without modifications. Hence enabling IT and DevOps to make decisions how and where to deploy them.

Today there is only one publicly available project that shows some promise to achieve the Cloud Abstraction for the developers – JClouds. Lately, VMWare has been making some changes with their Cloud Foundry platform by promising to change the balance with BOSH – an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.

So, to sum all this up, I believe that Cloud Virtualization is unavoidable. Customers are looking to be able to scale across multiple cloud factors, and vendors are looking to lock in with feature creep. This tension will continue to grow in the models which are marketed today. The goal of reaching the cloud promise of true elasticity and flexibility based on what the application demands is the opportunity for our industry to deliver on, and we can wait for it passively or we can do something about it by architecting for this now.

For me personally, I choose the latter.

Posted in Cloud, Thoughts | Leave a Comment »

Building responsive scalable cloud Web applications with ASP.Net MVC4, WebApi, SignalR and Knockout

Posted by Igor Moochnick on 04/03/2012

Thanks for everyone who’ve attended my CodeCamp presentation. Thanks for organizers for making it happen.

I’ve had a chance to build the realistic distributed application live-coding from scratch. The application consisted from 2 roles – web role and a worker role. During the demo I’ve used the Amazon AWS cloud, but the similar technique can be applied to Azure deployments.

The audience was great and engaging even though we didn’t have enough and I was flying through the code.

The code I’m publishing (Amazon AWS demo) is a beautified version of the one we’ve created during the Code Camp.

Stay tuned for the mirrored Azure demo code…

NOTE: This is a simplified version and should not be treated as a real-life application.

Posted in Amazon AWS, Cloud, Community, Presentations, Training | 2 Comments »

Windows Azure Platform capabilities overview

Posted by Igor Moochnick on 04/01/2012

Recently I’ve stumbled upon a nice infographics that in one place outlines all the current Windows Azure services and capabilities. See the original Windows Azure article on MSDN.

Posted in Azure, Cloud | Leave a Comment »

Summary of Windows Azure Service Disruption on Feb 29th, 2012

Posted by Igor Moochnick on 03/14/2012

Microsoft gives a very well thought through and executed summary of the Azure service disruption that happened due to the Leap Year bug: http://blogs.msdn.com/b/windowsazure/archive/2012/03/10/summary-of-windows-azure-service-disruption-on-feb-29th-2012.aspx

I liked their in-depth explanation of how the internals of the Host OS and Application VMs are interconnected.

Posted in Azure, Cloud | Leave a Comment »

%d bloggers like this: