Monday, 3 May 2010

SaaS: Software or Service?

No, it is not about definitions. I know it might sound like a dull question to ask especially when everyone knows that SaaS is a healthy combination of both software and service. But my question is given the current conditions, where should the business focus more on – the software aspect or the service aspect?
Paraphrasing – again, the question is would you seek the most powerful, feature-rich software or a reliable, available, fast, economic service? What a question! Answer is obvious. You want both. Aha! That’s where the problem is.
Whenever you fuse two things/concepts/ideas, you will find cases where one of the components dominating over the other. The case having a fine balance of all fused components takes time to evolve or might even be a compromise of all components.
Let’s look at Software part of SaaS: Potential problems include:
  • There are hundreds of SaaS applications. But many offer basic, common features which are likely to meet the needs of large subscriber base. Some ecosystems such as SalesForce allow customisation. But not all do so.
  • Many SaaS applications are available in two modes – as onsite licensed software and as a SaaS version. In many cases latter is not as effective/powerful as the former. For example: Google Apps.
    • This leads to a further problem: the SaaS provider continuously enhances his product leading to change management/end user experience concerns.
  • Not all types of software are suitable for SaaS. For example: graphic intensive applications, business intelligence software etc. are not ideal candidates for SaaS as they demand resources.
  • Not all SaaS applications are well designed for scalability. This leads to service issues such as latency, availability, performance etc.
  • Not all SaaS applications are built for inter-operability. As a result, you could be facing data portability issues, duplicating effort, subscribing to multiple applications etc.
Now let’s look at Service part of SaaS: Potential problems include:
  • The term “service” is subject to interpretation. Many SaaS vendors meet the minimum expected services including: availability (or uptime), metering, billing, basic security (again in a variety of ways) and scalability in some form for example: number of users.
    • This means, you will be depending on other service providers to get other parts of the service such as storage, archiving, customised security and so on. As the number of parties involved increases, responsibilities need to be clarified, support could be limited and normally issues surface at the border where two service providers meet.
  • A good “Software” provider is not necessarily a good “Service” provider. This is because of focus on core competencies. Software houses focus on, well, software engineering and development activities. Over the years, it is likely that their corporate culture including sales, marketing and customer service is tuned towards “license buying customers” – who are likely to be few in number – compared to “rent paying subscribers” – who are likely to be large in number.
    • Not all software providers will be willing to take on the service provisioning role as it might blur their business focus. They are likely to outsource it to third parties leading to service complexities.
So what should you do? Be aware of issues at both ends of SaaS, get into details, set expectations and negotiate maximising your advantage.
That’s common business sense, isn’t it?

Cloud Homework: Checklist For Successful Migration into the Cloud


Having heard so much about cloud computing, I am sure that many businesses would like to taste the cloud for real, even as a pilot project. Where do they start? Is there a “checklist” to follow? There could be many, but I haven’t seen a comprehensive one. Perhaps they are hidden behind many other articles or unpublished or not given much publicity they deserve or I need to read more. Anyways, I thought of writing one.
I don’t want to build a “management checklist” for getting onto the cloud. You know, the typical one which says “Set goals – identify parameters – build a decision tree consider risks, pros and cons – taken an informed decision”. But, I want to build a checklist for a business which has already taken a management decision to go for cloud computing or try cloud computing in a small way.
Don’t forget to perform risk analysis after each step to determine whether you are falling into a danger zone. Also at every step, you must identify a business process to cover failure at that step.
  1. Set Expectations Right: Success or failure of your journey depends on your initial expectations. Few examples of expectation setting are shown below:
    1. There could be performance trade-offs and latency issues.
    2. IT Managers will have to give up some control on their IT applications and data.
    3. Manager’s ability to forecast IT usage cost is proportional to their ability to forecast IT usage in terms of bandwidth, storage use and CPU cycles.
  2. Cleanup Internal IT: “Cleaning up your internal IT is the first step” says Gartner. The term “cleanup” could mean different things to different companies. Some possibilities are explored below:
    1. It could mean knowing your IT architecture, making a list of applications in “real” use, development work going on (authorised and unauthorised), nature of applications (mission-critical, critical, support applications)
    2. Trying horizontal integration or “pooling” of similar applications and IT services across departments, cost centres, geographical regions.
    3. Identifying dependencies between applications and minimising them as much as possible.
    4. Grouping applications that need similar hardware, platform or software environment.
  3. Cleanup Data: In this step you need assess the state of your data and condition it for movement into the cloud.
    1. Prepare to send the data into the cloud in several iterations/increments/waves.
    2. Package the data in such a way that it is independent of underlying applications or data environments. This not only helps data management but also switching data service providers when needed.
    3. Ensure consistency in definition of data elements
    4. Identify different types of data: data under regulation, vulnerable data, private data and so on.
    5. Ensure strong metadata descriptions. This helps data archiving, retrieval and estimating impact of data loss.
  4. Attempt Virtualisation: Virtualise as much as possible. Move applications that require similar processing environments to the same server.  Example: Exchange and Mail services. Also ensure that business critical applications are served by a pool of servers, just in case of server failure.
