Coverage

451 Research: Could jclouds complete Cloudsoft?

13 January, 2012

We are flattered to have had our jclouds activities covered by 451 Research. The 451 Take very succinctly articulates how Monterey and jclouds complement each other.

Could jclouds be the abstraction layer that completes Cloudsoft?
The pioneering middleware company specializes in cloud-enabling large-scale, distributed, transactional apps. Its latest mission is to support the jcloud library.

Download the report. [ PDF ]

[ via: 451 Research ]


Datanami: Beyond Big Data – Addressing the Challenge of Big Applications.

3 January, 2012

We are delighted that Datanami headlined the New Year with Alex’s contribution on the difference between Big Data and Big Apps. [ via: Datanami ]
 
 
 


Beyond Big Data – Addressing the Challenge of Big Applications

The challenge of handling big data has spawned a wealth of new data stores and file systems, addressing the challenges of scale and distribution, wide-area and availability, consistency and latency trade-offs. If the data isn’t accessed too frequently, and if the infrastructure doesn’t have to grow, these technologies can mean “job done”.

More often, however, solving the big data challenge is only part of the solution:  most of the time, if you have big data, you’ll have one or more a “big apps”, and sooner or later (better sooner than later) you’ll have to address three more questions:

The first question revolves around how you will compute and deliver this data; the second causes one to question how to operate in or across different infrastructure environments and the third invokes questions about monitoring system behavior and topology changes.

Computing Big Data

The first question follows from the fact that every read and write against data involves compute.  In some systems, this computation adds up and quickly becomes the bottleneck; so even if the storage can scale to petabytes, the number of concurrent requests might max out at an unacceptably low level.

The solution is to design for processing scalability, and broadly speaking there are two popular approaches.  In grid computing, “jobs” or “tasks” are given to “worker” nodes, and scalability becomes a question of scaling the number of such worker nodes.  Hadoop is a powerful extension of this approach where each job is decomposed into multiple tasks each of which runs as near to its target data segment as possible.

The actor model is a more general approach to scalable processing which has lately seen a resurgence in popularity, in part because it can address grid-style compute as well as more sophisticated cases where a unique serialization point is required or shared memory / datastore lookup is too expensive.  In the actor model, application code is decomposed into individual actors, and at runtime messages are passed to relevant actors or chain of actors.  In some ways this is similar to SOA, although often on a much more finely-grained scale.  Actor model systems, such as Erlang, Smalltalk, and Akka, are frequently championed for simplifying the design of applications with good scalability and robustness characteristics — particularly in the face of concurrency and distribution — because of how they force code to be structured.

When working with big data, the important aspect is that actors can be situated near the most relevant data; and with some frameworks, these actors can be moved at will, locally or wide area, with negligible overhead.  This capability allows processing to be optimized in real time for scale, latency, or even cost of compute resource.

At a high level, the thrust of this question is to ensure that, whatever big data solution is being used, the processing fabric is also sufficiently elastic and resilient to handle the corresponding compute load.  Some data systems include some of the above approaches (such as Hadoop), but a crucial part of the architect’s job is to make sure that the compute strategy suits not just the data but also the consumers.

Operating in Hybrid and Multi-Cloud Environments

The second question is a pragmatic one, recognizing that deploying and operating at scale often means using heterogeneous resources, from local hardware or virtualization through to off-site private and public clouds.  In order to use these resources, the application — at least for its deployment — has to interact with the providers and navigate the various models of compute, storage, and networking.  When designing for resilience, or operating at scale, or optimizing for performance or cost, some of the subtleties in these implementations can be quite dramatic.

One way of tackling this is to standardize at the virtualization level across an organization, including external suppliers.  CloudStack, OpenStack, and vCloud are some of the leading choices in this area.  When working in such an environment, the application merely need be designed around that provider’s model and built against their API.

This solution brings its own difficulties, however:  these virtual infrastructure platforms are still quite rapidly evolving, and the API’s change from release to release.  Worse, these changes are not always backwards compatible.  It also requires a heavyweight dev/test environment, when developers might prefer a lightweight local implementation such as VirtualBox to test against.

A complementary approach which can deliver the best of both worlds is to use a cloud abstraction API, such as jclouds (Java), libcloud (Python), or Deltacloud (REST).  These projects present a uniform concept model and API for use in the application, with implementations that allow the code to work against a wide range of cloud providers and platforms.  This means the choice of infrastructure becomes a runtime choice, not a design-time choice; and writing big apps for portability or spanning across multiple clouds becomes natural and consistent.  Furthermore, in many cases, the provider-specific implementations include additional robustness and performance consideration which makes the application developer’s life even better.

The rise of Platform-as-a-Service is another reason to consider an abstraction API.  It is true that writing for a PaaS can greatly accelerate development and insulate an application from the subtleties of different physical and virtual infrastructure layers (and in many cases this they do this by using jclouds or libcloud).  However it can cause lock-in at a different level:  an application designed for a specific PaaS can be very tricky to port to a different PaaS.  Cloud abstraction APIs can prevent against this by making applications portable from the outset, whether targetting infrastructure or PaaS.  Some PaaS entities, such as load-balancers and blobstores, are already available in both jclouds and libcloud, and because these projects are open source, new abstractions can and almost certainly will be emerging.

