provides software and services that enable enterprises
Live Chat 1-888-673-6564
The Enterprise Open Source Blog
  • Home
  • Search
  • Contact Us
  • Products and Support
  • Services
  • Enterprise OSS Blog
  • Wazi Technical Blog
  • Resources Library
  • Cloud Services
  • Partners
  • Customers
  • Community
  • Company
  • Careers
  • News and Events

Subscribe by Email

Your email:

Most Popular Posts

  • Enterprise Apache Tomcat 7 Clustering - Designing an Efficient, Reliable and Productive Application Server Cluster
  • Open Source Virtual Whiteboards and Dimdim Review
  • An Enterprise Apache Tomcat Clustering Guide
  • Supporting CentOS In The Cloud With Windows Azure
  • VLC License Change: A lesson in perseverance
  • An In-Depth Look at Tomcat’s Clustering Mechanisms
  • Apache HTTP Server: New Features for Version 2.4
  • Why Closed Source is Better Than Open Source
  • Access Serial Ports through Ruby
  • Building Bots With Kids

Current Articles | RSS Feed RSS Feed

One Application Per Cloud Server Makes Life Easier

Posted by Rod Cope on Tue, May 15, 2012
  
Email This Email Article  
Tweet  
  

Before the cloud, it was important to run as many applications as possible on a single server. Why?

    • Because you had to use up all that juicy hardware that it took you so many months to provision.

    • Because it was hard to configure and manage physical machines, so you wanted to concentrate them to make it easier for system administrators to manage.

    • Because you did your best to standardize entire stacks so your J2EE applications could run in harmony in a single WebLogic instance (ha!).

    • Because it was the cool thing to do.
In the cloud, it's easy to provision new servers. The means you can run each application (or just part of an application) on its own server. Why?

    • You don't have to wait months for IT to give you a machine.

    • You've bought into the DevOps movement and have lots of automation to help install, configure, integrate, and test your stacks and applications, so it's not a big deal to spin up a new instance.

    • You're comfortable using the best tool for the job, which means you frequently deploy components written in Java, Ruby, and JavaScript.

    • You use a combination of SQL and NoSQL data stores, such as MySQL, PostgreSQL, Redis, memcached, CouchDB, and HBase.

    • You want to avoid dependency conflicts.


That's a nice list of reasons, but I see you're not convinced. Let's look at the really compelling reasons to separate your apps.

    • It's easier to scale applications running on their own instances. You don't have to worry about dragging along Application B with its measly 1,000 hits per month when you need to scale out Application A getting 1,000 hits per second.

    • Some applications don't scale as well as others. What if Application B won't even scale beyond a single instance? Load balancing it along with Application A might break it badly.

    • Independent applications are safer. If all your apps are on the same instances and those instances go down, you lose all your apps at once. That's not good for SLA's and uptime measurements. It's better to spread out your risk across instances and even clouds.

    • Isolated apps are easier to manage. When you need to apply an operating system patch required for Application A, do you really want to test Application B to make sure it won't cause a problem? And what happens if there's a dependency conflict?

    • It's simpler to test isolated apps. In your QA environment, it's incredibly convenient to fire up new instances, test them, and blow them away when you're finished. If your applications are mixed, you need to test Application A in context with a fully configured production version of Application B to make sure there aren't unintended side effects related to forcing them to co-habitate.


Once you're on board with this line of reasoning, it's easy to see why many cloud savvy technologists also deploy key stack components on their own instances, isolated from the rest of the application. For example, you could place your application server on one instance, your caching server on another, and your various SQL and NoSQL data stores on still other instances. With this arrangement, you can easily deploy, upgrade, scale, test, and monitor each tier independently of the others. Yes, it's more work when you're just getting started so I don't recommend you do all this work right away. Instead, wait until you're done with your basic application development and have stabilized your stack components and versions somewhat. At that point, you can decide whether you believe your application needs to be exploded either for extreme scalability purposes or for the reasons outlined above. If so, break up your application into the appropriate number of pieces.

Whether or not you choose to spread your application stack across server instances, I highly recommend you put no more than one application per cloud server unless you have special circumstances in play. For example, if you value performance far more than scalability, you might want to collocate applications that communicate frequently to avoid network overhead. In most cases, you'll be better off splitting them up.

With one application per cloud server, it's easier to develop, test, deploy, upgrade, scale, monitor, and manage your software. This best practice in the cloud will pay for itself in no time.

887cd6a8-900b-4d94-af5a-a9094490f256


Subscribe to The Enterprise Open Source Blog via email

Follow @openlogic
Follow @CloudSwing

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.Follow @openlogic
Follow @OSCloudServices

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.
Tags: Open Source Management, Open Source Trends, The Cloud

Comments

