Split or Dont Split Application and Database
Split or Dont Split Application and Database
Split or Dont Split Application and Database
Separate Application and Database or run both on same Server? (Application / DB split yes or no?) Version 1.0
distributed by
http://www.iT-Checklists.com
http://www.Mercury-Consulting-Ltd.com
Conventions
The following typographical conventions are used in this book: Constant width Used for source code Constant width bold user input [] optional elements {} mandatory choice | separates choices
http://www.Mercury-Consulting-Ltd.com
Table of Contents
Summary..................................................................................................................................................................................... 4 Details......................................................................................................................................................................................... 5 License related Topics................................................................................................................................................................ 5 Technical Topics........................................................................................................................................................................ 6 Different Operating Systems.................................................................................................................................................... 6 Network............................................................................................................................................................................... 6 Hardware.............................................................................................................................................................................. 7 Operations ........................................................................................................................................................................... 8 Other................................................................................................................................................................................... 8 Scalability............................................................................................................................................................................. 9 Appendix A - Server Class / Category......................................................................................................................................... 10 How Mercury Consulting Ltd. can help you .............................................................................................................................. 11 Our Services ....................................................................................................................................................................... 11 Our Products....................................................................................................................................................................... 12 Our free Whitepapers............................................................................................................................................................ 15
http://www.Mercury-Consulting-Ltd.com
Summary
There exists no general valid answer to the question if database and application should be separated on different physical servers or share the same physical server. Trends as "Server Consolidation" or "Multi-Tier-Architecture" provide arguments for each side the best solution depends on the individual combination of several factors which are listed in tabular form. In case that the per-CPU software license costs are magnitudes higher than the hardware costs, the the decision is very likely driven by costs rather than based on the companies standard / reference architecture. In case that an old or not popular application software requires a specific operating system or an old version, the possibility to run the database on a separated server on your strategic operating system can be a strong argument for the separation. As database CPU-licenses are very expensive, the newest, fastest CPU's can reduce the number of required database CPU's and thus reduce the license costs; but the newest CPU's usually requires a very new operating system version which might still not be supported by your application vendor. Running the database on an separates server circumvents this limitation. The "virtualized architecture" will be somewhere between the two base architectures. This table provides a high level overview, more specific tables in the main section drill down to a more detailed level. Architecture Topic
Application and Database sharing same physical server (not virtualized or partitioned) Application and Database on separated physical servers
License costs for database, application server / middle ware, application Different operating systems Number of Servers (installation, maintenance, rackspace, energy, operating system licenses, backup licenses) Total number of CPU's Server Class
In worst case you pay for all CPU's in the server the database license and the application (server) license. not possible 1
possible 2
equal or higher more likelihood to avoid the higher server classes local interprocess communication or local TCP/IP communication usually TCP/IP + network + switch
http://www.Mercury-Consulting-Ltd.com
Details
License related Topics
Example: Single-Server configuration with 8 CPU's compared with Split-Architecture with 4 CPU's on the database server and 6 CPU's on the application server.
Topic Application and Database sharing same physical server, not virtualized or partitioned. Application and Database running on different virtual or in other way partitioned servers on same physical server Application and Database on separated physical servers
Operating System License + Support Software for Virtualization, Partitioning or Zoning Database Software Licenses Cost for CPU-Licenses and yearly repeating support and maintenance contracts for database server software Application Software Licenses Cost for CPU-Licenses and yearly repeating support and maintenance contracts for Application and/or Application Server Software Total CPU-Licenses Advanced Filesystem Options
For 1 server (but might be more expensive because of more CPU's or higher server class)
For 1 server + dependent on operating system this might be a standard feature or feature at extra costs or an additional product
For 2 servers
for all CPU's (example: 8) Note: Dependent on number of CPU's you might need to purchase more expensive "Enterprise" or "Data Centre" (example: 8)
16 (8 database + 8 application (-server) Might be more expensive on a server with more CPU's or in a higher server class.
10 (4 database + 6 application (-server) You might decide to reduce costs for additional licenses for advanced filesystem products / options by using those for the database server only. Limited to database server
License for Database Backup Agent (in addition to standard backup license)
Might be more expensive on a server with more CPU's or in a higher server class.
http://www.Mercury-Consulting-Ltd.com
The operating system and version must be supported by database vendor and application vendor.
The list of operating systems is limited to those supporting your hardware / CPU-type.
You might decide to use even different hardware / CPU types for application and database. Even if your application vendor supports only one or very limited number of operating systems, you can continue to run the database on your favourite operating system. Newest CPU's with highest clock speed require often a very new operating system version or patch level which is usually supported very soon by database server vendors but not by all application vendors. When using same operating system , you still can operate the database on a different version than the application.
Network
A real load test is the most reliable method to identify the impact of the network between 2 different physical servers in best case you might not see any performance difference on application level.
Topic Application and Database sharing same physical server, not virtualized or partitioned. Application and Database running on different virtual or in other way partitioned servers on same physical server Application and Database on separated physical servers
The processing of the TCP/IP stack is continuously improved and the CPU-overhead required is therefore decreasing.
Copyright 2008 Mercury Consulting Ltd. http://www.Mercury-Consulting-Ltd.com 6
Hardware
Topic Application and Database sharing same physical server, not virtualized or partitioned. Application and Database running on different virtual or in other way partitioned servers on same physical server Application and Database on separated physical servers
1 Server 8 CPU
2 servers instead of 1 can be higher 4 CPU's Database server + 6 CPU's Application Server 10 CPU's total You might still remain in the smaller server category (e.g. "Work group" servers). it depends 2 small / medium servers of "Work group" class might be cheaper or more expensive than one server of "High-End" / "Enterprise" class.
Hardware Costs
4 6 6 16
http://www.Mercury-Consulting-Ltd.com
Operations
Topic Application and Database sharing same physical server, not virtualized or partitioned. Application and Database running on different virtual or in other way partitioned servers on same physical server Application and Database on separated physical servers
Database will be shut down too. (And database cache will be lost too.)
You can keep the database running. This can be an advantage if you have direct database connections e.g. from interfaces and users connecting in client/server mode. You keep the database cache warm. 2 servers instead of 1
Administration Overhead
1 Server
Other
Topic
Application and Database sharing same physical server, not virtualized or partitioned.
Application and Database running on different virtual or in other way partitioned servers on same physical server
The application or your customizations utilises a database feature to read from / write to nondatabase files (e.g. "utl_file") which need to be accessible by the application Kernel Parameters
not an issue.
You might require a NFS- or other shared filesystem for those directories
cannot be optimized
http://www.Mercury-Consulting-Ltd.com
Scalability
Most servers allow adding of CPU up to a server-specific limit, e.g. 2, 4, 8 or 16 CPU's. When your load increases over time and the last free CPU-sockets are filling up, you have following options:
Advantage Replace the existing CPU's with newer, faster CPU's In case of CPU-based licenses the number of CPU's stays constant Simple
Disadvantage or other comments Newer CPU's might require newer operating system version. You need to purchase more licenses If the bigger server is classified in a higher server class, you should read Appendix A with some comments about server classes.
Add one more server. If you are currently running database and application on one server, the split should not be too difficult.
The simple split from application and database on same server to 2 servers requires ome configuration changes, but those are usually well known and well documented. However, distributing the application across different servers, or the database across different servers isn't as simple as splitting application and database if the application was not explicitly designed for horizontal scalability.
http://www.Mercury-Consulting-Ltd.com
We are already using this high end server class and just need to add a partition / cell to it. This would be our first installation of this server class. We have <xx> employees with more than 2 / 5 years experience on this server type.
The Service Provider employs <xx> employees with more than 2 years experience on this server type, and <yy> employees with more than 5 years experience on this server type. If the servers are in the customer's (your) data centre but operated by service provider: From those employees above there are <z> employees working on those servers. The Vendor employs in your country / city <xx> employees with more than 2 years experience on this server type, and <yy> employees with more than 5 years experience on this server type. In case that your data centre is in a very remote / small country and you don't allow remote access then you might expect travel costs (and delay by visa procedures) for vendor's global support staff coming on site. Are the costs for support- / consulting staff in the high end server class the same or higher? Even if vendor or service provider denies this, there is still the risk that for the high end server class all available staff is in a more senior job level and for this reason more expensive. Trying to hire employees with hands on experience in the highest server class is more cumbersome, and those you find will apply for more senior positions.
Employees Cheaper "Work group"-License types for operating system software are not available on high end servers. Cheaper "Work group"-License types for cluster software are not available on high end servers. Cheaper "Work group"-License types for database server software are not available on high end servers. Availability of spare parts for all components
. All spare parts are / will remain guaranteed on stock within the same city / within a region of <xxx> kilometres. ... Vendor promised overnight shipment (by air). ... Customs clearance usually takes <xx> days / <yy> weeks. ... All spare parts are within the country / customs union.
http://www.Mercury-Consulting-Ltd.com
10
Our Services
All Services can be provided in German and English
http://www.mercury-consulting-ltd.com/services.htm
Database- and Application Capacity Management and Capacity Planning Project Support: Requirements Definition, initial Sizing, Installation.... Service Level Management by ITIL Foundation certified expert Systems Documentation Writing your Operations Manual Technology Selection for Disaster Recovery and Business Continuity Database Administration Database Tuning Audit of Database Installations
http://www.Mercury-Consulting-Ltd.com
11
Our Products
you can purchase online and immediately download at our eBook-Shop Our Checklists and Templates will help you to ensure that good or best practice is not only known but consistently applied!
Template to create an Operations Manual for a Data Centre, focusing on Data Centre Infrastructure. This document assists in first step of gathering and classifying information about servers, applications and software.
Those questions which you need to ask before starting the development! Requirements, Checklist and Template for Planning, Defining and Documenting Application Interfaces.
This vendor- and operating system independent checklist deals with "big picture" and helps to evaluate all potential impact of upgrading a server, e.g. adding CPU's, replacing CPU's with faster CPU's , Operating System Upgrade, adding Storage or replacing a server with a newer, bigger model Purpose of this document is to support The decision making process of "should we upgrade now or later or not at all?" The impact analysis identification of all internal and external dependencies. The gathering of requirements for the upgrade. The selection of the best upgrade approach ("In-Place Upgrade" or "New Installation"). Providing input required for the Upgrade Planning.
Checklist for small and medium projects focusing on non-functional aspects for operations team.
http://www.Mercury-Consulting-Ltd.com
12
Benefit
This template with in-depth explanations of tasks required to plan outages on medium to large IT Systems will avoid that important steps are forgotten. Very often "Application Retirement" discusses the process of upgrading an application to a newer version or replacing by another similar product, emphasizing the benefits of upgrading and only minor focus on the decommissioning. This document deals solely with the "end of operations" / "decommissioning" of an obsolete IT application or old version of an upgraded / replaced application and addresses IT Organizations at maturity levels between 1 and 3, with highest benefit for those on level 2 striving to achieve level 3.
Backup SLA / OLA Decision Template for selecting Disaster Recovery (DR) Technology Business Requirements for Archiving and Purging Application Health Check: Stability Assessment
Operations Level Agreement (OLA) with the Backup Team. This template helps you to define your individual DR-requirements and after explaining the four main technology groups to select the most suitable technology. Template with Business Requirements for Archiving & Restore & Purging. Not removing old customer data can cause conflicts with privacy laws. Business must act and clearly specify what to purge and what to archive! Using this template to check your systems - and DOCUMENT the findings might show you even more potential issues beyond invalid objects.
http://www.Mercury-Consulting-Ltd.com
13
http://www.Mercury-Consulting-Ltd.com
14
Important Facts about Redolog- and Archivelog in Oracle Databases for Change Managers and Application Support Staff The Danger of Invalid Database Objects
Private or Public Synonyms or no Synonyms at all ? Transaction Log / Archive Log Volume
with 14 years experience as DBA and 7 years experience in projects with mobile telecommunication operators.
http://www.Mercury-Consulting-Ltd.com
15