Effecting Topology Change

One of the most exciting facets of cloud is the ability to have new IT infrastructure “on tap”.  Unfortunately, however, simply having this tap doesn’t mean that applications will automatically benefit.  Designing apps so that they can take advantage of flexible infrastructure — and ultimately communicate how much infrastructure they want — is one of the biggest unsung challenges of cloud.

The naïve answer is not to think outside the box, but to make the box bigger (whether a VM or VLAN or virtual disk).  But with Big Data and Big Apps, this scaling up hits its limit far too early:  the only viable option for scaling is to scale out, that is to get more boxes and to be able to use them.

Recognizing the need for more capacity is not difficult:  the application will respond slowly or not at all, and will report errors.  What is substantially more difficult is to anticipate this need, and more difficult still, to get new capacity online and ready in time.

NoSQL data fabrics, such as Gemfire and Terracotta, can simplify part of this issue, making it easier for applications to incorporate new compute instances, but they tend not to pass judgment on when or how to request these instances (or give them back).  Equally, PaaS offerings can be a good answer where an application’s shape fits a common pattern, such as at the presentation tier.  However in the realm of Big Apps, with large data volumes and multiple locations, the shape and the constraints tend to be unique and the problem remains with the application designers.

The answer in practice is almost always some combination of a CMDB, one or more monitoring frameworks, and scripts to detect and resolve pre-defined situations.  CFEngine, Puppet, Chef and Whirr are noteworthy emerging players tackling various parts of this motley strategy, but even with these tools, writing good scalability and management logic for an application is no small undertaking, even when the management policies are relatively straightforward.

That said, it is an unavoidable part of writing a modern application.  The following collection of suggested best practices is the most which can be said:

  • Design so that anything can be changed, with as little disruption as possible
  • Be consistent across how the application is initially rolled-out and how changes are subsequently effected
  • Decentralize the monitoring and management, pushing logic out to be near the relevant application components
  • Consider “infrastructure-as-code”, so that the deployment topology can be tracked and, ideally, replayable
  • Consider “policy-as-code”, as the logic which drives an application’s elasticity, fault tolerance, and run-time optimization is an important part of an application (especially with big applications)
  • Treat the above “code” like any other code, with version control and testing
  • Keep these pieces small and hierarchical, modular and substitutable
  • Watch out for new developments in this space, as the current level of difficulty is not sustainable!

Conclusion

In this article we’ve looked at the key design questions facing Big Apps, the flip side of big data: put simply, how do you ensure that having made the right choice at the data tier, the system doesn’t fall down at the processing tier or the infrastructure layer? The triangle diagram summarizes one way of addressing this, focusing on a virtuous cycle of provisioning,  middleware and management. Getting this right delivers a robust, powerful runtime environment, where Big Apps can get the most out of big data.

About the Author

Alex Heneveld, CTO and co-founder of Cloudsoft, brings twenty years experience designing software solutions in the enterprise, start-up, and academic sectors. Most recently Alex was with Enigmatec Corporation where he led the development of what is now the Monterey® Middleware Platform™. Previous to that, he founded PocketWatch Systems, commercialising results from his doctoral research.

Alex holds a PhD (Informatics) and an MSc (Cognitive Science) from the University of Edinburgh and an AB (Mathematics) from Princeton University. Alex was both a USA Today Academic All-Star and a Marshall Scholar.


How cloud computing will change application platforms

3 May, 2011

 

 

Cloud computing will bring demand for elastic application platforms.

Promises that cloud computing can save money and reduce time-to-market by automatically scaling applications (either up or down) oversimplify what it takes to develop application architectures to achieve these benefits of elastic scaling. Few of today’s business applications are designed for elastic scaling, and most of those few involve complex coding unfamiliar to most enterprise developers.

A new generation of application platforms for elastic applications is arriving to help remove this barrier to realising cloud’s benefits. Elastic application platforms (EAPs) will reduce the art of elastic architectures to the science of a platform.

EAPs provide tools, frameworks, and services that automate many of the more complex aspects of elasticity. These include all the runtime services needed to manage elastic applications, full instrumentation for monitoring workloads and maintaining agreed-upon service levels, cloud provisioning, and, as appropriate, metering and billing systems.

EAPs will make it normal for enterprise developers to deliver elastic applications — something that is decidedly not the norm today.

Forrester defines an elastic application platform as:

An application platform that automates elasticity of application transactions, services, and data, delivering high availability and performance using elastic resources.

We see organisations moving toward EAPs by extending their current web architectures, following one or more of four paths:

  • Extend web architectures with elastic caching. We find widespread adoption of elastic caching platforms across the economy — not just in consumer-facing web products and properties. Application development and delivery shops that adopt elastic caching products introduce EAPs’ computing-services/data-services combination into their architectures — and add a certain degree of elasticity to their applications.
  • Add NoSQL for “big data” applications. Most application development and delivery teams seem to adopt NoSQL products to create so-called “big data” applications. These applications typically analyze large and/or fast-changing pools of data that would be too expensive to manage using conventional relational database products. Some organisations use NoSQL products to improve their ability to deliver data and/or content to mobile devices. Shops that adopt NoSQL products introduce an elastic data service into their architecture.
  • Adopt EAP distributed computing layers to virtualise applications. Some application development and delivery teams introduce new middleware to help them adapt existing applications to take advantage of elastic scaling. Application development and delivery shops that implement specialists such as Appistry, Cloudsoft, CloudSwitch, and Paremus introduce EAPs’ computing services and deployment services layers to their architectures.
  • Adopt PaaS products that provide EAP concepts. Lastly, platform-as-a-service products will introduce many application development and delivery teams to the benefits of EAPs.

