Showing posts with label Clustering. Show all posts
Showing posts with label Clustering. Show all posts

April 4, 2008

Lessons from Mainframes and Enterprise Architecture

As many organizations have transitioned from a mainframe computing to a more distributed platform, they have become more decentralized and in many cases more lax in terms of managing changes, utilization rates, assuring availability, and standardization.

However, management best practices from the mainframe environment are now being applied to distributed computing,

DM Review, 21 March 2002, reports that “people from the two previously separate cultures—mainframe and distributed [systems]—are coming together to architect, develop, and manage the resulting unified infrastructure.”

  1. Virtualization—“Developers of distributed applications can learn from the approach mainframe developers use to build applications that operate effectively in virtualized environments…[such that] operating systems and applications bounce from one server to another as workload change” i.e. effective load balancing. This improves on distributed applications that “have traditionally been designed to run on dedicated servers” resulting in data centers with thousands of servers running at low utilizations rates, consuming lots of power, and having generally low return on investment.
  2. Clustering—“A computer cluster is a group of loosely coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer [like a mainframe]…Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability” (Wikipedia) The strategy here is to “reduce the number of servers you need with virtualization, while providing scaling and redundancy with clustering.”
  3. Standardization—Distributed computing has traditionally been known for freedom of choice marked by “diversity of hardware, operating platforms, application programming languages, databases, and packaged applications—and an IT infrastructure that is complex to manage and maintain. It takes multiple skill sets to manage and support the diverse application stack…standardization can help you get a handle on [this].

Thus, while we evolve the IT architecture from mainframe to distributed computing, the change in architecture are not so much revolutionary as it is evolutionary. The lessons of mainframe computing that protected our data, ensured efficient utilization and redundancy, and made for a cost-effective IT infrastructure do not have to be lost in a distributed environment. In fact, as architects, we need to ensure the best of both worlds.


Share/Save/Bookmark

October 29, 2007

Cloud Computing and Enterprise Architecture

The Wall Street Journal, 8 October 2007 reported that IBM and Google “are starting a program on college campuses to promote computer programming techniques for clusters of processors knows as ‘clouds.’’

In this case, the cloud computers will be accessible from the following universities: University of Washington (in Seattle), Carnegie Mellon, MIT, University of California (at Berkeley), and University of Maryland.

Cloud computing “allows computers in remote data centers to run parallel, increasing their processing power…it allows companies and universities to share resources and not have to expand their own costly data centers.”

Some of the potential issues with cloud computing include:
  • Security
  • Reliability
  • Ease of use
Google and IBM are perfect partners for this venture, because Google is already as master at cloud computing as the basis for its search technology, and IBM is a master at running data centers.

Other technology giants such such as Microsoft, Sun Microsystems, and Hewlett-Packard are also developing approaches to cloud computing.

Forrester research says “this is the next generation of computer architecture.”
Share/Save/Bookmark