Showing posts with label cloud application platform. Show all posts
Showing posts with label cloud application platform. Show all posts

Friday, November 12, 2010

Magic Software Enterprises: Riding the Magic Wave Into the Cloud

If you have been paying attention to the results of Magic Software Enterprises (NASDAQ:MGIC) on the Nasdaq Exchange this week, this month or this year, then you’ve noticed the exuberance shown by the markets towards the makers of uniPaaS, an emerging cloud-enabled application platform. Remarkably, uniPaaS is still relatively unknown in the marketplace. It is as if we have been engaging in underground programming and underground marketing. For this reason Magic Software’s Regev Yativ, CEO of the company in the Americas, has been pushing a new idea: uniPaaS Jet. You’ve probably seen the download “coming soon” banner on the Magic Software website or brief mentions of uniPaaS Jet on our blogs. You may even be involved in our beta test program for uniPaaS Jet.

One senses that with uniPaaS Jet we are going to take our long history of underground programming and turn it into a viral, programmer driven marketing engine. Underground programming conjures up quite a different image from a name like uniPaaS Jet that invokes images of high flying aerial acrobatics. uniPaaS Jet creates single user applications with all the powerful capabilities of our full-featured uniPaaS application platform. But stay with me for a moment. As more and more developers download uniPaaS Jet and begin creating free distribution applications, the name will penetrate further and further into the marketplace.

There are lots of good single user applications that developers may want to create. In fact, the most commercially successful application software programs ever are basically single user applications: Word, Excel, PowerPoint, etc. But the focus of uniPaaS is more along the lines of a business application.

So who are these underground programmers with uniPaaS Jet going to be? Members of the existing Magic development community? Yes, in some cases. But many who will be creating all these single user applications are younger developers seeking to get noticed. These young underground programmers will take Magic Software up into the atmosphere like a Jet.

So what will these applications actually do? Everything from managing your passwords to organizing your investments. One can easily imagine a program to help artists catalog their works, a sort of personal digital portfolio that tracks the business side of being an artist. An application like this would need to track when a work was created, to whom it was sold, derivative works, numbered prints, etc. On the reverse side a collector may want a digital collection catalog as well. When was it purchased for how much, who is the artist, when was it liquidated from the collection, for how much, to whom, auctions, dates, prices, etc.

When creativity is unleashed, good works ensue. This is only one of the tracks that Magic Software Enterprises is following to ride the Magic wave into the clouds. Stay tuned. There will be plenty to see in the coming days.

Friday, October 8, 2010

If IT isn't shared, it isn't cloud...


Recently I was asked: Is multitenancy a fundamental of cloud computing or SaaS or both? I think that depends on how loosely defined multinenancy is in your dictionary.

In computing, the term multitenancy describes a shared approach to resources. I think that in a very loose definition both cloud computing, and of course SaaS, involve resource sharing. But not all types of multitenancy are the same with respect to their approach to resource sharing.

Gartner offers up six models of multitenancy: shared-nothing; shared-hardware; shared-processing; shared-database; shared-everything and custom multitenancy.

The shared-nothing approach is the least multitenant in nature and users may have nothing more in common than a shared URL, billing system, support line or duplicated executable files. This stretches the definition of multitenancy so far as to be essentially out of bounds, in my view, and is most likely adhered to only by those seeking to follow on the bandwagon effect of SaaS and the cloud. Think of IBM WebSphere or Oracle Application Server running on Amazon EC2.


The shared-hardware approach to multi-tenancy isn’t very interesting to software types like me. In this model, the tenants share a common pool of hardware usually through virtualization. But each tenant has its own dedicated software stack (application platform, middleware, applications, databases, etc.) It should be no surprise that this is the approach taken with Microsoft Azure .NET because they want to maximize software sales and licenses and the easiest way to do that is to require multiple instances.

What Gartner calls shared-database multitenancy is about a single database for all tenants. Tenants do not share each other’s data (and can not see it), but it is stored inside the same database. However, a separate instance inside an application container is used to process the application.

Only when Gartner starts to speak about shared-processing multitenancy will some cloud advocates start to nod their heads. In this model, a multi-threaded application platform brokers each tenant’s use of the processor but each tenant will likely have a unique database instance. Gartner says: ". Most process execution resources are shared, allowing fine-grained elasticity. The application platform has multitenancy features responsible for tenant isolation and for targeting all data exchanges to the correct DBMS instances. " Gartner mentions the uniPaaS application platform as the example of this model.

In the shared-everything model of multitenancy both processor and database multitenancy is present. As Gartner suggests, this provides maximum theoretical elasticity. However, several factors such as the efficiency and design of the database gateway and the operational integrity and bi-directional scalability of the processing engine can inhibit optimal processing performance in shared-everything multitenancy approaches such as Force.com. Other downsides include public exposure of non-specific tenant metadata (statisitics about overall use of the application or platform can become known to competitors) as well as issues related to the lock-in of application code on a completely proprietary cloud platform or SaaS application.

Finally, Gartner would identify custom multitenancy as a sort of manually programmed multitenant architecture. Clearly the programming overhead is massive in such approaches and one worries about the capability of an organization to sufficiently test such an approach in a manner that can assure operational integrity and reliability.