We are fast approaching the “crossing the chasm” moment for EAPs. Only a handful of vendors are offering comprehensive EAPs today, but Microsoft is in the game with its Azure platform. So are salesforce.com with its Force.com portfolio and GigaSpaces with XAP.

We expect IBM to push its WebSphere platform into the EAP arena this year. And Oracle, as well. Bottom line: The big enterprise vendors will soon be offering EAPs too.

Mike Gualtieri and [John R. Rymer] collaborated on this research.

See the full report here.


Overcoming Traditional Roadblocks to Scaling Enterprise Applications in the Cloud

24 March, 2011

 

To realize the full benefits of cloud computing, application services must be built in a way that gives cloud providers the freedom to deploy them in the most efficient manner, while respecting any business constraints. Any technical restrictions that introduce rigidity into the application are sure to impede the cloud provider’s ability.

Transactional applications are a particular case in point – the need for transactional integrity imposes complex constraints that impede effective scalability and distribution in the cloud. Removing these impediments necessitates a new approach that revisits what is fundamentally required. Companies must now look at a new set of requirements, including:

1. Finer-grained scalability and distribution

Decomposing an application into coarse-grained services so that services can be individually distributed across multiple machines is a well-established pattern for scaling a transactional application. Effectively the service is the unit-of-scalability.

The number of services into which an application can be decomposed is limited; therefore the scalability achievable in this way is equally limited. However, within a service are a potentially unlimited number of segments, which can, in turn, distribute across multiple machines.

2. Segment mobility

The potential of finer-grained scalability can only be fully realized if segments are mobile, i.e. can be dynamically migrated across multiple resources. Without mobility, the way you initially deploy the segments is the way that they stay deployed.

The importance of mobility is well established at the level of virtual machines. What’s needed now is mobility for very fine-grained segments, allowing dynamic configuration.

3. Mobility must not interrupt or degrade service

Continual resource optimization is only feasible if frequent reconfiguration is possible, which requires the ability to move transactional segments around with zero interruption or degradation to service, which means you have to be able to move segments while they are still running and without pausing them.

4. Near-instantaneous mobility

Moving segments is orders-of-magnitude faster than moving entire virtual machines or LPARS – moving even large numbers of segments typically takes milliseconds. You then have the potential to be near-instantly responsive to changes in workload and to precisely match resource usage to rapidly fluctuating workloads.

5. Full mobility over the wide area network

Segment-level mobility makes it very fast to relocate some or all of your applications across geographies and clouds. Coupled with zero interruption or service degradation, global resource optimization and precise scalability of transactional applications becomes possible.

6. Automatic governance and control

These capabilities create the potential for transactional applications to fully exploit the benefits of cloud computing via highly mobile application segments that can dynamically and continuously reconfigure themselves in response to changing workloads, resource availability, user demand, performance criteria and costs.

With so many factors in play, it is only possible to transform the potential benefits into reality by fully automating capability management.

Using a policy-based framework to automate the dynamic application management is essential to drive down management costs, increase the elasticity benefits of cloud computing and ensure enforcement of good governance. A policy framework that is geo-location aware can ensure compliance with industry-specific regulations even as data and processes dynamically move around a cloud.

The Solution: Intelligent Application Mobility

In order to liberate transactional applications from the constraints of traditional scaling and distribution, a new approach is needed – one that is based on the high-speed mobility of very fine-grained application components, which are automatically managed in real-time by user- defined policies that ensure continual optimisation and compliance. Collectively, these capabilities are referred to as intelligent application mobility.

Intelligent application mobility is essential if we’re to make the full elasticity and cost-model benefits of cloud computing available to transactional applications.


Cloud Computing: 15 Companies That Made Waves at Cloud Connect 2011

14 March, 2011

Cloud computing-related conferences are en vogue in IT right now and deservedly so. There is so much to learn and discuss about this truly disruptive form of IT. This is because there is still a great amount of curiosity, misinformation and misunderstanding about what cloud computing entails. Several recent research reports that indicate that nearly half of the IT decision-makers in the United States haven’t even considered moving any of their IT to the cloud yet—even though a large number of Web-based services have been available for use since the late 1990s. Trust is the major issue here. Business data, the lifeblood of any enterprise, must be kept secure at all times, and if business data is maintained outside a company’s firewall, a measure of control is—by the very nature of the cloud—lost. Many people are still uncomfortable with this. In any case, the third annual Cloud Connect conference at the Santa Clara Convention center March 7-10 was a sold-out event that focused a lot of attention on cloud security problem-solving. Here are some companies—some already well known, others not so well known—with interesting products and services at the event.

Cloudsoft Corporation, Edinburgh, Scotland

