InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

SOA and Software Appliances

Posted by Arnon Rotem-Gal-Oz on Aug 13, 2007

Sections
Operations & Infrastructure,
Enterprise Architecture
Topics
SOA ,
Deployment / Datacenter ,
Virtualization ,
SaaS
Tags
Deployment ,
SOA Appliance

One important trend in regard to SOA deployment options is virtualization. Virtualization  is an important enabler of verstility and mobilty of services. A relatively new trend in the realm of virtualization is Software appliances, which can even  serve as an on-site alternative to the Software as a Service concept. Software appliances also provide a viable option for packaging services for deployment.

The idea behind a software appliance is to isolate the software from the OS, wrapping it with the set of capabilities (parts of the OS) that are needed for its operation.  The idea is to deploy a working instance of  software appliance regardless of the host OS - i.e. you get a single image you can run on a clean machine, a VMWare, an OS installation etc. Software appliances have reduced memory and resource foot-print vs. deploying a full blown virtual server the  a software package installed on it. Another advantage is that you do not need to worry about certifying the application to the OS, driver incompatibilities etc.

For example a couple of months ago Layer 7 introduces their version of Service Firewall as a software appliance, a more recent example is a company called rPath, a provider of a platform for creating software appliances which earlier this month received an innovation award from SoftwareCEO.

rPath  CTO Erik Troan gave a tuturial on building software appliances in the Next Generation Data Center conference which ended this week in San Fransisco. IBM's Gerrit Huizenga summarized it. Gerrit noted that there are a few problems with virtual machines. The shear number of virtual servers that gets installed makes administrating almost as painful as real servers. Additionally hypervisors (virtualization platforms e.g. Xen, MS Virtual Server, VMWare ESX and VM Servers etc.) have dependencies on their OS which spell compatibility issues.

Gerrit mentions that a software appliances can be considered as a software service within SaaS. However, he says Eric believe that Software appliances can help enhance SaaS as you don't have to worry about compatibility issues,and co-locating seoftware appliances on the same physical hardware can bring performance Benefits. He also cites several other  benefits of software appliances that Eric mentioned:

There are a lot of other advantages, such as the fact that a software appliance is easier to test (it is always the same stack, no matter where you install it), easier to support (stack is well known, all customers using the same appliance), and easier for teams to configure (again, all components are the same)

Gerrit thinks that software appliacnces would be good both for SMBs and large corporations and that it would help promote virtualization in data centers as well.

In LinuxWorld Expo (a sister conference of the above mentioned NGDC conference) VMWare co-founder and chief scientist Mendel Rosenblum, said that software appliances may have implications for OS vendors:

Asked if he thinks the virtual appliance model is a threat to OS vendors, principally Microsoft, Rosenblum said, "If I were in their shoes ... I think the answer is yes."

Coming back to SOA - Software appliances can provide an easily deployable service instances increasing the overall decoupling and reducing the cross-application friction (compatibility, versioning) when co-locating service deployments on the same physical machines. Indeed, it seems Software Appliances is an angle you should explore when you design your next service deployment.

  • This article is part of a featured topic series on SOA

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.