Welcome to MSDN Blogs Sign in | Join | Help

Cloud Services Architecture symposium

As indicated in various press articles and blog entries in the recent weeks, PDC will be Microsoft's 'coming out' party for its cloud services platform.

These additional platform assets will create a vast array of new possibilities, but at the same time introduce new architectural elements that architects and developers will have to master. Remember there is no such thing as a free lunch or as economists would say, there is an opportunity cost. (I know there aren't many credible economists left around here these days but some of their jargon is still applicable, especially in software architecture where we don't have things like credit default swaps...)

Anyway, going back to Microsoft and the cloud computing platform, my team along with many of our colleagues are putting together a cloud services architecture symposium on Day 4 of PDC. Titled Head in the Cloud, Feet on the Ground, this symposium will take an enthusiastic yet pragmatic look at the cloud opportunities. We will explore a few examples of cloud-based infrastructure usage as part of an existing application, we will discuss the architectural tradeoffs as well as best practices resulting from that usage. We will also walk through detailed examples of ‘enterprise grade’ hosted application design. And finally we will go through emerging patterns that take into account the physical aspects of a cloud-based application that are often overlooked, such as bandwidth which happens to be not infinite and certainly not free at high scale.

We believe it will be a good show packed with relevant and actionable guidance, so if you have not registered yet, here is the registration link, if you are coming, I will be looking forward to seeing on day 4 at the symposium.

As teasers, a couple of slides we are working on for the event.

 symp2

symp3

P.S.

PDC is of course much much more than this symposium, with exec keynotes, demos, a few hundred sessions, if you want to see what will be presented have a look at sessions page and/or subscribe to the announcement blog

P.S.S.
corrected a few typos

Posted by gianpaolo | 3 Comments
Filed under: , , ,

So, I have been tagged...

Over the week end, my good buddy Vittorio a.k.a. the man who knows more about identity than it is mentally safe, started a new game and tagged me.

Now, time to fire up a meme. There are super smart guys out there, and I'd be really curious to know what are the books that had some part in developing their thought process: hence I hereby tag Gianpaolo, Tim and Nigel to name at least 5 of the books that did the trick for them. I know that getting a reaction from Tim & Nigel will be difficult, they both blog very rarely, but it's worth a try nonetheless :-)

Speaking of books, amusingly, or maybe in a weird cosmic coincidence, on Saturday, in a Feng Shui inspired moment, I went to Half Price book and gave away many of the books that I read over the years. I have to confess that I was disappointed to only get a whooping $11.45 for the 60 or so books I gave back. Not that I cared about the money (my primary reason to go to half price books was to make sure they were recycled) but because it gave me the feeling that in the last few years I read a bunch of worthless books :)

Anyway, let's go back to the tagging game and discuss a few books that impacted me, I cannot really say that they are the one that impacted me the most, but certainly they all had an impact one way or another:

The first one I would to say is Aldous Huxley's Brave New World :

I must have been 12 or so when I read it and it is the first book that made me think. I don't think I caught all the underlying philosophical implications when I read it for the first time, but I caught enough to realize that books (and SF in particular) were an excellent way to surface and discuss fundamental human conditions. It triggered in me, the first self assessments of happiness, societal choices, politics etc. Funny enough, back then in my young unformed mind, I disagreed with the "morale" of the story and argued that sacrificing freedom and free will (through indoctrination) for perceived constant absolute happiness was an acceptable proposition (I changed my opinion since). As a pre-teen looking forward to full puberty, I think I also liked the fact that sex was a social activity in that society and was encouraged from early age, but I digress...

A much more recent book and probably the one that impacted me the most in the last couple of years is Taleb's Black Swan

Of course, I liked the concepts of ludic fallacy, the short coming of theoretical model, the value of empiricism, I particularly liked "Fat Tony" approach to life but what this book mostly did for me was to put back into me the love of erudition. Before reading the black swan, I had spent a few years without really reading books. I thought (wrongly) that with the Internet, instant news, blogs... books could not offer interesting perspectives anymore. Following the book I went back to old Italian and French classic, such as Montaigne's Les Essais, Rousseau's Contrat Social, Machiavelli's Principe... and enjoyed very much revisiting them. I even tried to get hold of German copy of Marx' Das Kapital which I never read, but not too surprisingly I did not find it, looks like it is not a very common book in the USA :)