Cloudsoft is a venture-backed software company helping enterprises apply the benefits of cloud computing to the large-scale, distributed, transactional systems that underpin their business. Cloudsoft’s Monterey Spring Edition is an intelligent application mobility platform and the only product that lets users logically partition Spring transactional applications into discrete components. The platform is geographically aware and automatically optimizes infrastructure utilization and governance based on policies.

 


CRN: 5 Cloudiest Cloud Startups From Cloud Connect 2011

10 March, 2011

CloudSoft

UK-based CloudSoft took to the Cloud Connect show floor to highlight its Monterey software, a SaaS play that the company claims makes it easy to scale and distribute high performance transactional apps across machines, geographies and clouds.

CloudSoft was founded in 2008.

For the full article, please click here

 


Cloud+Apps=New Enterprise Paradigm?

20 January, 2011

 

A growing storm of enterprise apps is blowing in wind bringing with it new provisioning models.”We’ll see a move away from the ‘build’ to the ‘buy’ mentality, as many enterprises move away from custom to packaged applications,” said Rikke Helms, managing director of the Global Telecom division and vice president of the EMEA region for Antenna Software. CIOs will soon be buying apps the same way they buy MP3s now: from an app store.

“The parallels between music and cloud computing are eerily similar when it comes to format (mp3 vs. OVF), enabler (mp3 player vs. virtualization), and the delivery system (network vs. cloud),” pointed out Pat O’Day, co-founder and CTO of BlueLock, a provider of cloudhosting and managed IT services.

Such immediacy in deployment and ease of use on the cheap is simply too compelling for enterprises to ignore.

“The idea of an enterprise class app store is starting to take hold,” said CloudSoft CEO, Duncan Johnston Watts. “Like cloud adoption itself though, the likelihood is that large companies will start by trying to pool applications internally using this model, i.e. create private app stores.”

Watts cites the UK G-Cloud initiative, which includes an app store aimed at pooling applications across government departments, as a prime example. The U.S. Government has also launched theirApps.gov, a GSA-operated website that government agencies can use to buy and deploy cloud computing applications.

External enterprise app stores, ranging from the McAfee’s to the Korea Telecom’s (KT) of the world, mostly address the mobile sphere. For example, Korea Telecom has developed a service called KT Enterprise Mobility Platform (KEMP) for enterprise apps. KEMP offers a range of enterprise mobility packages, from a fully-hosted service, with apps supplied on-demand over a multi-tenanted or dedicated single server to an on-premise offering with Antenna Mobility Platform (AMP) located behind the corporate firewall, and even a remote cloud-based offering.

“The latter will operate as a ‘switch in the cloud’ allowing enterprises to virtually provision and control apps while enjoying the scalability and cost-savings of a hosted solution,” said Helms.

Interestingly, KEMP allows the same app to be propagated over disparate operating systems – be it Android, BlackBerry, iPhone, iPad, Windows Mobile or Windows laptop.

However, there are already several enterprise app stores that offer both mobile and desktop apps, such as GetApp.com, Force.com, Intuit Marketplace, IBM’s Smart Market, and Google’s Apps Marketplace with more sure to come.

“While it might not be in full operation in 2011, we will see the emergence of cloud stores,” said O’Day.

Harnessing disparate data sources will entail complex integration, requiring information to be pulled from systems inside and outside the enterprise using a variety of protocols such as XML/HTTP, SOAP, JMS, RMI, JDBC, text file, etc. Therefore, some coding work is still required but not at the levels programmers previously enjoyed.

“The two primary sources for software will be purchased applications with best practice processes and offshore development for efficiency when purchased applications do not exist,” said JimVenglarik, U.S. general manager for Bleum, a U.S.-owned and China-based applications development outsourcer. “The programmer function does not go away; however, he/she is employed by a provider or living in a low-cost country.”

 

Selling the Sizzle

Realizing that the mammoth enterprise software deals and the endless license fees are gone forever, some leading technology vendors turned a savvy-eye towards leveraging consumerism in the enterprise space and coupled that with a brand-new agility play: piecemeal app sales.

“When it comes time to buy, the cloud is forcing application vendors, both old and new, to embrace a more flexible architecture so smaller components can be procured and mashed with others,” explained Mike Jones, agile evangelist at OutSystems. He says this will exert pressure for standardized interfaces and will “challenge any vendor who offers their apps using a proprietary approach.”

In addition, many organizations will want the flexibility to run the application in the cloud or on premise.

By reinventing their sales packaging, vendors aim to emerge from the recession as aggressively agile and dominant players. “But with everyone focusing on making cuts and putting out fires, it is easy to overlook the larger strategic shift in how enterprise technology is used, sold and paid for,” said Zvi Guterman, CEO of CloudShare.

The promise enterprises are seeking is the “ultimate notion of disposable apps” said Jones. The meaning of such is clear: one can subscribe to an app, use it until it is no longer fit for purpose and then simply replace it with something new that better fits your changing business requirements.

“IT can empower individual business units to address their specific needs for tactical applications; freeing central IT from having to be involved in every project but assuring a standard infrastructure,” said Jones. “As these tactical apps become more enterprise critical then it will be much easier for corporate IT to take ownership without having to re-write them like many situations today — a much more efficient overall approach to IT.”

