In this interview, several members of the gridGISTICS management team tell GRIDtoday how the company’s Aware Server product creates a “high-performance, all-encompassing” grid/utility computing environment that takes advantage of both virtualization and SOA.
Those participating in the interview were: Darrell M. Legault, chief operations officer; Dan Haligas, chief product officer; Robert Brooks, chief technologist; and Michael Smith, senior vice president of sales and marketing.
GRIDtoday: First, can you tell me about gridGISTICS? For how long has the company been around, what are its goals, etc.?
DARRELL M. LEGAULT: gridGISTICS formed about four years ago with the vision to make grid computing easy. We realized that traditional distributed computing solutions were largely insufficient for the majority of businesses due to their complexity and high cost, as well as a lack of simple integration and applicability for mainstream enterprise technologies. With the initial CTP releases of Windows Communication Foundation (WCF) and Window Workflow Foundation (WF), our vision for a comprehensive grid computing solution without having to sacrifice quality, performance, scalability and maintainability became possible, leading to the development of Aware Server. The result was revolutionary: a high-performance, all-encompassing utility (grid) computing environment incorporating enterprise service virtualization and service-oriented architecture (SOA) to facilitate both human interaction workflow and business process management.
To guarantee that our primary goal of use of ease was attained, we focused on the typical .NET developer. They are skilled and eager to excel, yet often constrained by time and the business demands to gain the experience needed for proficiency in advanced and complex technologies and architectures. However, when you provide them with familiar tools, and abstract the complexities of the technology, you then enable the junior to intermediate .NET developer to quickly create and maintain high-quality and high performance systems without comprising timelines.
Gt: Now, tell us a little about Aware Server. What are some of the big IT issues facing businesses today, and how did these concerns affect the development of Aware Server? What datacenter pains is it designed to alleviate?
LEGAULT: The real solutions that businesses seek are often too difficult to solve with the technologies that exists. Real solutions that would truly give them a competitive edge are either too expensive, lengthy in delivery or risky, and excessively difficult to maintain. So the real solution is compromised, as is the ultimate reward that the business is seeking (competitive advantage, new product line, cost savings, etc.).
During the development of Aware Server, we wanted to address all of these issues by delivering a platform that bridges complex technology to the business, solving problems once thought unattainable with out-of-reach technologies, quickly, efficiently, and in the most cost effective manner available.
To address the business issues of agility, scalability and speed, we focused on the perspective of IT. From development to deployment, monitoring and maintenance, Aware Server ensures that solutions are uncomplicated by keeping developers focused on the business needs and not the details of complex technologies. Developers can now create real solutions that meet the need. Developing distributed SOA solutions has never been easier.
Aware Server is a truly revolutionary solution for IT because when you move your applications from environment to environment (development, integration, staging, QA, production), nothing changes. All service locations are abstracted (virtualized with no hard coded or configured Uri’s) and configuration (database connection strings, etc.) can be changed by application administrators without intervention from a developer. We also realized that ASP.NET is the platform of choice when doing a .NET-based UI, so we provided complete support for deploying your ASP.NET-based solutions to as many Web servers as you have in your farm with the click of a button.
The Aware Server Development Environment is tightly integrated into VS.NET (2005 and 2008), making the development of virtual services and business processes transparent to the developer. From built in F5 debugging to one click deployment, development of services and business processes are effortless.
The management of deployed applications also was addressed. Once an application is deployed, IT can now provision that application to run across any number of servers available within an environment. Aware Server’s provisioning policies allow for applications to run within a defined schedule, or be allocated by special hardware requirements or some other server attribute. These policies are then applied to all of the machines that satisfy the provisioning requirements, pulling down all of the code on the fly and making that application (service or business process) available immediately. Clients (consumers) simply ask to use a service or business process (it is the same thing a developer is does today in .NET, in one line of code; “new up” an object and call its method) and Aware Server satisfies the request, hence the applications are virtual to the client. They do not know which machine is servicing their request, nor in a batch processing solution do they know how many servers are participating in their computations.
Once provisioned, Aware Server offers full instrumentation on those applications so that IT knows if and where they are running, who is running them, and how many times they were called.
We also knew it did not stop there. Now that the business has a solution in place, they will want changes, new features and more integration. So how do you migrate from one version to the next? IT pain is versioning. Consider a customer group running your v1.0 product suite and now you would like to move them to the new version. Aware Server supports side-by-side versioning of both WCF services and WF based business processes so you ensure that v1.0 customers get the same quality of service as v2.0 customers.
Another IT issue is patching and bug fixes. With Aware Server, your code (configuration files, etc.) is packaged into a manifest and deployed into the Aware Manifest Store which is a SQL Server 2005 based repository of all the code for services and business processes in your environment. If you have a service running that has an issue and it is running on ten servers, simply schedule a maintenance window and publish the new manifest for that service into the environment. The code will automatically be updated across the network without having to visit each machine, know where it is running, or even be there when it happens.
From the beginning we believed that if you make it easy for IT, you make it possible for the business and seamless for consumers.
Gt: Is the product only designed for .NET applications, or can Java shops, etc., take advantage of it? What about heterogeneity in terms of OS, hardware platforms, etc.?
DAN HALIGAS: Aware Server was designed and developed from the ground up on .NET for .NET. As such, Aware Server will run solely on Microsoft Windows operating systems (both x86 and x64 versions). Aware Server also follows industry standards, keeping options of integration and interoperability open.
Although Aware Server is a pure .NET product, we recently had a customer use Aware Server to create services that encapsulated their existing Java-based business framework. Since it is so easy to define a service contract and stand up a service inside Aware Server, our product can be used to bring other non- .NET technologies or non-service-oriented solutions to the .NET clients. Also, since we are completely based on WCF, we support full WSDL support for any of our services.
Gt: Can you discuss Windows Communication Foundation and Windows Workflows and what role they play into the solution?
HALIGAS: WCF and WF were what inspired the creation of Aware Server, and it effectively accelerates the adoption of WF and WCF. It was not until the initial CTP releases of these products that we saw the potential for building this imperative product. Our initial versions of Aware Server were built with .NET remoting, and Windows Workflow was the missing piece of the equation for bringing grid computing into business solutions. For example, take a risk management valuation engine or a payroll engine — both need to process large volumes of data, but also need approval, and may need to send e-mails or run computations in Excel Server, etc. With WF, our customers can now build a business process that runs a large number of items (paychecks or valuing trades in the examples above) across a grid and then notify the user to review the process and wait until that acceptance has been completed.
Effectively, the beginner to intermediate-level developer can now quickly create [WCF, WF] solutions (SOA, grid, distributed computing, HPC) without sacrificing quality, performance or maintainability. No knowledge of WCF is required to use it in Aware Server. At the same time, once they become proficient in WCF, Aware Server will not stand in the way of whatever advanced programming they need to do. Aware Server opens the doors for the beginner to intermediate-level developer to use technologies they would have never attempted without Aware Server — SOA, virtualized services, distributed workflow (grid computing) and HPC. If you have anyone in your audience looking at using WCF and WF, you must check out how easy Aware enables you to leverage these technologies. I guarantee they will be amazed.
Also, WCF is a behavior-based runtime, meaning you can change the way it executes without affecting contract implementations, etc. Aware Server allows policies to be applied to services, bringing auditing, error tracking, etc., to any service running inside Aware Server that manifest themselves as WCF behaviors. Again, another responsibility the developer does not need to focus on during their business implementations.
Gt: How does Aware Server utilize virtualization to deliver on its promise?
ROBERT BROOKS: Aware Server employs service virtualization, which is relatively new to the industry, but easily understood. It is the abstraction layer that separates the service invocation from the request by a consumer. The idea is that you can focus on just the business logic for consumers and services, and deploy the code on a runtime framework (Aware Server) that takes care of the rest.
Service virtualization provides two major benefits, the first of which is code reduction. A developer can create a service that implements just the service functionality and literally deploys solution as a “virtualized” service in a service host, making all the other details configurable.
The second benefit is greater reuse and flexibility. Service bindings, security, policies and other attributes can be reconfigured and changed as needed when reusing a service instead of having to change code. Aware Server makes both of these easy. Aware Server allows a developer to write a service just once and then permit an application administrator to provision it several times with different configuration and attributes. If the need exists to have a database per customer, for example, you can write one service for that element and then provision the same service “n” times (one for each customer).
Aware Server brings even more efficiency to a virtualized environment, as the Aware Service Host can reside on any type of machine (host or virtual server), taking full advantage of the machine’s processing power. To help with segregation, Aware Server policies and clusters provide an incredible amount of flexibility for almost any need. Virtualization as a solution for scalability just became a reality: If your virtual server image contains the Aware Server Runtime, the instant a new virtual machine becomes online, Aware Server policies are applied and your virtual applications instantly scale to leverage that new virtual machine.
Gt: The product has a distributed/parallel computing capability. How does Aware Server handle this? What kind of effort must the user put forth in order to get his application to run in a distributed manner?
HALIGAS: Let’s use the payroll engine example to address this question. An Aware Server developer would create a new Windows Workflow-based business process (using our templates) inside either VS.NET 2005 or 2008. We then provide approximately 20 value-added WF activities that the developer can drag onto the canvas. Two of these value-added activities are the DistributedReplicatorActivity and the DistributedWorkflowReplicatorActivity. With the DistributedReplicatorActivity, a developer can create tasks and put them into a queue to be processed. This is generally used when doing Monte Carlo simulation-type tasks. The other activity DistributedWorkflowReplicatoryActivity allows the developer the ability to define another Workflow that will process each task in the queue. This gives a complete visualization of the entire grid computing execution, something we call GridWorkflow, which is extremely powerful. We also have a WF activity for Excel Services, enabling each GridWorkflow to perform computations inside Excel Services by writing only a few lines of code. In as little as 10 minutes, a developer can have his or her Windows Workflow-based process running across a grid.
Gt: One concern in these types of virtualized and distributed environments is service quality. How has gridGISTICS addressed SLAs, etc., in Aware Server environments?
BROOKS: Aware Server provides a platform for creating dynamic environments, allowing systems which are normally provisioned in isolation the ability to share resources across application boundaries and assist other applications through their peak utilization periods, thereby removing the need to purchase, deploy and maintain excess servers and software. In addition, Aware Server generates performance data, allowing system administrators the ability to monitor application performance relative to SLAs and identify opportunities for increased efficiency. The dynamic environments enabled by Aware Server collect and store a wide set of metrics in the Aware Server database, helping you manage your systems proactively. Administrators can monitor system performance relative to IT policies and existing SLAs by integrating Aware Server with enterprise console tools such as Microsoft System Center or HP OpenView; providing an infrastructure reporting and analysis environment that is both comprehensive and consolidated. Aware Server replaces the costs of over-provisioning while offering a solution for meeting and monitoring compliance with SLAs. It also systematically addresses end-user application demand in real-time and without system administrator intervention.
Gt: What about job scheduling? Does Aware Server allow users to schedule apps to run at certain times (or based on other criteria)?
BROOKS: There are two aspects here, and Aware Server treats each one independently. Job scheduling is used within the distributed processing (grid computing), whereby processes are orchestrated by a workflow which then schedules the execution across the grid. Polices can also be scheduled by setting a time frame for a service or business process should it initialize and override an existing program. Time scheduling also can be achieved by leveraging schedulers like the SQL Server Agent and the new Task Scheduler built into Windows Server 2008. We have support for both, and a user can easily schedule a business process to run a certain time using them. We notify the business process developer that they are being invoked by a time scheduler.
We provide all the building blocks to start processes based on criteria. Since services are so easily developed and deployed, one could be written that monitored some condition and kicked off business processes that performed batch processing, etc.
Gt: What products/vendors do you see as the major competitors for gridGISTICS and Aware Server? What differentiates your solution from theirs?
MICHAEL SMITH: There are quite a few companies that touch on different aspects of what we have done with Aware Server, including vendors like 3Tera, Appistry, DataSynapse, Digipede, IBM, Platform Computing and SAP, among others.
The difference is no one else offers a comprehensive, all-in-one .NET SOA service-virtualized grid-enabled solution. While the above vendors/products focus upon the problem of offering a generic grid computing platform, they do so with the cost of adoption. Aware Server was development specifically targeting the Microsoft development platform, enabling junior to intermediate developers the ability to quickly and effortlessly adopt and utilize the newest Microsoft’s .NET platform features.
Integrating directly into their existing development tools these developers can now create, package and deploy both grid enabled services and workflows as easy as they can create a simple Website; all with few clicks of the mouse and keyboard. Focusing on making grid computing easy, Aware Server understands that developers today have enough on their plates without having to learn yet another framework. So, Aware Server’s main focus to start was to not raise the bar significantly on what a developer had to know to be productive quickly.
Gt: Looking forward, what do you see as the future for the virtualized, distributed application platform market, and what role do you see (or hope to see) gridGISTICS play in that market?
LEGAULT: We foresee high-performance distributed computing simple enough for the mainstream business. Once considered too costly and risky to construct virtual clusters for processing large amounts of data, it will soon become possible to have real time workflows constantly processing large volumes of data on numerous “clouds” of clusters. This all will be accomplished by the average developer, who, being removed from the details of the technical software infrastructures (how, when and where services exist), will be able to learn more about the business, as well as the services and business processes required to solve their problems.
With the advent of policy-based provisioning, hardware will become even more of a commodity, as application owners only define what is necessary for running their application. The hardware is a virtualized commodity, so they won’t care where it runs, as long as it is operating, performant, responsive, secure and resilient. Even further into the future, the hardware could be included in a real-time auction where the services bid for hardware execution time based on the hardware specifications defined for the service.
Moving toward the business side, we also see high demand for complex event processing (CEP). With the advent of virtualized services, “subscribing” to certain types of messages and events is becoming critical. It is this type of capability that truly enables the business to make calculated decisions based on known actions. Frequencies, rate of change and severity all impact decision making. A train may reduce speed, but a 20-mile-per-hour change in velocity means different things if it happens in 15 minutes versus 2 minutes. As such, different series of events or flows can be triggered accordingly. These types of solutions will require resilient, performant and scalable technologies to support them.
We strive to put gridGISTICS at the platform forefront (software infrastructure and tools), making distributed computing easy. Easy for IT, easy for business.
Gt: If more companies were to adopt technologies like Aware Server or similar products today, how drastic a change would we see in the way business is done? What changes can we expect to see in years to come as these solutions continue to evolve?
LEGAULT: This is one of the most exciting aspects of Aware Server. It literally opens doors that previously could not have been explored by mid-sized and large business. Aware Server provides the power and simplicity to quickly create highly distributed and scalable applications to meet business needs on a level that has never been available before. Providing such power and flexibility to businesses allows them to extend their reach and competitive advantage light years beyond anything they could have considered in the past.
How drastic the change is relative to how drastic the answers to key simple business questions are: “What if you could calculate the answer?” “What if you could process the data in time?” “What if you could build the solution you needed in time?” “What if you could simulate?” “What if SOA and distributed computing was EASY to implement?”
Ultimately, the drastic change is that the technology will allow businesses to truly begin gazing further into the future just to create more questions — those that they previously thought unanswerable and therefore never invested the time to formulate. But now, with the ability to not just ask these questions, but also answer them, businesses will invest the time and resources to expand their scope, discovering even high-risk questions. The confidence they will have in their technology will transform those challenges into low-risk, highly rewarding strategic decisions.
Gt: Is there anything else you’d like to add?
SMITH: We are looking to put together a contest or challenge for the spring to show off the capabilities of Aware Server but have not quite settled on it. If any of your readers have an idea, we would love to hear it. We are also putting together the feature list for Aware Server 4.0 and community/user input is extremely important to us and would encourage folks to contact us on our Web site or blog with suggestions.