Two other books that I read recently that I found similar in their intent (although quite different in their content) are Csikszentmihalyi's Flow and Schwartz' Paradox of Choice. Both helped me rationalize a lot of things. It is amazing how easy it is to find yourself trapped into the proverbial rat race, where mean is confused with end. Although quite light in substance, by offering elements of science and empirical evidence on happiness, these two books helped re-prioritize certain aspect of my life.

A series of book that my friend and colleague Eugenio (who I will tag later) made me discover is Druon's Les Rois maudits. Absolutely fascinating. The historic novels take place in the XIV century with characters such as the King of France, the Knights Templar, Archbishops of various cities... A part from being a great read, these books surface very articulately the perversion that Power has on human beings. Plots, counterplots, alliances and betrayals for world domination were as common then that they are now. You can replace the King of France, the Pope, the various barons with current political leaders and replace their quest for new land with Oil and it still works perfectly, showing that human nature has not changed in more than 700 years and is unlikely to change in the future.

Plenty of other books that did not individually shape my thinking process but most likely influenced me are the entire series of books I read about Silicon Valley, eBoys, founders at work, valley boy... business books such as purple cow, crossing the chasm, good to great, one actually that I found quite interesting is Peters' Re-Imagine, more from a format perspective than content per se.

Finally, one last book that did not really teach me much, but certainly made me laugh countless time and I recommend to anybody is of course the almost harmless :) Hitchhiker's guide to the Galaxy.

I am sure that I missed several fundamental books, but off the cuff this is my list. I would like now to pass the baton and tag a few people of which I highly respect their intellectual sharpness (and have a blog) I name: Eugenio, Darryl, Simon, Arvindra and Charles. Not sure how many will respond.

Thanks Vittorio for this trip to memory lane, it was fun to think back for an hour or so about the books I read...

Posted by gianpaolo | 0 Comments

A little English lesson for cloud lingo lovers...

Being a non native English speaker I regularly make pronunciation or grammar mistakes and I usually don't mind. There is one thing I learned today though that I found amusing mostly because it is a small mistake that is commonly made by pretty much everybody (English native speakers included). It is the usage of 'on premise' in the context of cloud computing, as in for example: does the software run on premise or in the cloud? It should be: does the software run on premises or in the cloud?

When corrected, I initially thought it was a tomäto – tamāto (/təˈmɑːtəʊ/ - /təˈmeɪɾoʊ) thing. But after checking on dictionaries, the correction was justified, premise is not the singular of premises (when used to mean buildings).

Premises are land and buildings together considered as a property. This usage arose from property owners finding the word in their title deeds, where it originally correctly meant "the aforementioned; what this document is about", from Latin prae-missus = "placed before".

Some people suppose that since "premises" looks like a plural, a single house or other piece of property must be a "premise"; but the word "premise" is reserved for use as a term in logic meaning something assumed or taken as given in making an argument.

Of course Wikipedia had that right already: http://en.wikipedia.org/wiki/On-premise_software 

On-premise software, is a common, although incorrect name for on-premises software. On-premises software is installed and run on computers on the premises (in the building) of the person or organisation using the software, rather than at a remote facility, such as at a server farm somewhere on the internet.

Who would have thought that one day I would share proper English usage with my fellow nephologists :)

Posted by gianpaolo | 1 Comments
Filed under:

Multi Tenant Data Access (MTDA) Blueprint

Although cloud storage fabrics are very cool, a lot of multi-tenant applications will be build against a database. Based on some work we did on our super famous sample application LitwareHR :) , we just released a blueprint providing guidance on writing a SQL Server based, single instance, multi-tenant data access layer. (thanks Michael for the blueprint framework)

 

Aa479086_mlttntda14(en-us,MSDN_10).gif

 

Here is a short video introducing the MTDA blueprint. Interviewer: Michael, interviewee: Eugenio    


MultiTenant Data Access (MTDA) S+S Blueprint Released

 

Enjoy and let us know what you think!

 