Security vendors, such as McAfee, are offering enterprise app stores to leverage the need presented by other enterprise app stores. “The power of mash-ups has spurred the evolution of more sophisticated security and access control features to keep the corporate enterprise protected when deploying this new generation of applications,” explained Paul Gardner, Associate Director at Xantus Consulting.

Cloud, platform-as-a-service (PaaS) and software-as-a-service (SaaS) make it easier than ever to develop new apps and extensions (or mash-ups) to existing applications. The continued improvements in software security models also make it safer for large enterprises to explore these new apps.

“So, indeed, the catalogue of applications will explode,” said Alex Heneveld, CTO of CloudSoft.

All told, the shift to enterprise app stores is already underway. Now is the time to prepare guidance on how and when to use them.

“Software needs more scrutiny than content, of course, for reasons including security, functionality, and licensing terms — and that won’t change — but the degree to which standards will lower that barrier means that the music-store or app-store model is one for CIOs to watch,” said Heneveld.



 


5 Cloud Computing Predictions for 2011

4 January, 2011

This past year has been a good one for cloud computing. According to Gartner, the cloud services market grew to $68.3 billion in 2010, a 16.6 percent increase from 2009 revenue of $58.6 billion. Gartner predicts that by 2014, cloud services revenue will balloon to $148.8 billion worldwide.Gartner also reported that SaaS vendors raked in $9.2 billion in 2010, up 15.7 percent from 2009 revenue of $7.9 billion. The research firm believes the SaaS market will get even stronger in 2011, growing to $10.7 billion worldwide, a 16.2 percent increase from 2010 revenue.

Taking a look at a few major cloud/SaaS players, Salesforce.com saw its revenue nearly double in 2010 to $2 billion. UBS estimates that Amazon Web Services will earn $500 million by the end of the year, while one-time cloud skeptic, Oracle, gave in and embraced the cloud this year.

Both Microsoft and Google continue to invest heavily in cloud computing, although earnings estimates for their cloud efforts aren’t currently available.

All in all, not bad during the worst recession since the Thirties.

I’m not going out on a limb by predicting that 2011 will be even better than 2010, which itself has been a year referred to as “the year of the cloud.” Of course predicting that the cloud sector will expand is easy. Here, though, are five more granular cloud computing predictions for 2011.

 

1) The rise of cloud computing and smartphones threatens the PC.

This is purely anecdotal, but watching a full slate of football games this past Sunday, I’d estimate that for every PC ad I saw a dozen ads for smartphones and four or five for tablets. No one is excited about new PCs anymore.According to Morgan Stanley analyst Mary Meeker, dubbed the “Queen of the Net” by Barron’smobile Internet traffic will overtake fixed Internet traffic in the next couple of years.

Much of what will drive mobile Internet traffic is the single-purpose app. You won’t first go to a browser to look for nearby restaurants on Yelp, to check sports scores or stocks or to navigate via Google Maps. You’ll use an app that will leverage the cloud to deliver a computing experience previously unavailable on constrained devices. The cloud and post-PC devices will begin to change enterprise computing too.

“Today, 90 percent of individuals are accessing their computing infrastructure via PCs and 10 percent are accessing via a widely dispersed combination of virtual desktops, cloud PCs, zero clients and more. In less than 10 years, I expect that ratio to be reversed,” said Jeff McNaught, Chief Marketing and Strategy Officer for Wyse, a provider of cloud client computing solutions.

McNaught points out that the last few years have seen several shifts in what is the hot, must-have consumer device of the moment, but there is one constant: none of them have been PCs. A few years ago the GPS was all the rage, followed by the iPhone and Android. Everyone was buzzing about the importance of netbooks in 2009 and tablets, particularly the iPad, in 2010.

“Businesses and consumers have more choice than ever regarding how they access and manage their computing infrastructure. This choice is a direct result of a new generation of end point devices, and infrastructure advances in virtualization, cloud computing, and networking,” McNaught said.

The PC isn’t going to disappear, but its status as the go-to computing device for consumers and businesses is under siege.

2) Connected devices stress networks and network management.

The age of the PC might be in its final days, but our network infrastructure isn’t ready for an era where everything from TVs to game consoles to thermostats to coffee makers is Internet-enabled.“As we look out to 2011 and beyond, an even larger cloud is starting to appear on the horizon, and that is the cloud made up of the explosive growth of mobile phones, devices, and sensors all connected to the Internet,” said Lew Tucker, VP and CTO, Cloud Computing, Cisco. “Often called the ‘Internet of things,’ this growth in the number of connected devices will certainly push the adoption of IPV6 but also the need for us each to better manage and interact with a growing number of connected devices in a secure manner.”

Better protocols, such as IPV6 and HTML5 WebSockets, will help, but organizations will also have to rethink how users access, store and manipulate data in a connected age.

“Looking at the various reports coming out of IBM and Ericsson, we could be looking at potentially one trillion Internet connected devices by 2015. To put that in perspective, we passed the five billion milestone in late August/early September,” said David Link, CEO and co-founder of ScienceLogic, a provider of provider of IT Operations and Cloud Monitoring solutions.

In an age where pacemakers, industrial sensors and parking meters are Internet connected, managing devices will be of paramount importance.