Remember following important points about virtualisation
    1. Not all servers, services are ideal for virtualisation
    2. You cannot and should not Virtualise everything
    3. Virtualisation creates single point of failure!
    4. Security challenges remain the same after virtualisation
    5. Licenses typically apply to physical servers not virtual ones. So paperwork needs to be checked
  1. Distribute Right: Decide what to put where. It is unlikely that a single cloud set-up or a cloud service provider will meet all of your requirements. Hence you will have to live with multiple clouds of different types. Follow a general rule of thumb to decide what application goes where. Here are few suggestions
    1. Business Critical Application - Don’t take them anywhere, they stay put
    2. Internal Development Environment, if any - Private Cloud
    3. Shared Services - Shared Data Grid Services
    4. Internet based search – Public Cloud
    5. Mail, Collaboration – Consider massively scalable services
  2. Consider Readymade Solutions First: Look at existing solutions in the cloud. Is there anything that you can pick up right away that meets your needs? For example
    1. Storage for new projects from an IaaS provider?
    2. Development environment for new products from a PaaS provider?
    3. Do any of the SaaS applications meet an outstanding need of the organisation?
  3. Choose your cloud service provider: You need to work with multiple partners to realise your cloud dream. You could use several methods to choose your vendors and partners. Few are examined below.
    1. Look at companies that provide technology and associated services.
    2. Choose companies based on their experience and maturity. It’s a no brainer. But do remember that there could be new entrants who are more agile and innovative than old biggies.
Remember the following while choosing vendors:
a.    You need to consider yourself to be a team captain in this multi-vendor-partner game of clouds. You need to drive agreements, commitments and own the results.
b.    Some vendors may quote compliance with cloud standards. But cloud standards are still emerging.
c.    Don’t dismiss vendors who were earlier seen as System Integrators, just because system integration for/on the cloud is still nascent. They could help you cleanup your internal IT.
  1. Cleanup Processes: Cloud solution needs to be built around your business process not vice versa. Hence reviewing your business processes is quite important.
    1. Set up a command protocol or governance model clearly identifying who instructs the cloud service provider and who’ll control service parameters.
    2. Review or define new processes that govern commercial aspects of the IT. For example: How does your accounting system need to change in order to recognise value of IT assets?
    3. Agree with your cloud service provider, an unambiguous method to track key service characteristics such as availability, performance, security, latency, usage and billing.
  2. Clearly Communicate: Concerned stakeholders must be informed and educated. Review this checklist with them and modify it based on their feedback. Be prepared to face resistance, fear and confusion as many stakeholders do not yet understand the cloud.
  3. Prepare To-Be image of your IT: If you consolidating all of your cloud homework, you should be in a position to draw post-cloud-migration view of your business/enterprise. If you cannot do so, perhaps it is a good idea to repeat these steps as you may not be ready for the cloud migration yet. If you are able to visualise the post-cloud conditions, then you are ready to test the waters.
