You are on page 1of 6

apache,nginx and IBM HTTP Server

Nginx Vs Apache

As discussed above Nginx is based on event-driven architecture. Apache is based

on process-driven architecture. It is interesting to note that Apache in its earliest
release was not having multitasking architecture. Later Apache MPM (multiprocessing module) was added to achieve this.
Nginx doesnt create a new process for a new request. Apache creates a new
process for each request.
In Nginx, memory consumption is very low for serving static pages. But, Apaches
nature of creating new process for each request increases the memory consumption.
Several benchmarking results indicates that when compared to Apache, Nginx is
extremely fast for serving static pages.
Nginx development started only in 2002. But Apache initial release was in 1995.
In complex configurations situation, when compared to Nginx, Apache can be
configured easily as it comes with lot of configuration features to cover wide range of
When compared to Nginx, Apache has excellent documentation.
In general, Nginx have less components to add more features. But Apache has
tons of features and provides lot more functionality than Nginx.
Nginx do not support Operating Systems like OpenVMS and IBMi. But Apache
supports much wider range of Operating Systems.
Since Nginx comes only with core features that are required for a web server, it is
lightweight when compared to Apache.
The performance and scalability of Nginx is not completely dependent on
hardware resources, whereas the performance and scalability of the Apache is
dependent on underlying hardware resources like memory and CPU.

Diff b/w application server and web server.

Application Server
What is A server that exposes business logic to client
it? applications through various protocols including
Job Application server is used to serve web based
applications and enterprise based applications(i.e
servlets, jsps and ejbs...). Application servers may
contain a web server internally.
Function To deliver various applications to another device,
s it allows everyone in the network to run software
off of the same machine.

Web Server
A server that handles
HTTP protocol.
Web server is used
to serve web based
servlets and jsps)
Keeping HTML,
PHP, ASP, etc files
available for the web
browsers to view

Supports distributed transaction and EJB's

Resource High

when a user
accesses the site on
the web, handles
HTTP requests from
Servlets and JSP

Conducting network/server side performance tuning and monitoring.

Performance tuning is the improvement of system performance. This is typically a computer

systems. The motivation for such activity is called a performance problem, which can be real or
anticipated. Most systems will respond to increased load with some degree of
decreasing performance.
SNMP: 161/162 Nagios:80 Nagios server on port TCP 5667
Directory servers (ldap) like tivoli directory server and Microsoft AD
LDAP Port: 389 LDAPS: 636
database installation & administration of oracle and MySql
Mysql DB oracle
subversion svn and project tracking tool JIRA
SVN subversion and Jira is bug trecking tools
WebSphere MQ knowledge

IBM's Messaging solution for Enterprise and IBM's Message Oriented Middleware offering

What is WebSphere MQ?

WebSphere MQ is messaging for applications. It sends
messages across networks of diverse components. Your
application connects to WebSphere MQ to send or receive
a message. WebSphere MQ handles the different
processors, operating systems, subsystems, and
communication protocols it encounters in transferring the
message. If a connection or a processor is temporarily
unavailable, WebSphere MQqueues the message and
forwards it when the connection is back online.

An application has a choice of programming interfaces,

and programming languages to connect
to WebSphere MQ.
WebSphere MQ is messaging and queuing middleware,
with point-to-point, publish/subscribe, and file
transfer modes of operation. Applications can publish
messages to many subscribers over multicast.

Responsible to manage different environments e.g. Dev, UAT, Production

SDLC, Software Development Life Cycle is a process used by software industry

to design, develop and test high quality softwares. The SDLC aims to produce a
high quality software that meets or exceeds customer expectations, reaches
completion within times and cost estimates.

In software development, user acceptance testing (UAT) - also called beta testing, application
testing, and end user testing - is a phase of software development in which the software is
tested in the "real world" by the intended audience.

"Prod" means "Production". It describes the environment you are providing to the
On the other hand, "Dev" means "Development", its the environment which the developers
work on.
set Virtual portals and realm configurations

Creating a virtual portal

When you create a new virtual portal, you enter or select the following properties for the
new virtual portal as required:

The title for the new virtual portal. The title is later displayed in the list of virtual
portals in the Virtual Portal Manager portlet. The title is not visible for users of the
virtual portal. This field is limited to 255 characters.

A description of the new virtual portal. This attribute is optional. This field is
limited to 255 characters.

Either a host name or a context for the virtual portal:


A human readable URL context that is used for accessing the virtual
portal. You can set a URL that can be easily remembered and is therefore
more user friendly than the actual full portal URL. The portal maps the
friendly URL to the internal URL of the virtual portal. To do this, it uses the
portal URL Mapping feature. The string that you enter will be used as the
last part of the URL of the virtual portal and will be appended

The realm can consist of identities in the file-based repository that is built into the system, in one or more
external repositories, or in both the built-in, file-based repository and one or more external repositories.
To view this administrative console page, complete the following steps:
1. In the administrative console, click Security > Security domains.
2. Under User realm, select Customize for this domain. Select Federated repositories from the Realm
type field and click Configure.
When you finish adding or updating your federated repository configuration, go to the Security > Global
security panel and click Apply to validate the changes.
A single built-in, file-based repository is built into the system and included in the realm by default.

IBM Cell and Node

A Cell is a virtual unit that is built of a Deployment Manager and one or more nodes. I guess a
picture will help making things clearer:
The Deployment Manager is a process (in fact it is an special WebSphere instance) responsible for
managing the installation and maintenance of Applications, Connection Pools and other resources
related to a J2EE environment. It is also responsible for centralizing user repositories for application
and also for WebSphere authentication and authorization.
The Deployment Manager communicates with the Nodes through another special WebSphere
process, the Node Agent.
The Node is another virtual unit that is built of a Node Agent and one or more Server instances.
The Node Agent it the process responsible for spawning and killing server processes and also
responsible for configuration synchronization between the Deployment Manager and the Node. Extra
care must be taken when changing security configurations for the cell, since communication
between Deployment Manager and Node Agent is ciphered and secured when security is enabled,
Node Agent needs to have configuration fully resynchronized when impacting changes are made to
Cell security configuration.
Servers are regular Java process responsible for serving J2EE requests (eg.: serving JSP/JSF
pages, serving EJB calls, consuming JMS queues, etc).
Build & Release management and continuous integration

Continuous Integration is the practice of testing each change done to your codebase
automatically and as early as possible.
Continuous Deployment follows the testing that happens during Continuous Integration and
pushes changes to a staging or production system. This makes sure a version of your code is
accessible at all times.

unix administration and shell commands

Tomcat application server
What is IBM cell, node,server, cluster

Cell - Highest configuration scope that contains 1 deployment manager to manage the
Node - Configuration scope contained within a cell. This would also be directly associated with a
Profile instance.
Server - Configuration scope contained within a node. This would be directly related to server
jvm instances.

Cluster - Configuration scope contained within a cell and contains an associated set of
applications and servers.
Each Node must have 1 server which is the node agent. It is used to synchronize configuration
data from the DMgr to a Profile.
The Deployment Manager (DMgr) profile/Node is a special case and does not contain a node
agent since that is where the DMgr runs and connects with the other node agents.
All configuration changes would be made on the Deployment Manager

shell, ant scripts and Jenkins setup

Jenkins defult port: 8080
Del file older then 7 days: find /path/to/files* -mtime +5 -exec rm {} \;


Node require for each server

Port require for each server
If server is not running then application node also will not able to access.
Distributed process discovery.

Linux booting process.