“It’s not so much about managing just systems or services – it’s about managing SYSTEMS of systems and services,” Link said. “This is an unprecedented scale that I don’t think many companies are ready for – the stress testing alone on existing management tools would almost require the full-time attention of an IT department.”

2011 isn’t going to be the year any of this gets sorted out. Instead, it will be the year when organizations start waking up to the kudzu-like growth of connected devices. It will also, hopefully, be a year during in which funding will start flowing to forward-thinking startups that promise to solve the trillion-device trap.

 

3) Apps become even more important.

One way we can start to tame this looming trillion-device craziness is the single-function app. Many connected devices won’t be connecting to the Internet at large. They will use the Internet for single purposes. The devices themselves will be containers for very specific apps that leverage the cloud for their smarts.The app model should start to seep into the enterprise in 2011, with enterprise app marketplaces emerging.

“Just as consumer demands forced Apple to give birth to the iTunes Store, many companies desire a consumer electronics-style experience for their business needs. Enter cloud-based application stores, where an enterprise can purchase, download and deploy business applications in their cloud environment,” said Pat O’Day, CTO and co-founder of cloud hosting provider BlueLock.

O’Day sees strong parallels between music and cloud computing in terms of format (mp3 vs. OVF), enabler (mp3 player vs. virtualization) and the delivery system (network vs. cloud). App stores for the enterprise are already available from Google through Google Apps Marketplace, and the U.S. Government recently launched Apps.gov, a GSA-operated Web site that government agencies can use to buy and deploy cloud computing applications.

In other words, expect enterprise app markets to evolve beyond the close-knit ecosystems of today, where apps are built to support and optimize the original software, such as with Salesforce.com, to general cloud app stores that look more like the app stores available to smartphone users.

4) Traditional apps get retrofitted to the cloud.

One of the things slowing down cloud adoption in the enterprise is legacy investments into traditional, shrink-wrap applications. However, as cloud APIs mature, traditional apps could more easily be moved to private and hybrid clouds.“As enterprises move towards private, public, and hybrid clouds, independent software vendors (ISVs) will find a fast growing market for cloud-ready applications,” O’Day said. “This emerging market will prompt ISVs to turn to cloudcomputing providers to deliver their solutions via cloud APIs, ultimately giving ISVs cloud capability.” O’Day believes that ISVs will develop APIs that will provide a foundation to automate and manage workloads between private and public cloud architectures.

One problem with this vision, though, is scale. “A big cloud computing misconception is that applications automatically scale when you put them into thecloud,” Cisco’s Tucker said. “The reality is that while some ‘platform-as-a-service’ offerings and frameworks do provide some degree of auto-scaling, in general, applications need to be architected to scale. In cloud computing, applications can provision their own resources, so properly architected applications can in fact be made to readily scale either up or down, but this needs to be designed in.”

The cloud is fundamentally changing how applications are designed and consumed. Finding ways to factor in legacy applications as the cloud matures will accelerate its adoption. Expect to see vendors who lose out on other cloud opportunities, such as, say, with hosting, refocusing their efforts on bringing legacy applications to the cloud and making sure they are able to scale.

 

5) Applications begin to gain mobility too.

One of the most troubling obstacles to the cloud is security. In a world where data can be accessed from any device anywhere, traditional security falls apart. However, this argument was also made against WiFi. How could IT control a network that could leak beyond its walls?The answer wasn’t all that difficult. With proper access control and identity enforcement in place, WiFi spread like wildfire. More interestingly, some of the early business-class WiFi startups, such asBlueSocket and Newbury Networks (now part of Juniper), offered even stronger security, limiting access by role or even physical location.

With cloud access and identity enforcement being solved by the likes of SecureAuth and Symplified, could the cloud be ready for the kind of advanced security that helped WiFi mature into an enterprise-class technology?

Duncan Johnston-Watt, CEO of cloud software company CloudSoft believes so. According to Johnston-Watt, “intelligent application mobility” is the key to broader cloud acceptance.

“Intelligent application mobility hinges on the ability to logically decompose a transactional application into fine-grained segments that, once deployed, can then be dynamically migrated under the guidance of policies designed to automatically optimize and govern the use of the cloud infrastructure available — while doing so without any interruption or degradation of the service,” Johnston-Watt said.

That’s all well and good, but this doesn’t remove security worries that most CIOs have – until you add location to the mix.

“When calculations contain sensitive data, a company may have requirements as to where the application runs (i.e. within a certain country). It’s imperative developers work with a system that can ensure geographical security so internal and external regulations are met automatically as more precedence is being put on privacy laws,” he said.

Location with the cloud is an order of magnitude more difficult than with WiFi. Ten years ago, IT managers were worried about WiFi signals beaming next door, where they could be intercepted. With a cloud-based architecture, CIOs now must worry not only about the typical risky locations, say an unsecured public WiFi network in an airport, but also risks involved with where in the world end users are.

As with a few other items on this list, this problem won’t be solved in 2011. It will, though, be one of the issues that enterprises tackle as the cloud becomes ever more mainstream.

 


How To Avoid Undermining Your Cloud Initiatives: Intelligent Application Mobility

16 December, 2010

 

 

