IndiaMART is accelerating its footing in online business and rapidly adopting techniques that strengthens its business framework of simplifying the backbone of its platform and facilitating smooth operations. Thus, to mull on few, I would like to list down 15 engineering tools that are behind the entire gamut of IndiaMART network.
1. Apache – Apache is a HTTP web server, this provides a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards, This is used as primary web server.
2. Varnish – Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 – 1000x, depending on your architecture.
3. CentOS – IM server infrastructure comprise of open source operating system, CentsOS is a Linux operating system derived from RedHat Enterprise Linux
4. PHP – PHP is used as primary scripting language. Programming language where all the programmes are written.
5. GIT – Version control system, used by every product team, for managing version control of the source code, it helps to track change and rollback easily when required.
6. Puppet – Puppet is an open-source configuration management utility. It helps you describe machine configurations in a declarative language, bring them to a desired state, and keep them there through automation. We use Puppet to keep server configuration at central place, root of puppet is under GIT, which helps us to keep track of change in infra.
8. Pagerduty – Pageduty is used along with Nagios to send phone call alert to support team, and also manages escalation.
3rd Party online service integrated with our monitoring system Nagios.
7. Nagios – The complexity of modern networks and systems is somewhat astounding, as any experienced System Administrator will tell you. Even seemingly small networks found in many Small/Medium Enterprises (SME’s) can have extremely high levels of complexity in the systems they run. Nagios monitors health of each and every service in the infrastructure and alert us when there is something wrong.
It was designed as a rock solid framework for monitoring, scheduling and alerting. Nagios contains some very powerful features, harnessing them is not only a matter of understanding how Nagios works, but also how the system you’re monitoring also works. This is an important realization. Nagios can’t automatically teach you about complex systems, but it will be an valuable tool to help you in your journey
9. SaltStack – SaltStack takes a new approach to infrastructure management by developing software that is easy enough to get running in seconds, scalable enough to manage tens of thousands of servers, and fast enough to control and communicate with them in milliseconds. SaltStack delivers a dynamic infrastructure communication bus used for orchestration, remote execution, configuration management and much more. The Salt project was launched in 2011 and today is the fastest-growing, most-active infrastructure orchestration and configuration management open source project in the world. The SaltStack community is committed to keeping the Salt project focused, friendly, healthy and open.
10. Cacti – Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. We use Cacti to create historical graphs of various resources, such as CPU and Memory utilizatiom, network bandwidth, etc.
11. Fluentd – Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data, through this we collect logs of server and various services and store it in Elastic search, which enables us to quickly find the desired log entry.
12. Elastic Search – Used to store and index application/ser logs
13. Kibana – It is a frontend to elastic search.
14. Readmine – Redmine is used for project management and bug tracker.
15. Solr – Solr is the search engine and it drives IM search. Whatever is searched in IndiaMART is run through this system.
Contribution by Aniruddh Singh, Vice President – Technology, IndiaMART