Cloud servers are really good to have something online with its reliable and secure features.
Posted @ Tuesday, October 23, 2012 1:34 AM by eUKhost
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Loading...
Error sending email
Email sent successfully

Email article
Email To : 
Your name : 
Message : (maximum 200 characters)

Enterprise OSS Blog Policy

If you read a post on The Enterprise OSS Blog, please leave a comment. Let us know what you think, even if it's just a few words. Comments do not require approval, but they are moderated.OpenLogic reserves the right to remove any comments it deems inappropriate.

 

click-to-chat-with-a-live-open-source-expert

get-a-quote-on-support

download-the-support-evaluation-kit

schedule-a-deep-discovery-demo

Most Popular Posts

  • Enterprise Apache Tomcat 7 Clustering - Designing an Efficient, Reliable and Productive Application Server Cluster
  • Open Source Virtual Whiteboards and Dimdim Review
  • An Enterprise Apache Tomcat Clustering Guide
  • Supporting CentOS In The Cloud With Windows Azure
  • VLC License Change: A lesson in perseverance
  • An In-Depth Look at Tomcat’s Clustering Mechanisms
  • Apache HTTP Server: New Features for Version 2.4
  • Why Closed Source is Better Than Open Source
  • Access Serial Ports through Ruby
  • Building Bots With Kids

Connect With Us!

Browse by Tag

  • 2013 (2)
  • Agile (1)
  • Apache (2)
  • apache tomcat (1)
  • AS 7 (1)
  • as7 (1)
  • Auditing (5)
  • Azure (2)
  • Budget (1)
  • BusyBox (1)
  • CentOS (3)
  • Closed Source Software (1)
  • cloud (4)
  • clustering (1)
  • CMS (1)
  • Code Scanning (1)
  • commercial distribution (1)
  • Community (4)
  • compliance (39)
  • C-Suite (1)
  • Database (1)
  • developers (2)
  • DevOps (15)
  • Drupal (1)
  • enterprise software (2)
  • foss (5)
  • Gitbhub (1)
  • Governance (36)
  • guide (1)
  • Hadoop (2)
  • HBase (2)
  • http 2.4 (1)
  • httpd 2.4 (1)
  • Java (1)
  • javascript (1)
  • jboss (3)
  • JBoss Cluster (1)
  • Joomla (1)
  • Legal (21)
  • Legal & Compliance (62)
  • Legal and Compliance (2)
  • license compliance (1)
  • Licenses (12)
  • Linux (4)
  • lisp code (1)
  • martin fowler (1)
  • Mobile (3)
  • mod_cluster (2)
  • MySQL (1)
  • Neal Ford (1)
  • open source (19)
  • open source compliance (1)
  • open source components (1)
  • open source events (1)
  • Open Source Governance (2)
  • open source legal issues (1)
  • Open Source Licensing (3)
  • Open Source Management (38)
  • Open Source Policy (3)
  • open source software (15)
  • Open Source Software Adoption (4)
  • open source software policy (1)
  • Open Source Training (1)
  • Open Source Trends (337)
  • Open Source vs. Commercial Software (3)
  • OSS (5)
  • OSS Packages (2)
  • PaaS (1)
  • paredit (1)
  • picketlink (1)
  • Policy (4)
  • PostgreSQL (1)
  • Presentations (1)
  • Programming (2)
  • red hat (1)
  • RHEL (1)
  • Ruby (1)
  • Scanning (27)
  • Scanning & Governance (12)
  • Scanning & Provisioning (30)
  • Security (13)
  • Shibboleth (1)
  • software compliance (1)
  • Software Development (2)
  • Software Development Lifecycle (7)
  • software infrastructure (1)
  • Solr (1)
  • Support (48)
  • Support & Services (2)
  • SUSE (1)
  • Technical Governance (1)
  • The Cloud (35)
  • The C-Suite (2)
  • tomcat (4)
  • Training (9)
  • Ubuntu (1)
  • Uncategorized (69)
  • Windows (1)
  • Windows Azure (1)
  • Wordpress (1)
  • Zookeeper (1)
Home | Search | Contact Us | Products and Support | Services | Enterprise OSS Blog | Wazi Technical Blog | Resources Library | Cloud Services | Partners | Customers | Community | Company | Careers | News and Events
Products
OpenLogic Exchange (OLEX)
License Compliance Module
OSS Discovery
OSS Deep Discovery
OpenUpdate
Services
Open Source Support
CentOS Support
Scanning & Compliance
Open Source Training
Professional Services
Solutions
Support & Indemnification
Open Source Governance
Open Source Scanning
Open Source Provisioning
Consulting & Training
Contact Us
1-888-673-6564


© 2013 OpenLogic, Inc. All rights reserved.
Site Map  |  Privacy Policy