It is likely that you will reap some benefits from this checklist even if you decide not to migrate to the cloud. Potential benefits include cleaned up internal IT, data and processes.
And don’t forget to share your experience within the industry.

Thursday, 29 April 2010

Time to move on - series of webinars

Perhaps it is only a little exaggeration if I say that the industry is slowly getting saturated with fundamental knowledge of cloud computing. We have seen many events where cloud has been introduced, its types are discussed, there seems to be basic understanding of IaaS, PaaS and SaaS. It is time to move on.

I will be running a series of webinars on a variety of topics. First wave of these webinars will run between May to mid July. Here is a tentative plan of these webinars. I will confirm exact details as we come closer to the planned date.

(1) DSKTN Scalable Computing Roadmap – May 7th 14:30 to 15:30 GMT
We would like to introduce our “roadmap” which helps structured knowledge sharing. This webinar explains motivations behind the whole roadmap and how it was constructed. Also, we will show list topics/concerns/issues each component of the roadmap will address. We need your attention, feedback and improvement suggestions.

(2) Cloud Homework – Getting Ready for Cloud Computing – Tentative Date 13th May 2010 - Enterprise Focus AreaWe have reached an inflection point – we need to choose either to consciously choose to continue with status quo or to embrace the cloud in measured steps. In this webinar, we will examine first few steps a business could take could take to get into the cloud and beneficial side effects of this preparation.

(3) Cloud Computing Challenges and Opportunities for Developers – Tentative: 27th May 2010 – Developer Focus Area
Most of the events on cloud computing were discussing technical merits of cloudware or business benefits of cloud computing. We see very little focus on developers of cloudware. Do they understand what it takes to build a cloud application? Should they be retrained? Are they worried? This webinar lists challenges and opportunities cloudware developers face as on date.

(4) Implementing a cloud – Tentative Date 3rd June 2010 - Enterprise and Technology Focus Areas
This webinar will discuss two key questions: How to have/implement your own private cloud? And how to co-exist with private and public clouds (hybrid clouds)?

(5) SOA and Cloud Convergence – Tentative Date 10th June 2010 - Enterprise and Technology Focus Areas
Most of us were educated on SOA by IT industry vendors and gurus. Now they are teaching us the cloud. Do SOA and Cloud converge? Or should the business spend money on both? This webinar will discuss where and how SOA and cloud come together and drift apart.

(6) Cloud Application Architectures – Tentative Date 17th June 2010 - Technology/Developer/Industry Focus Areas
Although “Is there a method in this madness?” seems to be a more appropriate question to pose; we will be polite and discuss the question “Is there a software model or architecture behind a cloud application?” in this webinar. We will examine choice of architectures and few methods to model a cloudware.

(7) Creating Competitive Differentiation with the Cloud – Tentative Date 24th June 2010 - Enterprise Focus Area
Assuming that a business adopts/implements cloud computing, how realistically could a business achieve an edge over their competition? If everyone is on the cloud, including your competitors, what could you possibly do to be competitive? We will look at few case studies where businesses have innovated using/with the cloud.

(8) Introduction to LSCITS: Large Scale Complex Information Technology Systems – Tentative Date 1st July 2010 – All Focus Areas
In this webinar we will introduce a unique programme which takes a long term view to develop reliable, large scale, complex IT systems. It is an interesting combination of a variety of topics including education, practice, standards, new architectures, methods, processes etc.

(9) Catching up with Hardware – Tentative Date 8th July 2010 – All Focus Areas
Multi core processors, large video memories, super-scalar processors, ultra-large storage spaces, cloud on a chip ... the hardware industry is growing in leaps and bounds – but does my desktop still hang? This webinar will examine how software is trying to catch up with hardware and associated challenges.

(10) Lessons from Cloud Computing – Quarterly Update – Tentative Date 15th July 2010 – All Focus Areas
This webinar will be our second, quarterly, objective reporting of lessons learned in cloud computing area. We will list lessons and try to seek patterns in them.

You will see separate posts confirming each webinar on our website.

