Archive

Incubation as a service in cloud services

Share this post:

Introduction

When people talk about cloud computing, there are a lot great ways to go, such as network centric, virtualization, elastic, standard services and pay-as-you-go. Someone may consider cloud services just a ‘plug-and-play’ thing. Is that true? Are there any values for system integrators today? The answer may be ‘YES’!

There should be incubation services in cloud. People could get such services on-line or face-to-face. It’s the easiest way for customers to get on board.

The Background

Today in a traditional IT project, there may be different roles:

  • Product vendor, who provides ‘standard’ products
  • System integrator, who integrates and customizes the ‘standard’ products to meet the users deployment and operation requirements
  • Application developer, who develops and deploys the business applications
  • IT in-house, who runs and maintains the total system

But it goes a little different in cloud services. According to IBM Cloud Computing Reference Architecture (CCRA 2.5), there are 3 roles inside:

  • Cloud Services Creator, who provides ‘standard’ services to user
  • Cloud Services Provider, who enables the services through cloud platform
  • Cloud Services Consumer, who retrieves the services from provider and uses them in in-house IT

So, where does the work’s ‘customization’ go? In most cases, users may just do this by themselves. For example, when you apply a virtual machine from Amazon EC2 or IBM SCE, you have to install the middleware and databases afterwards.

It may sounds very easy for some small and medium users. However, if you would like to install five databases, one data warehouse, two J2EE application server, two .NET mobility server and some mobile market software…In this case, you are still needing ‘customization’ to link them all together.

In the other side, since the cloud is elastic, you will have more opportunity to acquire more servers by pay-as-you-go. So what else are you expecting?

Let me have a look at what if you have trouble in your applications. If you have a database in the back-end, and you have some transactions on that, you get more database servers; you need a more complex mechanism to ensure your transaction’s integrity. If all scale out tasks happened automatically, your application would have the mechanism to protect and integrate more transactions together. Unfortunately, few developers would write their code that way. So that’s why you have only seen some stateless applications like edge server or HTTP server placed on cloud.

In the above cases, you may see additional works why a customer is boarding a cloud ark:

  • System Integrator, integrates virtual resources to meet the deployment requirements and operational requirements
  • Application developer, develops a cloud-enabled application to follow cloud culture, elastic, virtual machines and so on
  • IT In-house, decides which parts are going to be on cloud and which parts are not, considering transaction models and other data integrity models
  • And, Architect!

Yes, in the end, you need an architect to examine your platform and decide where and how to develop, deploy and operate your business applications and data.

Now, there is a problem, do you really have an architect? In most cases, there may not be qualified architects to fit all. So what could the cloud services creator and cloud services providers do?

What to be done through incubation

Let us have a look at an example from Google. As an Android developer, you could self-learn a lot of design, develop and distribute knowledge on-line, you could also get resources and even more, there are services through Google Forum to support you.

This is really something Google is trying to incubate the developers!

I have some experience in a SaaS project in Wuxi, China. The SaaS platform is built by a Research technology called MMT. The technology will share databases by replacing JDBC systems. The ISVs would have to turn their .NET based applications, or Client/Server applications into a J2EE based applications.

There would be a lot of incubation tasks to help the ISVs to:

  1. Re-design applications
  2. Get to know deployment architecture
  3. Set operational goals as non-functional requirements
  4. Integrate with other cloud or existing resources
  5. Publish applications

The solutions are all provided to ISVs via an ‘on board template’ process. The ISVs are generally ok for such items.

In the other side, if a Cloud Services Provider would like to provide all the services face-to-face, the cost would just eliminate the benefits bring out. So, what’s next?

The provider and creator could provide incubations through cloud!

3 Types of Incubation of Services

Since most cloud services are ‘standard’, most incubation works could be also be ‘standard’. In this case, the incubation services could be done remotely. And, even more, the cloud provider could let some experts in as ‘experts in cloud’.

According to my experience, the ‘incubation as a service’ could be provided through the following architecture:

  1. Self-incubation in cloud

In this case, customers could access to standard resources to solve their questions. The resources may include:

    • User portals to introduce the platform
    • Teaching materials by standard documents or videos
    • SDK
    • Reference architecture or reference model to explains the services
    • Sample services image with on-button bootup
    • Q&A for most popular questions
    • Step by step guidance and samples for boarding
    • Test environment for customer to experience
    • Test reports

In this area, the test environment is related to cloud services actually. The cloud services provider may provide a ‘free’ zone with most capabilities to incubate the customer. The zone could be just for testing with special network accesses or VM revoke every two to three days.

This type of incubation only uses cost. So there should be a balance between the cost and the benefits that the customer could have. The more services are there, the more costs are there. So this may be good for IaaS model for most architecting works will be done by customers.

2. Expert incubation community in cloud

If incubation could be done all by the remote standard resources, it seems that the platform may be rather simple. If the customer would like to ask something about development, there would be some interaction services. The experts are expected to support the customer from the cloud-end. The experts could do the following tasks:

    1. Supporting, like what we found in Android
    2. Teaching online
    3. Customizing the cloud environment for customers like a platform architect
    4. Develop interfaces from existing customer applications for deployment
    5. Operation support for customer level data backup, restore, ETL or archive

The tasks consume experts. However, it would be a value added service for a cloud to identify him. It is possible for a PaaS provider act as a system integrator. He could provide both software platform and integration/customization services. The services may be profitable. However, if the customer is talking about application development, there will some shortages here to understand the business requirements.

3.  Third party incubation through cloud

What if the customer would like a complex integration with existing infrastructure? Or what if the customer would like to implement ERP on cloud?

In this case, an architect should be on board to talk to customer face-to-face. He should understand customer’s requirements and make architectural decisions for importing the customer application/data into cloud environment. He should also take the responsibility to establish the operation considerations.

Now the question is, where is the superman? A straightforward thinking is that the users should come from the services provider or services creator. However, the provider is trying to leverage ‘sharing’ services model here to minimum the costs of operations. If there are 200 architects, the cost for the user will be extremely high.

As the ERP business, there should be third party architects. The services provider will provide the architect services through cloud and, the services are come from the local partners of the customer. It will be a win-win-win strategy to enjoy low cost, high quality and trust cloud services.

Conclusion

Cloud is just than virtual machines or cloud-in-a-box. There will be a lot works to do before you boarding. There will be a step-by-step boarding process. You could be incubated by:

  • Cloud resources, self services or
  • Cloud services, on-line services or
  • Professional services by cloud partner

Enjoy your flight to cloud!

More stories

Why we added new map tools to Netcool

I had the opportunity to visit a number of telecommunications clients using IBM Netcool over the last year. We frequently discussed the benefits of have a geographically mapped view of topology. Not just because it was nice “eye candy” in the Network Operations Center (NOC), but because it gives an important geographically-based view of network […]

Continue reading

How to streamline continuous delivery through better auditing

IT managers, does this sound familiar? Just when everything is running smoothly, you encounter the release management process in place for upgrading business applications in the production environment. You get an error notification in one of the workflows running the release management process. It can be especially frustrating when the error is coming from the […]

Continue reading

Want to see the latest from WebSphere Liberty? Join our webcast

We just released the latest release of WebSphere Liberty, 16.0.0.4. It includes many new enhancements to its security, database management and overall performance. Interested in what’s new? Join our webcast on January 11, 2017. Why? Read on. I used to take time to reflect on the year behind me as the calendar year closed out, […]

Continue reading