P.S.

Note that if you already have the S+S Blueprints Manager installed you can get this Blueprint by updating from the RSS feed.
If you want more information, you can visit the MTDA codeplex site: http://www.codeplex.com/mtda

Posted by gianpaolo | 2 Comments
Filed under: , ,

Software + Services for Architects Webcast

A couple of weeks ago, I recorded a webcast (~1hour) going through some of the architectural challenges faced by ISV architects in building S+S solutions, as well as the ones faced by architects in large enterprises consuming S+S solutions. Below a couple of slides from the webcast:

The Enterprise Perspective (Big Pharma)

bigPharma

The ISV Perspective (LitwareHR)

cloudification

Due to the 1 way nature of a recording, if you have any questions or comments, please contact me via this blog and/or leave comments.

 

Once again, the link to the webcast is: Software + Services for Architects (webcast)

Enjoy!

Posted by gianpaolo | 0 Comments

Make a movie on S+S and win a trip to Macau!

A couple of months ago I wrote an article providing a high level explanation of the basic concepts of S+S, now my friends in Asia Pacific need your help visualizing this article through a great video.

Anyone can participate – whether you’re a student, IT pro, architect or someone with movie-making talent.

 

The winner will jet off to Macau, where you can celebrate your win in style with a weekend at The Venetian Resort Hotel.


Submission deadline: 31 July 2008

All the info here: http://www.bringitalltogether.asia/ 

 

Looking forward to watching your submissions!

Posted by gianpaolo | 0 Comments
Filed under: , ,

I can't believe we are still talking about whether saas == multi-tenancy...

I was reading Why multi-tenancy matters and Many degrees of multi-tenancy today and honestly, I am still surprised that there is still a debate around whether multi-tenancy is a prerequisite for SaaS.

Multi-tenancy is a provider view of things, if you are a buyer of SaaS IT DOES NOT MATTER. It is equivalent to asking your utility company which turbine they are using to generate power, the only thing you care is getting 220V (110V in US), 10A, 99.99% of the time at a cost of  10c per kWh.  

Allow me another analogy I used in The “multi-tenant” emperor has no clothes post a while back.

Not too long ago I went to a very good restaurant serving great food, I didn’t ask them how many cooks were in the kitchen, whether they used 20 years old pans or when they last sharpen their knives… I enjoyed the food assuming that the Chef put her entire dedication to prepare my dish (even though I saw the same dish served at table next to me at almost the same time)

So, from a service consumption perspective (i.e. what people who actually pay for the service do) the important aspects should be: the functionality of the service (how well the food taste), how much I can customize the service (can I have the dish low in salt) the SLA (how diligent is the maitre d’ and how long I wait in between dishes) and the integration APIs (how well I can marry the dish with the special wine I brought with me (the restaurant had a friendly cork policy)) .
That’s it. Everything else is (at least in theory) none of my business.

For SaaS providers learning and mastering the art of multi tenancy is critical, but promoting that skill in the marketing brochure is a little bit like a Chef saying: “I cook with very sharp knives” (not very interesting, if you ask me)

So in summary:

if you buy SaaS, don't get lured into multi-tenancy marketo-munjo-jumbo and concentrate on features, SLA, integration options and cost.

if you are a service provider, then, yes, multi-tenancy is a (potentially very important) internal secret sauce that you can use to augment your economy of scale (at the expense of other aspects) but it is by no means a prerequisite, the right trade-off between multi-tenancy and isolation will depend on a myriad of factors and is often unique to the situation. As mentioned in this blog in the past and in Phil's post today, virtualization can be a very successful way of achieving interesting levels of economy of scale without architecting the application for full multi-tenancy.

A high level model that served me well in the past in helping company understand whether they should go multi-tenant or not is the "cost per feature" vs. "cost per tenant" model

More details here: http://blogs.msdn.com/gianpaolo/archive/2007/01/25/cost-per-feature-vs-cost-per-tenant-or-how-to-choose-whether-to-go-multi-tenant-or-not.aspx

For a more specific view on the data related aspect of multi-tenancy read this: Multi-Tenant Data Architecture

Posted by gianpaolo | 1 Comments