I am interested in your feedback on this webinar series. Are they appropriate? Do you want us to give priority to any other topic? Would you like to speak in one of our webinars? Don’t hesitate. Interact with us.

Thursday, 8 April 2010

Webinar: Lessons from Cloud Computing

The IT industry doesn’t seem to get tired about cloud computing! Everybody seems to be speaking about virtualisation, private clouds, PaaS, SaaS of late. But there are silent implementations, adoption of cloud computing technologies and businesses have learnt many lessons. So, we believe that now we should take time out and look at lessons learnt so far.

The Digital Systems Knowledge Transfer Network (DSKTN) is a Technology Strategy Board funded technology network that stimulates innovation between industry, government and academia and aims to generate new ideas that will meet the challenges of a digitally-enabled Britain. We bring together expertise in Scalable Computing, Cyber Security and Location and Timing technologies. Combined innovation in these areas has the power to solve emerging challenges blocking the UK’s path to a digital society. To know more about us, please visit our website http://www.digitalsystemsktn.org/

This webinar is an initiative from the Scalable Computing Programme of the DSKTN.

We are delighted to share a few key lessons from cloud computing world. You are welcome to participate in this webinar.

Title: Lessons From Cloud Computing
Date: Thursday, April 15, 2010
Time: 2:30 PM - 3:30 PM BST

Space is limited.

Reserve your Webinar seat now at:
https://www1.gotomeeting.com/register/172824016

After registering you will receive a confirmation email containing information about joining the Webinar.

Monday, 5 April 2010

Beyond SPT (Security, Privacy and Trust) What Else You Must Worry About in the Cloud?

Perhaps by now you would have attended at least two workshops on cloud computing and heard half a dozen people emphasizing three top cloud computing worries Security, Privacy and Trust. Not surprisingly significant effort is being put to find reasonable solutions to Security, Privacy and Trust in the industry and academia. Consortiums are also trying to set standards for identity management etc.

I am not denying SPT the attention they deserve. But they assume importance only when there are things in the cloud. I would like to mention three issues associated with taking things into the cloud. And one issue which is as generic as SPT.

My list includes the following:

1. Migrating applications into the cloud
2. Designing applications to meet large scale customer demand
3. Platform gap between cloud and non-cloud services
4. Disaster Recovery in the cloud

Let’s see each one in a bit more detail.

1. Migrating applications into the cloud

I have heard politicians, local councils and consultants talk about how magnificent public services would be when they get onto the cloud. But the main question is “Are these services in a state where they could be migrated to the cloud?” I wouldn’t bet my dollar on a positive answer to this question. Most of the services quoted by cloud lovers are developed by service providers for the local councils and federal Governments and optimized for them. I am somewhat confident to say that these applications have such a strong coupling with existing architecture, IT infrastructure and IT culture, that it would be quite a challenge to migrate them to the cloud, be it the Government’s own cloud.

Challenge is same in a large enterprise. Majority of IT applications are bespoke. Though large scale commercial applications are purchased for the global consumption of the enterprise, there are numerous local tweakings which pose significant obstacle to taking them to the cloud. In nightmarish scenarios, CIOs may not even have the list of these tweakings and local managers might exaggerate the side effect of migrating to cloud largely helped by the fear of the unknown.

To further compound the problem, local departmental managers may have sponsored bespoke IT applications that do not fit well into the overall architecture of the enterprise let alone designed for scalability.

2. Designing applications to meet large scale customer demand

While businesses are busy gauging up cloud computing, developers are busy churning out new applications for cloud and non-cloud environments. While large software product developers have kept the art of service enabling applications to the cloud largely a secret, pure software service providers are on their own to discover best practices in designing and developing truly scalable applications. As application scalability can neither be measured nor effectively demonstrated before the application is sold, it is quite possible that heuristics and business value articulation are in play to promote scalability.

It makes sense for the developer community to go back to the basics and re-learn the art of software architecture and design including design patterns and performance engineering until such time the academia comes out with languages and IDEs with built-in frameworks for guaranteed interoperability, scalability and performance.

