Book Image

IT Inventory and Resource Management with OCS Inventory NG 1.02

Book Image

IT Inventory and Resource Management with OCS Inventory NG 1.02

Overview of this book

OCS Inventory NG is a cross-platform, open-source inventory and asset management solution. It brings more than plentiful features to the table to satisfy the business needs of small-to-large organizations with up to tens of thousands of computers. However, to put this inventory solution to optimum use requires a lot of skill.This book will lead you through the steps of implementing OCS-NG until you master working with it. This book aims at reducing efforts involved in resource management. The solution gives a robust foundation on top of which we can implement other third party applications, plugins, and much more.This book begins with the basics—it explains what IT inventorying needs are to be met in the real-world. Then, it covers a step-by-step approach to everything you need to know to set up and implement OCS-NG as a centralized inventory solution to meet all these requirements. It delves deeper into carrying out inventory tasks with every chapter.You will learn how to choose the best agent type and deployment method. We discuss the process of gathering inventory data and cover techniques for creating and deploying packages. You will also learn how to acquire added benefits with the use of plugins. We discuss best practices on inventorying and troubleshooting agent-related problems. The book presents real-world inventorying scenarios along with their solutions. You will basically learn how to use OCS-NG to get the most out of it.As a conclusion, if you want to learn about a free solution that fulfils inventorying necessities of the real-world, this is the book for you.
Table of Contents (16 chapters)
IT Inventory and Resource Management with OCS Inventory NG 1.02
Credits
About the Author
Acknowledgement
About the Reviewer
Preface
Keeping Pace with Version Updates—Glancing over the changelog of the Latest Release

Centralization: Introducing the client-server model


Ever since distributed applications appeared, the client-server model has become popular. In the simplest terms, the server is a computer (usually, a high performing one) running the service that centralizes some kind of information. It's also able to receive connections from clients, process their requests, and give them the results whenever necessary.

Clients establish a connection with the server in order to request or upload some content. This communication model describes one of the most basic relationship and architecture. Typically, servers can simultaneously accept and process requests. This is done with multithreading programming. Other times, the queries are so fast that sequential execution is enough.

The communication between clients and the server can happen either through the Internet in case of wide area network (WAN) or just locally when it's limited to the local area network (LAN). When necessary to enhance scalability, it is possible to incorporate more than one server in the client-server model. The servers will be part of a pool and they can share the load between each other. Thus a balanced workload and bandwidth is achieved.

Example of the client-server model—an Internet forum

The service that runs on the servers is a computer application. It usually uses elements of other services. Let's consider the example of a PHP-based web application: forums or bulletin boards. Everyone knows those. The forum application is the service running on the server, and the clients are the members visiting the site, posting, reading posts, and so on.

The forum service cannot run on its own. It needs a set of other vital server components. A web server is necessary to listen, accept, and serve HTTP requests from visitors. In the case of users, the web browser can formulate the HTTP requests, establish the communication with the target web server, and retrieve its HTTP responses. This is how web surfing can be explained from a client-server architecture perspective.

Nevertheless, this is not sufficient for the forum script to function properly. It is heavily dependent on a database service as well. This is the place where the data is stored. If the script is PHP based, then the PHP service is also a prerequisite so that the dynamically generated web pages can be processed. While, other services may also be required, for the sake of keeping things simple and to present the basis of a client-server architecture, these services will suffice.

The client-server model versus the peer-to-peer paradigm

The client-server model has its share of advantages and drawbacks when compared with other similar models such as the peer-to-peer paradigm. First and foremost, the client-server model is based on having only one place where the data is stored, on the server. This provides enhanced security and management. The server can be tightly secured, firewalled, and powered by high-performing components. In addtion, the sever has access to plenty of system resources, is backed up regularly, and must be maintained appropriately.

The data is centralized, and this gives a safer infrastructure to maintain an error-free copy of the actual data on the side of every client. From the client's perspective, the server can be replaced, upgraded, or migrated on another server, without being affected. They know the path and destination of how to reach the server. If the migration or the maintenance is carried out properly, clients will not even be aware of that.

The peer-to-peer (P2P) paradigm takes a different approach to the client-server model. The model presumes that every end point can act both as a server and client likewise. Undoubtedly this brings the advantage of greater scalability and flexibility. But it is tougher and time-consuming to maintain an actual up-to-date copy of the database on every end-point client.

The P2P paradigm solves the possibility of network traffic congestion as there's no dedicated server to get overloaded. Ultimately, this is not a magic pill either as all of the clients creating so much cross-talk contributes to increased all-around network traffic.

On the other hand, the client-server model does not provide such a high degree of robustness. If and when the server fails on a hardware level, until it gets replaced, repaired, or fixed, clients won't be able to connect and get any data out of the management server at all. However, there are various workarounds to enhance the uptime of servers and ensure their balanced workflow. Redundancy can also be implemented within the model if it is truly necessary.

IT inventorying based on the client-server model

Each of the paradigms mentioned have their share of best fit scenarios where using one in favor of the other is a better decision. In case of IT inventorying and resource management solutions, the first model-which is the client-server model, centralization is a better approach. The chance of overloading the server is lower because the volume of data that is exchanged is really low, a few kilobytes at most. The bandwidth usage is light.

Most importantly, the server-client model yields immediate access to the actual information stored (that is secured) in the database. Centralization is an advantage here.