Cloudy Future for the Enterprise and most likely for ISVs too

As I mentioned previously, the study of clouds (cloud computing of course) is becoming a very popular topic in the software industry. In the last couple of weeks alone, I read tens of articles on the subject. I found many of them proposing various type of taxonomies for cloud computing, utility computing, PaaS etc. even more offering futuristic predictions, including but not limited to, the doom of "on premise" software, but I found extremely few attempting to explain the architectural impact of "the cloud".

With this gaping void in mind (btw similar to the void that existed about 2.5 years ago around architectural impact of SaaS) I decided to spend some cycles on trying to understand the implications of cloud computing for large enterprises and ISVs. To get started on the enterprise angle, I used a simple, yet powerful technique: I asked. I asked various 'office of the CIO' type folks who I happen to meet quite often in my job and tried to extract the commonalities of what they were telling me. I then bounced some ideas around with trusted colleagues and once refined, I validated these ideas with another group of 'office of the CIO 'type, making sure I was not completely off the mark. Below my finding.

'do it yourself' vs. 'as a service'

The first finding (which happens to be quite obvious after the facts) is that the most important element that an IT architect has to understand with regards to the cloud, is the impact of the fundamental question that the business or IT will ask itself: “what will I do myself” versus “what will I get 'as a service'”.

'do it yourself' will give you control. But if you do it yourself you will not be able to tap into economy of scale; quite understandably, if you do it yourself, the scale is 1 (you) no much economy there. You bear the full cost.

On the other hand, if you get something “as a service” you can tap into higher economy of scale. By leveraging the fact that the “as a service” provider is providing the service to hopefully thousands, if not hundreds of thousands of customers, you benefit from the economy of scale that the provider is capable of achieving. But you have little control on what you get.

So key takeaway #1: as illustrated in the picture below, at the highest level, you are trading control for economy of scale (and vice versa)

 

blog1

who builds it and where does it run

The second element that is important to understand is that in cloud-aware world, there are 2 dimensions of “do it yourself” vs. “as a service”