Perhaps it is sufficient if software is designed the way it is supposed to be - cloud or non-cloud. In design phase, designer should focus on modularity, technology independence, high performance and resource utilization. Design flaws are likely to be tolerated under “General Issues with IT” in a non cloud context, but mean a disaster for the application in the cloud context because the cloud would easily expose any design flaws associated with performance and resource utilization.

3. Platform gap between cloud and non-cloud services

With hybrid clouds becoming a reality, applications and services are likely to be spread between on-cloud and off-cloud contexts. There could be few software elements such as application servers that might exist on both contexts. Though supplied by the same vendor, on-cloud and off-cloud software elements are likely to remain as separate products. As a result, a large enterprise is likely to have variety of products on-and-off cloud. And some services such as messaging are likely to exist both on and off cloud.

The question is what percentage of enterprise applications remains sensitive to this platform gap? Data is very likely to be shared between both contexts and hence a clear separation (on-cloud, off-cloud) is not practical. So, how would applications be interoperable in such a scenario? Though interoperability is achieved, there is one more problem – variable degree of control. On-cloud services are likely to be less controllable by the purchasing enterprise compared to off-cloud services.

One way to help is to look for products that are agnostic to this platform gap, which means more market research!

4. Disaster Recovery In the cloud

How many enterprises see disaster recovery as an all inclusive, overarching theme that is beyond backup? And how many enterprises believe that disaster recovery is one of those responsibilities which cannot be purchased?

Disaster Recovery is a business process which employs technical and non-technical means to ensure business continuity (not just data recovery).

Cloud Service providers might bundle support for disaster recovery with their standard services. CIOs must examine the boundaries where services terminate and responsibilities change hands. These business interfaces could terminate independent of each other and one cannot force a handshake between multiple service providers especially when things go wrong.

Some enterprises have the habit of separating disaster recovery plan from business continuity plan. It would be beneficial if the buyer of cloud service takes an integrated approach to business continuity and disaster recovery and drives common understanding of disaster and end to end minimum service levels across multiple cloud service providers.

That was a brief introduction to some of the issues that I thought CIOs would like to consider beyond security, privacy and trust in a cloud computing scenario.

Scalable Computing Programme Organization

Scalable Computing Programme is one of the three programmes of Digital Systems Knowledge Transfer Network. I run this program. Here is a detailed overview of the programme.

Scalable Computing Programme builds on the extensive work done by GridComputingNow! KTN. We have changed our focus to address variety of stakeholders that DSKTN might interact with.

As shown in the picture below, we have five focus areas within the scalable computing programme.

A focus area is further divided into multiple ‘tracks’.

This approach helps us to focus and channelize our energy. We understand that there would be synergies across tracks and overarching themes. Hence, the focus areas and tracks will be kept loosely couple so that we do not end up in silos.

Motivation Behind Chosen Focus Areas:

We chose focus areas carefully to represent different types of stakeholders of the KTN.

Vast majority of members of our KTN are typical businesses who need support to derive value from IT. To enable them, we deal with IT industry – which we have visualised to be made of technology service providers, academia and bodies that establish standards. We created a separate ‘Technology’ focus area and combined academia and bodies that establish standards under ‘Industry’ focus area. We are aware that the name ‘Industry’ is quite generic and can accommodate multiple stakeholders. Please suggest an alternate name for our consideration.

Developers are critical for creating truly scalable, reliable products and services that are consumed by the enterprises. Developers of hardware and software are under the control of commercial organizations and are influenced by organization’s engineering practices, standards, methods and tools. In the rush to derive commercial benefit of new paradigms such as ‘cloud computing’, it is likely that many organizations design and develop applications with limited understanding of computer science principles behind scalable systems. Also, emergence of new high performance hardware such as multi-core processors, new products based on concepts such as virtualization and reality of distributed data have pushed developers back to the classroom. We believe developers need to know about importance of key concepts such as distributed transaction processing, emerging standards related to cloud computing and new research in programming languages and algorithms. This motivated us to create ‘Developer’ focus area.

