faq

Frequently answered questions.  If you don’t see your question please ask as a comment and we’ll see what we can do.

Thanks.

What is sense?

sense is an innovative cloud based technology platform to allow businesses to impose and effect business goals on their key applications and services. This permits them to automatically ensure that higher value business services are dynamically provided higher levels of computing resources to handle peak or emergency workloads smoothly. sense sits within and along side existing and emerging application platforms and manages them, to route incoming work to the most appropriate and performant delivery platform or service, based on business rules and targets. sense transparently supports and bridges between J2EE, .Net, SOA and Cloud based application platforms.

Applications wanting to benefit from sense need not take into consideration any aspects of business targets or run-time governance to achieve those targets – sense does this automatically based on rules provided by business staff. This leaves architects and development staff to concentrate on designing and developing the highest quality functionality for business applications and services, and not on the technical complexities of how to achieve certain throughput on hardware infrastructures or how to handle peak loads or unplanned service outages.

Architects usually focus on functional requirements of the application, without thinking about the “business expectations” of the functional requirements. With sense an application architect can ask his business sponsor a more meaningful set of business related questions, such as:

  • what are the business rules that address the value of this service, versus that other service?
  • what do you want to happen if the service is hit by unexpected peak loads or the network goes down?
  • how do you want to handle ‘gold’ member requests differently from ‘silver’ and ‘bronze’ members?

sense offers service level agreements (SLA) defined over functional requirements, with automatic runtime enforcement.

(more…)

What is Cloud Computing?

Like its ancestors; “what is client/server?” and “what is SOA?”, questions like “what is cloud computing?” are already attracting numerous marketing based answers, discussions and blogs.  Here we’ll try to put a clear and simple label on cloud computing.  Feel free to help us adjust this with your comments.

Cloud computing is the evolution and convergence of a number of fast maturing market threads; virtualization, utility computing and software as a service (SaaS).  While cloud computing already extends beyond the sum of these three, they represent the core of what is fast becoming the most disruptive computing model of the 2000′s.

  • Virtualization – abstracts away from the underlying hardware technology and provides a complete software interface to interact and manage all aspects of physical hardware representation.
  • Utility computing – provide access to computing resource on a pay-as-you-go model without the need to invest in the capital to build your own computing infrastructure (not unlike utility companies that produce, distribute and sell electricity).
  • SaaS – deliver business application functionally over the web at a subscription rate without the need to buy or install software licenses

These concepts combine in cloud computing to provide transparent access to required computing software and hardware services on a pay-as-you-go model.  While there are numerous technical and commercial twists in the different cloud offerings on the market the following principles should be common to cloud based solutions:

  • No requirement to operate or even understand in detail the underlying hardware technology or core software operating platform - you are abstracted away from the technical complexity of servers, routers, switches, etc.
  • You access the cloud service only when you need it and are only charged for your use - pay-as-you-go model
  • You access cloud services that represent some unit of business input or value to you – underlying transactions, protocols and messaging are hidden in the cloud
  • You do not require proprietary software or protocols to use cloud services integrated into your existing business applications domain – everything should be transparently available to existing development methods and practices (JEE, Web 2.0, SOA, etc.)
  • You can choose to run cloud computing on your own site and infrastructure, on external hosted resources or on some combination of the two – mix and match onsite versus remote cloud operations

As you explore the benefits of cloud computing to your organization these simple principles will help you test your requirements against the declared offerings of your selected vendors (including Sensible Cloud).  You should thoroughly test the cloud offering against many or all of them.

Another definition of Cloud Computing

go to faq

What is Virtualization?

Virtualization solutions have been maturing for a few years now, driven by business needs to better utilize the enormous sums of capital and maintenance expenses invested in computer hardware and communications infrastructure. One particular field receiving a great deal of attention lately, is Virtualization servers – the prime benefit of which is to offer a logical division (or partitioning) of available computer servers, over and above the physical computer hardware itself. This allows for much better management and utilization of the underlying hardware by the applications needing them. Effectively, you can run X Virtual Machines (VM) over Y physical machines and allocate resources independently of the physical make up of the hardware. It should be noted that this concept is not new at all, and in fact is decades old, with IBM mainframes and other UNIX machines offering this capability for many years. The main difference today is the use of commodity priced PC type hardware components and open sources middleware software, which make the overall costs of putting together large quantities of computing resources much more reasonable and scalable.

But even this is not enough. While Virtualization solutions concentrate on the abstraction of virtual computing resources from your physical computing resource, it does so based on largely technical qualities. For instance, being able to instantiate a new VM most probably depends on some combination of CPU utilization, memory load or bandwidth throughput as the VM monitoring software detect changes in performance of the VM – with no thought as to what business application or service is actually running on the VM. Who takes care of the business drivers that say; “this application is more valuable to my business than that one, and I want more resources applied to this when it needs them”. Also how do you virtualize your business applications and services over completely separate and different computing platforms (JEE, .NET, SOA, and Clouds). It is to solve these critical issues that Sensible Cloud has introduced our sense virtualization platform.

Combined with the technical management of virtual resource, the sense virtualization platform lets users define business oriented criteria, Business SLAs, by which the VM resources are allocated to specific applications under specific conditions (and subsequently releases them when no longer required to match the desired SLA). This permits a value based allocation and more closely aligns the resources to the applications that need them. The sense virtualization platform also provides this capability spanning the various computing models – JEE, .Net, VMs and cloud based resources, thus allowing you to extend your existing infrastructure to include this model without making the complete leap.  One use case is to use the sense virtualization platform to buffer your own infrastructure in the case of additional load, without the need to buy and install additional hardware.  Please see sense virtualization platform for more details.

go to faq

“something as a service”

We are now mostly familiar with what the concept of a service is in terms of computing software.  Software services have and continue to have an enormous impact on modern software architecture and development methods.  But what of other aspects of computing technology? are they excluded from being considered and subsequently managed and interacted with as services.  

A key underlying concept of sense is to define and interact with internal and external computing units as services.  That means that within sense we have a small set of tried and tested architectural approaches that can be applied to many other aspects of computing technology.   To start with, all internal components and modules of sense itself expose themselves as sense services - meaning we can apply the same SLA driven benefits to sense‘s internal components as to user business services. But what about interactions with external services, resources or appliances?

sense considers all interactions with computer based assets and resources as a series of services!  This means whether you are dealing with a Java program, a web service, a human task, a piece of hardware, a VM, a router, or even sense itself, sense will view and manage the interaction with the asset as a service. This permits sense, to use a tested and consistent set of development and management principles to build, manage and operate any cloud based solution where sense is involved.  This consistency provides for reduced development time, managed end-to-end operations, and guaranteed SLA achievement across your entire applications and infrastructure portfolio.  This is independent of whether you choose to operate your own private cloud on any mix of existing infrastructure, involve internal or external Virtualization solutions or decide to move operation into an internet based cloud.  You get the same capabilities and SLA driven benefits whatever you choose to mange with sense.

In technical terms, services deployed to sense adhere to an interface and packaging metaphor to which we add runtime SLA driven behaviors.  For external services; services not deployed into sense itself such as your existing web services or EJBs, or for external computing resources like a VM, or a router, or a cloud server, sense allows the implementation of a feeling to act as the intermediator to the external asset. So to sense a service deployed internally or a feeling to an external resource have the same management and SLA driven behaviors. It is this approach that offers gives us the general “something as a service” tag and allows sense to add business driven SLA behaviors to many more types of computing asset and resource than other cloud based architectures.

go to faq