First dimension: Who builds it? (the good old build vs. buy); this directly impacts the control of FEATURES. If you build the software, you control the features that will be in the software, if you get the software from a service provider you get the features that are offered by the provider (very logical isn't it).

Second dimension: Where does it run? This choice impacts the control of SLA. If you run your stuff yourself, 'on premise', you have full control of the SLA. Note that controlling the SLA is different from having a high SLA or doing a better job than the guys in the cloud. It means that you are able to control what the SLA is. If you use the cloud, you get the SLA that is given to you.

Once again, as I mentioned earlier, for both of them (SLA and features), control comes at the expense of economy of scale.

blog2

map of possibilities

Why is this important? Because these 2 dimensions create a “map” of possibilities that enterprises can use for their IT assets.

Enterprises are now capable of deciding, along these 2 dimensions, where they want control of features and/or control of SLA at the expense of economy of scale. No area on the map is a “better choice” than another, it is about making sure that the various IT assets are placed where they should be, based on relevance to the business, compliance to regulation etc.

The table below gives some examples of IT assets type, based on the level of control along both features and SLA. In the top left corner, you find the classic 'packaged software deployed on premise'. By running it yourself, you have full control of SLA, but being a packaged software you have low control of features. The low control of features is compensated by high economy of scale of features. The software vendor, amortizing the R&D cost across hundred/thousands of customers, can build features cheaply than you can do yourself. The bottom left area is where we find the good old "build and run on premise" software, for example an homegrown banking system. There, you have full control of SLA and features since you are doing everything yourself but you have no economy of scale. Both the cost of developing the features and running the software can only be divided by 1 (you). The top right area is the canonical 'SaaS' offering. The economy of scale is high on both the features and the SLA, but you have little control on features and SLA. The intermediate columns (@hoster and @cloud) are deployment options with decreasing SLA control compared to doing it yourself but increasing economy of scale.

(note: one could justifiably argue about whether the economy of scale is higher @cloud or @vendor; the rationale to place them in this order is that @cloud gives you more control than @vendor; the assumption here is that you would be deploying your own software or packaged software in a cloud compute environment and therefore have some level of control on how much computing power you want to allocate to your applications, as opposed to @vendor where you have 0 control)

blog3a

semi-hypothetical scenario

Now that we have discussed some of the theory behind this, let’s go through a semi-hypothetical and largely simplified scenario. (I say semi-hypothetical because this scenario without being a 100% real one, is highly inspired from an actual conversation I had with a large pharmaceutical company.)

In this scenario, there are a couple of IT assets they built themselves, as they wanted very unique features and some other assets they sourced from the market as they “just” wanted what everybody else had. In other words, they made significant investments in assets they wanted competitive differentiation (e.g. clinical trial management software and new molecule research) and purchased from the market 'common in the industry', non-differentiating assets (CRM, Email,...). In addition to these choices, they ran all of their IT themselves, owning and therefore having control on the SLA of their entire IT environment.

blog3b

Although this picture is quite common, my discussion with this company CIO surfaced that this map did not represent how they wanted to run their IT. They knew they were spending too much of their budget on non-differentiating assets, limiting the amount of investment they could make on differentiating assets.

wished state

In other words, they way they would like to run their IT is better reflected by the picture below.

blog4

Email and CRM not being seen as competitive differentiators, it is ok to trade control on SLA and features for much higher economy of scale (shift to the right); legacy HR system built in house for historical reason should be pushed up for gaining economy of scale in terms of features, but would be kept in house for keeping the control of SLA. Clinical trial software, being an asset providing competitive advantage, gets a double down in terms of investments (thanks to the saving of pushing some assets to the right). The new molecule research software is pushed to the cloud to get access to elastic computing resources (variable peak computation) as well as cheaper storage (at the expense of control of SLA) but although it is running 'off premise', the development is kept in house to keep full control on features.

As you can see, even in this highly simplified environment, the goal is to clearly understand where keeping control makes sense and where it is better to tap into economy of scale and place the assets accordingly.

crossing the chasm

Unfortunately, this is easier said than done.

blog5

Reusing a sentence made popular by Geoffrey A. Moore in his book (albeit in a completely different context), pushing software out to the cloud (e.g. CRM in the example above)  as well as projecting cloud software back into the corporate boundary (e.g. the new molecule research software) is very much like crossing a chasm. And it is precisely that chasm crossing that architects must master.

The architectural challenges are multiple; the major ones can be categorized in 3 buckets: identity, management and data. Examples of identity challenges are around cross boundaries authentication and authorization, single sign on and identity lifecycle. Examples of management challenges are around cross firewall SLA monitoring and cloud software management action triggering (halting, pausing, throttling). Example of data challenges are data ownership, portability, reporting and privacy. As you can see, a lot of good stuff for architects to become even more indispensable :)

To be honest, I do not have all the answers yet, but now that hopefully the a clear scenario has been described, and the cloud impact of this scenario is better understood, I hope you will be joining us in our new journey in discovering and describing the underlying black magic required to master the cloud.

In future posts we will be going through these 3 buckets in more details, we will be discussing high level architecture(s) that this semi-fictitious "Big Pharma" company could put in place to smoothly cross the chasm, as well as describing the set of 'on premise' and  'cloud technologies' that can be leveraged to do all that. And of course, similarly to what we did with LitwareHR it would not be surprised if we threw a few bits and reference model in the mix as well :) Finally in addition to the enterprise angle, we will exploring the complementary view, the ISV perspective.

stay tuned!

P.S.

Although it was not the initial intent, now that I wrote all this, I find that this post has an eery similarity to Fred's invitation back in February 2006, when we started our SaaS architecture work and invited everybody to walk the journey with us. Hopefully this ride will be as fun as the previous one.

Nephologist: The Hottest Job in the Software Industry!

Nephology (from the Greek word nephos for 'cloud') is the study of clouds and cloud formation. It seems to me that everybody in the IT industry wants to be an expert in cloud these days; cloud computing that is.

Jokes apart, one thing I learned from the real clouds is that : Atmosphere is a dynamic system, and the local conditions of turbulence, uplift and other parameters give rise to many types of clouds. Replace "Atmosphere" with "Software Industry" and you have an idea of why so many "cloud platforms" are currently out there.