Traditional approaches to scaling and distributing transactional applications need careful implementation and are not amenable to frequent reconfiguration. Consequently, these methods are only suitable for situations in which you are master of all you survey—and you are prepared to over-provision resources to reduce the need for reconfiguration. As such, these methods are major stumbling blocks to taking full advantage of the elasticity and cost benefits of cloud computing, whether you choose to work in private, public, or hybrid clouds. To remove these roadblocks, companies need to embrace a new approach to scaling and distributing applications. In short, we need to get smart and exploit intelligent application mobility.

To realize the full benefits of cloud computing, application services must be built in a way that gives cloud providers the freedom to deploy them in the most efficient way while respecting any business constraints.

The principle of building systems for flexible deployment has been well understood for many years by web application developers, who use short-lived stateless event processing to great effect. The beauty of this approach is that it doesn’t matter which instance of a web server handles any given request. You can have as many instances of a web server as are needed to handle any given workload, with a load balancer dynamically spreading the workload across those instances. Your web server farm can be scaled out or scaled back very easily—a great example of “elasticity.” The flexibility and location transparency inherent in web applications makes them ideally suited to running in the cloud. The cloud provider can create as many or as few instances of an application service as are required to meet the demand at any given time, delivering the elasticity and pay-per-usage advantages of cloud computing.

The picture changes radically for the applications that enterprises typically use to run their businesses. These applications are stateful and transactional, typically with significant data contention that needs to be carefully managed. Consequently, there are many more constraints on processing and on how transactional applications are designed and scaled. Maintaining these constraints is rarely a problem when there are only a handful of occasional users.  When you need to scale-out your application to handle increased volumes or to service users in multiple geographies, however, then the constraints required by transactional applications cause them to become increasingly rigid to achieve the required scale while maintaining transactional integrity.

A traditional means of scaling transactional applications is to statically partition resources and to route subsets of the workload to each partition. A typical configuration might involve dedicating the first server machine to requests relating to items in the range A–E, the second to F–J, the third to K–N, and so on, with a message broker sitting in front of this group of server machines to route requests to the correct machine. Not only is this partitioning static, but you have to ensure you allocate sufficient processing resources to each partition to handle its maximum workload. This “just in case” provisioning of resources is necessarily wasteful most of the time. It also means you have to constantly monitor actual usage to identify when the current partitioning scheme is becoming inadequate, at which point you must undertake a painful re-partitioning exercise. Hence, the static partitioning model is wasteful in operation and expensive to maintain. It is especially wasteful in cloud environments, as the approach’s rigidity prevents realization of the full elasticity and cost benefits of cloud computing.

An alternative means of scaling enterprise applications is often referred to as “instance-on-demand” or “replication everywhere.” Using this design pattern, there is no partitioning of applications or application services. Instead, additional instances of the entire application or the entire application service are created whenever you need to scale out. Conceptually, this approach re-creates the flexibility and location transparency of traditional web applications because any instance of an application service can handle any request, and you can scale-out by adding as many instances of the application service as needed. It is naïve in the extreme, however, as the constraints required by transactional applications invariably limit this approach’s effectiveness. For example, to ensure that all instances have a consistent up-to-date view of the world before processing any transaction, any change made by an application service needs to be simultaneously propagated to all other instances. Many products attempt to address this problem of distributed data contention, typically by introducing a caching tier, but this inevitably creates inefficiencies that limit scalability, which again limits the potential elasticity and cost benefits of cloud computing.

Removing these impediments requires a new approach to scaling and distributing transactional application services: one that revisits fundamental requirements based on first principles.

1.    Finer-Grained Scalability and Distribution

Decomposing an application into coarse-grained services so that services can be individually distributed across multiple machines is a well-established pattern for scaling a transactional application. Effectively, the service is the unit of scalability. The finer grained the decomposition, the greater the number of services and the greater the number of machines a transactional application can scale across before partitioning or replication is required.

The number of services into which an application can be decomposed is limited; therefore, the scalability achievable in this way is equally limited. Within each service, however, are a potentially unlimited number of segments. If a segment becomes the unit of scalability, then a service can itself scale out by distributing individual segments across multiple machines, thereby dramatically increasing scalability (typically by orders of magnitude).

For example, a stock trading application consists of a number of services, one of them being the “order book” service (where bids and asks for stocks are recorded). The order-book service contains any number of individual order books, one for each stock being traded. The order-book is an example of a segment. If a segment (rather than a service) is the unit of scalability, then the order-book service is dramatically more scalable—anywhere up to the point where a machine is allocated to each individual order book!

2.    Mobile Segments

The potential of much-finer-grained scalability can only be fully realized if segments are mobile; that is, they can be dynamically moved across multiple resources. Without mobility, the way you initially deploy the segments is the way they stay deployed, which effectively provides nothing more than an alternative (albeit enhanced) mechanism for statically partitioning a service.

The importance of mobility is well established, as evidenced by VMotion from VMware and Live Application Mobility from IBM. These forms of mobility, however, apply at the infrastructure level only (virtual machine or LPAR), whereas what’s needed now is mobility for very fine-grained segments of a service.