Scalable Computing Programme cannot operate in isolation. It has to collaborate with many overlapping and overarching themes under the administration control of other KTNs and programmes. This is the reason behind ‘Collaboration’ focus area.

Breaking down Focus Areas into Tracks:

A focus area is just that. It establishes a broad playing field. We needed something that further sharpens our focus area. Hence, we broke down each focus area into ‘tracks’.

While we have frozen the Focus Areas, we have retained the freedom to modify tracks based on member feedback, developments in the industry and interests of other influencing bodies. Due to the dynamics of the industry, it is possible that the activity level within a track varies with respect to other tracks. It is also possible that a track is not active at all.

Nature of the focus area helped us to identify tracks. For example: We thought that once a business acquired ‘fundamental’ knowledge of the IT paradigm, it ‘procures’ it, ‘adopts’ and ‘manages’ it within the enterprise and ultimately ‘innovates’ using the given paradigm. This thought, though a highly generalized view of a business enterprise, lead us to create five tracks under ‘Enterprise’ focus area called ‘Fundamentals’, ‘Procure’, ‘Adopt’, ‘Manage’ and ‘Innovate’. Breaking down a focus area this way helps scoping our activities.

For example: Consider ‘Cloud Computing’ IT service delivery paradigm. Let us see how this paradigm can be handled using the above mentioned breakup.

• Fundamentals: Businesses either lack fundamental knowledge of it or have conflicting understanding of it across different units within the enterprise. So KTN has to spread the fundamental knowledge of cloud computing.

• Procure: Once understood, it is not easy for the business to procure cloud computing services as there are multiple manifestations such as private cloud, public cloud etc. and no uniform service level agreements. Hence, the KTN has to collect and disseminate best practices in this area.

• Adopt: Having procured the cloud computing service, the enterprise has to change to adopt the technology. There are numerous human, technical and business issues to be dealt with. The KTN helps through case studies.

• Manage: Daily management of cloud computing services isn’t easy as the enterprise doesn’t have end to end control on the service. They have to manage multiple service providers, manage scalability and manage change of services. Here, the KTN can pitch in by sharing best practices and case studies.

• Innovate: Capitalizing on cloud computing benefits, the enterprise innovates in a variety of methods – be it in the way it has managed cloud service or by creating new products and/or services. The KTN could plough back this success of the enterprise to all stakeholders.

Thus, the breakup enables better visualization of the paradigm and easier identification of KTN activities under each track. Also, it makes the administrative activity of status reporting a bit easier.

Following picture shows current tracks under each focus area.













Is this programme practical? And relevant? Do let me know.

Wednesday, 3 March 2010

Digital Britain Testbed

Yesterday I attended a workshop on Second Generation of Digital Test beds – which we (DCKTN) and TSB jointly had organized in London.

Digital Test Bed is an opportunity for anyone to test the feasibility of their ideas. TSB (Technology Strategy Board) welcomes any idea that has potential to transform the society/community/world for the better. TSB will help you with find resources and offer a collaborative funding of upto 2 million Pounds.

Yesterday we (8 people at 8 tables = around 64 people from across UK) went wild exploring “possibilities”. There were people from local councils, telecom providers, Universities, service providers, consultants, project managers and even a few charities. I was the moderator/note taker for one of the tables. Many wild(ish) ideas came out – to name a few – Dynamic access to public services, telecare on demand, cached community video library etc. We also debated on various commercial models – such as pay-as-you-go, pay-monthly etc. Later on, we took one idea and thought about ways to implement it. We had to assume few things to see our idea through. We noted many challenges. These challenges and assumptions are a rich source for further debate themselves!

Soon, there will be competition inviting techno-commercial proposals to make use of the test bed. A winning proposal is expected to clearly articulate the idea & benefits, explain collaboration and suggest commercial & operational models.

TSB runs several other similar competitions. For example: £12million funding is available for quickening the pace of innovation in wave and tidal technologies, £5million for innovation in manufacturing etc. Visit this link to know more about such competitions: http://www.innovateuk.org/competitions.ashx