Knowing how difficult it is to reliably forecast the weather, I will not try to give you an accurate picture. But, I suppose I can safely say: stormy weather continues with 90% chances of cloud tomorrow.

Posted by gianpaolo | 3 Comments
Filed under: , ,

You liked LitwareHR v1, You loved LitwareHR v2, You are going to die for LitwareHR 'cloud storage' edition :)

More seriously... Eugenio just announced and released on Codeplex the latest drop of LitwareHR.

Although the application UI was treated with a welcomed 'facelift' (we were told that LitwareHR UI was "too 1990s"), the main effort for this release was to move from local storage infrastructure (SQL Server) to 'cloud storage' in the form of SQL Server Data Services (SSDS).

Our intent was to extract the architectural challenges and best practices related to cloud storage in the context of  line of business (LoB) applications. After having learned a lot through this exercise, I can safely say that, from an architecture perspective, the decision between local storage (SQL) or cloud storage (SSDS) will not be a no-brainer. As with pretty much all architectural decisions, it is all about trade off. The choice that will make most sense for your application will mostly depend on (a) the type of application you are building and (b) which are the challenges you want to own and which are the challenges you want to push to the underlying platform.

For example, in the specific context of LitwareHR, SSDS greatly simplified the multi-tenancy and customization aspects of the data layer; i.e.  a lot of 'plumbing' code related to entity customization went away thanks to the flexible entity model natively offered by SSDS. On the other hands, the data model as well as the querying code had to be modified since SQL (used in our previous implementation)  and SSDS do not share the same programming model (at least not at this stage). Also, SSDS not supporting JOIN required some new type of plumbing code e.g. cross-container search. The management of transactions had also to be rethought. Another example is the need of a better caching strategy on the business logic side of LitwareHR as the data layer (being in the cloud) is across a wide area network from the business logic, on the other hands we did not have to worry about the growth, scalability and availability of the storage subsystem anymore. From a hypothetical business model perspective, there would be changes as well, since on premise SQL server or licensed under SPLA would have a different cost curve from how SSDS would charged us. Specific comparison and analysis was not possible as SSDS has not disclosed its pricing model yet; but again, I do not expect being a no-brainer either and will depend on your storage access patterns, variability of access etc.

For those of you interested in deeper architectural challenges, trade offs  and solutions chosen, I can only highly recommend you to read  Eugenio's mini-series:

LitwareHR on SSDS - Part I - Multi-tenancy & Flexibility

LitwareHR on SSDS - Part II - The data access layer

LitwareHR on SSDS - Part III - Data access enhancements 1: caching

LitwareHR on SSDS - Part IV - Data access enhancements 2: developing offline

LitwareHR on SSDS - Part V - Searching across Containers

More on parallel queries across containers in SSDS

LitwareHR on SSDS - Part VI - Unit of Work support

Paging in SSDS & Parallel Queries

as well as a session at MIX08 on SSDS presented by Nigel Ellis uber SSDS architect (session here).

Also, for those of you wanting the see the goods, before investigating further, a screencast showing this release of LitwareHR is available (with sexy Argentinean accent) here.

For those of you wanting to experiment with SSDS, you can register for a beta account with this service here.

Probable next steps will be to do a similar effort around 'cloud Identity' and implement some of the concepts described here by my good friend Vittorio (a.k.a Dr. Identity Maximus) using the BizTalk Services Identity Provider; but let's not get too much ahead of ourselves and let's start digesting (and enjoying?) this new release of LitwareHR embracing cloud storage for part of its architecture.

This overall exercise was extremely valuable to us and allowed us to better understand aspects of cloud infrastructure in the context of a LoB application (as opposed to a more consumer oriented / social application), hopefully what we are sharing with you today (code, guidance etc.) will be as valuable to you in your investigation or implementation of cloud infrastructure based solutions.

Posted by gianpaolo | 1 Comments
Filed under: , ,

Consumerization of IT: an example

Over the last 2 years or so (here and here for example), I have been discussing how consumer grade IT services might/will be used as part of enterprise IT, Gartner even says that Consumerization Will Be Most Significant Trend Affecting IT During Next 10 Years.