Choosing the right level of multitenancy is an important decision. But it is not the only decision in choosing a cloud-enabled application platform. One must also consider the client environment and the challenges of developing both the server side and the client side of an application. So to answer the question we started with, yes, both cloud computing and SaaS require some model of multitenancy. If it isn't shared, it isn't cloud. Nobody owns the whole damn sky.

Thursday, August 19, 2010

Software Modernization Podcast

Software Modernization


I recently had the opportunity to talk with Mark Schroeder of Software Modernization in a recorded podcast. Mark asked some excellent questions regarding software modernization, composite applications, SOA, cloud computing and integration. I invite you to visit the Software Modernization website and listen to the podcast.

I really appreciate the time Mark took to talk with Magic Software and to provide us with this opportunity to share the benefits of the uniPaaS application platform with a new audience.

Monday, August 9, 2010

Cloud Computing Platforms Set To Explode in the Market


Cloud Computing. As a frequent speaker, consultant and commentator on cloud computing, SaaS and RIA, I could not help but feel a little twinge of delight with the announcement in a recent IDC press release regarding the market for cloud applications and SaaS in particular “the Software as a Service (SaaS) market had worldwide revenues of $13.1 billion in 2009. IDC forecasts the market to reach $40.5 billion by 2014, representing a compound annual growth rate of 25.3%. By 2012, IDC expects that less than 15% of net-new software firms coming to market will ship a packaged product (on CD). By 2014, about 34% of all new business software purchases will be consumed via SaaS, and SaaS delivery will constitute about 14.5% of worldwide software spending across all primary markets.”

Cloud Computing Platforms uniPaaS is brought to market by Magic Software Enterprises (NASDAQ:MGIC) with a vision of being a unitary platform-as-a-service solution. As a SaaS-enabled application platform, Magic’s goal is to deliver PaaS capabilities in a way that greatly reduces the complexity of creating cloud applications.

RIA Client Support. The first step toward cloud computing is the transformation to a Rich Internet Application (RIA). uniPaaS fully supports development and deployment of RIA applications. As discussed here previously, there are many reasons to deploy Rich Internet Applications (RIA) with uniPaaS.

Multitenancy Support. uniPaaS allows for leveraging any internet or client-server‐based application into a SaaS‐enabled application by providing multitenancy support at the platform level, relieving the developer from resorting to complex tenant‐aware application design and development.

uniPaaS makes sure that for a single implementation of a SaaS‐type application, each tenant will be fully encapsulated and that every tenant specific characteristic is maintained and governed by uniPaaS Management and Monitoring facilities.

The platform level support for multi‐tenancy enables the application vendor to design an application without taking special heed of multi‐tenant design and can remain focused on the application’s basic design. The uniPaaS platform will seamlessly turn the application into a multi‐tenant application by transparently directing the application to the tenants’ data space and by having each tenant served by an independent process. Nevertheless, the uniPaaS platform enables the application vendor to fine‐tune the tenant encapsulated environment in a way that utilizes a Data Space that is shared and common between multiple tenants.

The environment‐driven and component‐based architecture of the uniPaaS platform enables easy customization of every part of the application, thereby achieving a singular application deployment that serves multiple tenants where each tenant gets to experience a tailored application.

The uniPaaS platform as a whole can be deployed on a cloud, using the facilities of a uniPaaS hosting service provider, independently by the application vendor, or even by the end‐customer.

The flexibility of the platform to be deployed as a whole in any location offers the application vendor the flexibility to choose the most appropriate deployment models and commercial models.

Scalability. Application tenants are not bound to specific machines to support extreme usage surges. A redundant array of servers set for the disposal of the application are dynamically utilized for any tenant, according to the capacity required to serve the tenant at any given moment.

Unitary Approach uniPaaS is envisoned as a unitary development and deployment platform. With a single, consistent IDE, there is no need for multiple languages, scripting tools and the like. uniPaaS provides one consistent solution for developing the client or user interface layer, the business logic or core application layer, and the multi-tenant architecture or database layer. For smaller teams and solo developers, a unitary approach has tremendous value.

Metadata driven development. For generations, programmers have been dreaming of a metadata driven approach to application development that allowed them to create programs without rewriting basic functionality and building out the same software architectures repeatedly.I am not just talking about reusability of code, with metadata driven development one can actually avoid certain irrelevancies of programming altogether. It is not a new concept. All languages that take a step up from machine level instructions do this to some extent. With uniPaaS, you leverage the functional capabilities of an application platform rather than writing the building blocks using a text-based language. Low-level functionality is embedded in the application platform and managed through metadata by the developer. Functional abstraction greatly reduces programming effort because metadata platforms give you the ability to modernize underlying technology while preserving and enhancing core-business logic.

With an increasing emphasis on cloud-based applications and the SaaS delivery model, uniPaaS is becoming an increasingly popular application platform for organizations seeking to optimize what Regev Yativ has aptly termed TTC (time-to-cloud). Perhaps the real question is: when will be your time-to-cloud?

Glenn Johnson is a frequent speaker, consultant and commentator on cloud computing, SaaS, RIA, mobile applications and business integration. He is a senior vice president at Magic Software Enterprises Americas.