Home > Blogs > VMware vFabric Blog > Tag Archives: API

Tag Archives: API

5 Characteristics of a Modern Mainframe Cloud App – Avoid Tornado IT

No one likes being rushed into bad decisions.

Yet, the pace of information technology often forces IT executives to do that.

In today’s world, mainframe-to-cloud decisions need solid thinking or we risk a technology tornado. This article outlines some key lessons learned at the front-line of IT decision-making.

As previously discussed, it’s possible to “modernize” mainframe legacy applications to the cloud. You can get there with little to no modification by using a “lift-and-shift” strategy.  Several of my clients have taken this approach to quickly satisfy a “cloud mandate”. The results have been less than desirable:

  • Without the use of pooled resources, the applications do not scale well.
  • Timely user provisioning and access from any device is still a challenge because the apps do not provide on-demand, ubiquitous access.
  • In addition, utility-based pricing/costing is performed manually, with little accuracy to the realities of actual usage.
  • Most importantly, the applications continue to have monolithic, stove-piped architectures, which are difficult and expensive to maintain and enhance.

These “cloud” applications are more like funnel cloud apps or tornoado apps—waiting to cause IT organizations extreme havoc. Assuming you want to avoid funnel clouds and IT tornadoes, consider applying the following five application architecture and design principles indicative of a true cloud application: Continue reading

Advanced GemFire + Lucene + Spring Data for Text Searching

In this article, we’ll talk about how to integrate the Lucene text searching solution using Spring Data and GemFire to provide a flexible, parallel fast search engine. By combining the two independent products we can leverage each product to its fullest capability. The end result provides an elastic search capability with the in memory data speeds of a distributed cache platform and high availability.

Motivation—Why Combine These?

The motivation of the project was to provide an alternative search capability for GemFire while providing users a natural method to define searchable domain object attributes. Performance was also a key driver to ensure constant search performance irrespective of scale. The solution outlined below provides a baseline approach for developers to build upon. Continue reading

Messaging Architecture: Using RabbitMQ at the World’s 8th Largest Retailer

Today, we are pleased to have a guest blogger from a VMware customer share with us their story of how RabbitMQ transformed their business by “solving some really interesting problems”. The following is sent courtesy of Pablo Molnar of MercadoLibre:

If you haven’t heard of MercadoLibre (NASDAQ: MELI), we are the largest e-commerce ecosystem in Latin America. Our website offers a wide range of services to sellers and buyers throughout the region including marketplace, payments, advertising, and e-building solutions. Our products are present in over 14 countries, and the company is ranked as 8th largest online retailer in the world. We were also on Fortune’s list of the fastest growing companies in 2012, and we use RabbitMQ to solve some interesting problems.

About Our Technology Stack and How RabbitMQ Helps

In terms of technology infrastructure, MercadoLibre is fully committed to the open source development model. Most of our apps are primarily written in Grails, Groovy, and NodeJS,  but we don’t stick to any language or framework. We entrust tool selection responsibilities to the Software Engineers on each team. Almost all applications are hosted by our in-house cloud computing provisioning system and implemented via OpenStack with more than +7000 virtual instances at the moment. Also, we have successfully launched applications using emerging storage solutions like Redis and MongoDB. With an average of 20 million requests per minute and 4GB bandwidth per second, our traffic management layer is crucial and most of the routing rules job is done by Nginx proxy servers. Our labs department includes a huge Apache Hadoop cluster to perform complex analytical queries, and we are experimenting with real-time data processing using Apache Kafka and Storm.

Continue reading

6 Simple Steps: Installing vFabric Administration Server (VAS) and Provisioning tc Server across 3 Nodes

As a suite of products, vFabric offers a single SKU model that includes the entire suite. Besides offering an economically beneficial licensing model that is flexible, based on average use, and hardware independent, the vFabric team has developed the vFabric Administration Server (VAS) to help make installation, configuration, and operations easier.

If you missed a previous article explaining how VAS work and what it can do for you, VAS is based on a single system image design (SSI) and allows you to define a group of nodes where each operation on the group is applied to each node who is a member of the group. This approach provides time savings and reduces errors by keeping systems more consistent, allowing easier ways to scale, and simplifying administration. VAS also provides a robust set of REST APIs for virtually all of its functionality. In addition to vFabric tc Server, VAS can manage vFabric RabbitMQ, vFabric GemFire, vFabric SQLFire, and vFabric Web Server. VAS 1.1.1 was recently released with new features and many bug fixes.

In this article (and demonstration further below), we will show you six steps that give you an idea of how easy it is to provision using VAS. We will show you how to install VAS and use it to provision vFabric tc Server across three nodes along with a WAR file. The explanation below refers to examples from RubyGems.org and GitHub/vFabric/VAS-Ruby-API along with the latest VAS documentation.

Continue reading

Map-Reduce Style: Data Aware Distributed Querying in vFabric GemFire