Today, Eugenio pointed me to a blog entry from our mutual friend EdJez describing how the IT environment of his company (a non-profit small org) is mostly (entirely?) handled through cloud infrastructure, free service and desktop software. Very interesting read.

Of course, there is a HUGE difference between a small non-profit and a Global 1000 company in terms of requirements, risk tolerance etc. but IMO Ed's blog post is nevertheless interesting for any sized company.

Also interesting is Ed's "wish list" at the end:

  • Offline access
  • Unified authentication
  • Support for Integration

as well as his last comment:

I'd like to see more sites view themselves as 'building blocks' -- as part of a larger solution instead of trying to be the 'one stop shop'. Data, process, and UI integration APIs are always welcome.

All of this very much in line with was has been discussed in this blog and S+S strategy in general.

Thanks Ed for sharing and keep up the good work.

S+S Architecture Site on MSDN

Yesterday, we released (here) on the MSDN Architecture center a section dedicated to Software + Services (S+S).

We realized that depending on whether you are a large enterprise, an ISV, a hosting company or trying to establish yourself as a trusted marketplace for software services, you will have a different perspective on S+S. This site's intent is to cater for these different perspectives, by offering 4 sub sections:

  • how to build S+S
  • how to run S+S
  • how to consume S+S
  • how to monetize S+S

s_s

Note that it is the v1 release of the site so I am very open to feedback, gaps, suggestions etc. the only request is that you be constructive (if you don’t like it, please offer a suggestion, if you think things are missing, please provide us with of as detailed as possible description of what you are missing etc.)

Feel free to send me email via the contact link on the right hand side of the blog or by leaving a comment.

Enjoy!

Posted by gianpaolo | 6 Comments
Filed under:

I think Phil drank the Kool-Aid too but he has not realized it yet :)

Phil believes that I did drink too much Kool-Aid.

But after reading his post, it seems to me that we agree on most of the points, or maybe it is the Kool-Aid again :)

He says:

The answer, my friend, is ‘yes’. Here’s Gianpaolo’s justification for still wanting to buy an Office licence and run Microsoft’s productivity software on his PC at home:

“… as far as user interaction is concern[ed], I am a big believer in bringing it as close to the user as possible. Why would I ever want the cloud between me and my work?”

I totally agree with this point of view. But instead of going to all the trouble of buying a licence, installing the software locally and then having to maintain it, why not let the cloud bring the application to your desktop whenever you need it? That’s why Adobe developed AIR, why Google has Google Gears, and why Microsoft has developed Silverlight (in addition to investing in Softricity’s desktop virtualization software).

AIR, Gears, Silverlight etc. are not the applications you want to use; they are the containers of the applications you want to use. Once installed on the client machine, they offer a well known 'client side' execution environment that service providers can take advantage of if/when they want to offer a local, often richer UX and/or offline support. Difficulty or easiness of deployment aside, this is conceptually not different than requiring a specific version of Office, .net framework or Firefox to be installed.

Which brings me back to what I was saying in my previous post:

the problem is not running client software (there is plenty of CPU, Memory and Disk at the edge), the problem is easy deployment. I would rather focus time on fixing the root cause (deployment) than working on the symptoms.

This is why A LOT of effort are put into making deployment of these technologies on the client machines easy, fast and not requiring elevated privileges and/or technologies such as Softricity (as Phil astutely indicated as relevant) can play a big role in this model.

I reiterate my premise. Rich 'client-side-software-enabled' user experiences combined with hassle-free-infrastructure back-end hosted services is a far superior model than a cloud-only 'pure' SaaS model. The price to pay for this is deployment of the client piece, but thankfully deployment technologies and/or client side containers are increasingly facilitating all this.

Now if you don't want to call this Software + Services, it is fine by me, but it is what S+S is about.

For completeness, I need to say that rich client UX + hosted services is not the only scenario that the S+S model enables. There are plenty of others, specially in the enterprise where data ownership, regulatory compliance etc. are big decision factors, where S+S make sense but let's stick to the Office / Office Live Workspace scenario that initiated this discussion.