Segment mobility enables changing the configuration of segments dynamically.  When a service needs to scale out, individual segments can be moved to one or more additional servers, including across data centers and regions, to increase the processing power and throughput available to the service as a whole.

3.    Mobility Must Not Interrupt or Degrade Service in Any Way

A limitation of conventional mobility technologies is that services are temporarily paused when they are moved, and moving entire virtual machines or LPARS can take quite some time to complete, even within the same data center.

One of the advantages of mobility at the segment level is that it offers the possibility of fine-grained resource optimization and very precise scalability. Individual segments can be redistributed dynamically between available resources to continually achieve the best resource allocation to the total workload.

Continual resource optimization is only feasible if frequent reconfiguration is possible, which requires the ability to move transactional segments with zero interruption or degradation to service, which in turn means you have to be able to move segments while they are still running and without pausing them.

4.    Near-Instantaneous Mobility

Another advantage of mobility at the segment level is that moving segments is orders of magnitude faster than moving entire virtual machines or LPARS. Moving even large numbers of segments typically takes just milliseconds. Hence, combining this with the ability to avoid any interruption or degradation to service yields the potential to be almost instantly responsive to changes in workload and to precisely match resource usage to rapidly fluctuating workloads.

This capability is critical for realizing the full elasticity and pay-per-use benefits of cloud computing.

5.    Full Mobility Across the Wide-Area Network

There are several scenarios where mobility over the wide-area network is tremendously valuable. For example,

 

-    The ability to dynamically move processing to the locations where the greatest demand is being generated
-    Relocating segments closer to a user to improve latency
-    “Follow-the-sun” processing
-    Using the most cost-effective computing resource, perhaps in data centers that are underutilized or clouds that are offering the best spot prices
-    Disaster recovery

 

Again, segment-level mobility makes it very fast to relocate some or all of your applications across geographies and clouds, and when this is coupled with zero interruption or degradation to service, then resource optimization and precise scalability of transactional applications becomes possible at the global level.

6.    Automatic Governance and Control

With the capabilities described above, we are looking at the potential to fully exploit the benefits of cloud computing via highly mobile application segments that can dynamically and continuously reconfigure themselves, including across geographies and clouds, in response to changing workloads, resource availability, user demand, performance criteria, and costs.

With so many factors in play, transforming the potential benefits into real benefits is only possible by fully automating the management of these capabilities. This requires the following:

 

-    Continuous, real-time monitoring of workloads, capacities, resource availability, user demand, locations, costs, and so on
-    matching these monitoring data against business policies in order to determine when, where and how to respond to changes in any of the above

 

Using a policy-based framework to automate the management of a dynamic application is not just essential for driving down the cost of management and driving up the elasticity benefits of cloud computing. It’s also essential for ensuring that good governance is enforced. For example, in many industries, regulations govern where data processing and storage must and must not take place—a policy framework that is geo-location aware can ensure compliance with such regulations even as data and processes dynamically move around a cloud.

Bringing It All Together: Intelligent Application Mobility

To liberate transactional applications from the constraints of traditional approaches to scaling and distribution, and thereby ensure they can take full advantage of the elasticity and cost benefits of cloud computing, a new approach is needed. This approach must be based on the high-speed mobility of fine-grained application service components, where their deployment is automatically managed in real time by user-defined policies to ensure continual optimization and compliance. Collectively, these capabilities are known as intelligent application mobility. Intelligent application mobility is essential if we’re to make the full benefits of cloud computing available to transactional applications.


 


Cloudsoft lets Spring developers go on the move

19 November, 2010

 

 

Cloudsoft recently announced the launch of the Cloudsoft Monterey Spring Edition, an intelligent application mobility platform for Spring applications running in the cloud. The solution helps Spring developers simplify how they build, run and manage distributed applications.

Users can partition and dynamically move running components within and across public and private clouds without service disruption. This reduces development costs and increases Spring application productivity by up to 300%, according to the company.

“Monterey Spring Edition is the only product to give Spring developers the freedom, flexibility and peace-of-mind to rapidly re-factor and easily move their applications across multiple public and private clouds,” said Duncan Johnston-Watt, founder and CEO of Cloudsoft.

The company said that the Monterey Spring Edition offers full integration with the SpringSource Tool Suite. Since no new coding is required and developers don’t have to acquire new skills, they can maintain their focus on application logic relevant to their business. Developers are free to define whatever APIs they wish for service consumers to use. The only difference is that they’ll need to reference a Monterey config file when they’re ready to deploy into a distributed environment or a cloud. The solution includes application partitioning and maintains transactional integrity. It also has built-in support for multi-cloud scenarios.

Monterey Spring Edition is location-aware and uses a hierarchical model of geographical and jurisdictional locations and constraints, combined with automatic performance metrics for components and locations. Monterey’s policy-based infrastructure optimizes application locations based on multiple criteria, including load, cost, latency and jurisdiction. The platform also automatically ensures compliance requirements are met to avoid regulatory violations and penalties.

According to Johnston-Watt, “This innovative intelligent application mobility reduces development costs and ensures Spring applications run on the most cost-effective cloud available in the world at any time. Spring developers can now reduce operational and reputational risk, avoid vendor lock-in, and increase revenue by improving performance, uptime and customer experience for their applications running in the cloud.”