vFabric GemFire ArchitectureBig, fast data is powering some of the most interesting computing opportunities in today’s market. But in order to get there, we need to change our approach to the data tier. Enterprises are trying to move from costly mainframe architectures to virtualized datacenters and utilize commodity hardware more efficiently. With the data tier, this means an architecture that scales horizontally by adding more commodity-based computing and storage at runtime.

To scale the data tier horizontally, companies use systems like vFabric GemFire, a distributed data system that is designed to specifically accommodate large data sets across commodity hardware nodes. In GemFire, data is spread across members of a cluster with members referred to as “nodes,” and the distribution of data across those nodes is called “partitioning.” vFabric GemFire then allows developers to query the data that resides across many nodes while retaining core values of very high performance at scale. How? In short, the answer is “Data Aware Querying” – a query API that allows a query to execute on selective nodes instead of all nodes (i.e. execute in a map-reduce style).

Continue reading

Expert Interview: The Polyglot Rabbit: Examples of Multi-Protocol Queues in RabbitMQ

Recently, we had the opportunity to speak with architect Brett Cameron about vFabric RabbitMQ.  A popular speaker, Brett is well known for his effort to port Erlang and RabbitMQ over to the “legacy” OpenVMS operating system platform (now owned by HP). With over 19 years in the software industry, Brett specializes in systems integration and large, distributed systems. Of course, he has spent a lot of time with OpenVMS – an OS with one of the more interesting histories in the software industry.

When we started chatting with Brett, he had recently discussed the concept of the Polyglot Rabbit with Alexis Richardson and written a great article titled, “The Polyglot Rabbit: Examples of Multi-Protocol Queues in RabbitMQ.” According to Brett, the main goal of this article is about the fact that you can publish messages into this environment via one protocol and consume via one or more other protocols (simultaneously if you want). “It’s a brilliant and a very powerful capability.” Brett felt that this capability was possibly not being promoted enough, and hopefully the article will go some way towards fixing this.

Continue reading

3 Key Stages to Evolve from Legacy Databases to a Modern Cloud Data Grid

How do you plan a roadmap for moving from a legacy data architecture to a cloud-enabled data grid? In this article, we will offer a pragmatic, three-stage approach. At SpringOne-2012, the “Effective design patterns with NewSQL” session (see presentation embedded below) generated a lot of interest. (Thank you to everyone who joined us!) Jags Ramnarayan and I discussed problems with legacy RDBMS systems, NewSQL driving principles, SQLFire architecture, application design patterns as well as data consistency and reliability.

We went deep into vFabric SQLFire which is a pragmatic solution that addresses these data challenges:

  • How do I architect my data tier for very high concurrent workloads?
  • How do I achieve predictability both for data access response time and availability?
  • How do I distribute data efficiently and real time to multiple data centers (and to external clouds)? 
  • How do I process these large quantities of data in an efficient manner to allow for better real-time decision-making? 

Continue reading

2 Lessons on RabbitMQ from HighLoad – Extending the server with Plugins and HA Queues

Recently, I presented at the HighLoad++ conference in Moscow Russia. Many of the developers I spoke with were interested in two pieces of information about RabbitMQ, and I wanted to share these with a broader audience:

  • Extending through Plugins
  • High Availability Queuing

If you haven’t heard of HighLoad++, the conference is pretty special since it focuses only on high traffic websites (mostly from Russia). The main point of the conference is to talk about new architectures and approaches for highly complex systems and covers things like:

Continue reading

NanoTrader: Now The SpringTrader Reference Architecture

What is SpringTrader?

Back in August, we provided a sneak peak at NanoTrader, VMware’s vFabric Reference Architecture.  It was referenced in several posts and then featured in a session at SpringOne recently.  The application has now been named SpringTrader, and we wanted to a) share more information about the SpringTrader app including some updated architecture graphics, b) provide a new tool (a version you can log into online), and c) share the location of the Spring Trader bits for download.

If you haven’t heard, the SpringTrader reference architecture is used to help Java-based application architects, developers, infrastructure, and operations teams advance their application roadmaps and provide reusable patterns.  Some might also consider how vFabric Application Director can be used with the SpringTrader app to enable continuous deployment or automatically provision and scale the app in a completely virtual data center (i.e. a software defined data center). As well, vFabric Application Performance Manager can be used to monitor the entire stack and trigger automated scaling events like adding a new JVM and tc Server to the SpringTrader app’s production environment.
Continue reading

ROBLOX: RabbitMQ, Hybrid Clouds, and 1 Billion Page Views/Month

Online video games have amazing software architectures, particularly when they support millions or billions of transactions.

One of the most interesting companies in this growing industry is ROBLOX.

If you haven’t heard of ROBLOX, they allow users develop their own games – creating players, 3D worlds, and objects from first-person shooters to genres like military and sci-fi. They are able to share these games with others, and, of course, play them. The ROBLOX application also has a built in advertising system, social network, and virtual economy with currencies. According to their website, they generate:

  • Over one billion page views, 29 million in-game hours, and 10 million unique visitors per month.
  • Players created 5.4 million games and spent over 250 million hours of game-play in 2011

Continue reading