I was about to stop my entry here, but I decided to add another quick proof point that when we talk about AIR, Gears, Silverlight we are talking about software problems not services problems:

If you think about it, AIR, Gears, Silverlight etc.:

(a) they have to be installed on the PC before being of any use, this can be done through 'click here' type of downloads, through distribution deals with OEMs, or 'included' with other popular applications such Acrobat, toolbars etc.

(b) when a new version of these technologies is released, it needs to be redeployed on the client machines, at least for taking advantage of the new features available in the new client side container (e.g. better streaming, access to peripherals...); again either using techniques mentioned in (a) or using some sort of software updater as part of the installed software.  

(c) any breaking changes with code built against older versions have to be handled

(d) penetration of AIR, Gears, Silverlight... on client machine is a key metric for deciding whether to rely on it being present for the client piece or not

(e) ...

... in other words not that different from any other 'client software'.

And again, why would anyone want to go through all these hassles when a 'pure/cloud only' solution would remove all that: because it is MUCH better for users to interact with software locally than on the remote side of the cloud.

I too would love to live in a world where everything happens magically, but until the laws of physics will dictate how things happen on earth :) hybrid models, such as S+S are the best way to mitigate the different constraints.

At the end of the day, I think Phil and I are disagreeing more on the semantic of the term S+S than on the model itself.

Posted by gianpaolo | 0 Comments

S+S: Real or have I drunk too much Kool-Aid? :)

Readers of this blog must have seen that recently I have been spending quite some time discussing 'software + services'. I know that Phil thinks S+S is bunkum but I have to disagree on that one. Of course, an S+S world would disproportionately benefit Microsoft as it is the only company with massive assets on both sides of the equation, but it is not why I believe in it. I believe in S+S because when done properly it is far superior to a 'cloud-only' SaaS model.

Here is a classic example:

I love Office 2007, the interface is clean, efficient and now very familiar. Far, far, far superior to any web based productivity tools I tested. The problem of course was collaboration and anywhere access. How do I share documents with others and/or how do I access my docs from anywhere. Now I use Office Live workspaces in conjunction to Office. The combination of the two is very appealing:

I use Office (Word, Excel, Powerpoint) locally to author a document, presentation or spreadsheet and Office Live workspace in the cloud to collaborate with others and as an anywhere access store. The integration is very smooth via the Office add-in. As shown in the image below:

Capture4

(note that these type of solutions have been around for quite some time within the corporate boundaries of enterprises, and/or with Office Live; the big difference here is that it is now available 'out there in the cloud' for free (well ad-funded). Of course you need to have Office on your machine, but with Home and Student edition going for <$150 I find it a price worth paying for both the features and the local/offline aspect of it. (disclosure: as an employee I pay less than that for Office (for private use), but I would easily be willing to pay $150 was I not an employee)

I agree with Phil though that having the back end as a hosted solution is very good. No hassles in term of installation, data backup etc. but as far as user interaction is concern, I am a big believer in bringing it as close to the user as possible. Why would I ever want the cloud between me and my work? As I mentioned many times in this blog, the problem is not running client software (there is plenty of CPU, Memory and Disk at the edge), the problem is easy deployment. I would rather focus time on fixing the root cause (deployment) than working on the symptoms.

I have to confess that I miss 1 feature in Office / Office Live Workspace combo that I find very powerful in several web based productivity tools: the ability to have more than 1 person work on the same document  at the same time. I mitigate that with the usage of SharedView but in the few cases of "real time" collaboration, concurrent access to the document is better. But this is a missing feature not a fundamental flaw in the model.

 

So tell me, is this really an appealing hybrid model? Or have I drunk too much Kool-Aid? :)

Posted by gianpaolo | 2 Comments

LitwareHR v2 Webcast

Yesterday I recorded a 25min. walk through of litwareHR v2 (recording available here)

Even though the primary goal of LitwareHR is to elevate architectural best practices in a Software + Services world, this particular webcast does not dive very deep in the architecture of the application, rather it shows what the application does. If you like what it does you will like how it does it even more.

In summary:

Walkthrough here (what the app does)

Installer, code, etc. here (how it does it)

Enjoy!

Posted by gianpaolo | 0 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker