An important open-source components

Experience of the forCore team shows that during the development of systems with high requirements in terms of functionality, reliability and safety, the key issue is to define criteria, which must be fulfilled by the software components.

Thus, when advising a specific solutions to our Customers, we emphasize that these solutions should be characterized by the following features:

  • openness, i.e. a free licensing model along with a open-source code. Fulfillment of both of these requirements guarantees the lack of dependence on one supplier (avoiding vendor lock-in), the possibility of independent modification of the code and its audit.
  • scalability, i.e. architecture for easy increase of the productivity by multiplication of components. Thanks to this feature, it is possible to implement a given solution in a smaller scale, and then, with the increase of requirements and availability of fund – smooth expanding its capacity.
  • ease of integration, i.e. a set of features that determine the ability of a certain application or tool to connect with other components within the framework of the projected solution. The desired features include: extensive configuration capabilities, transparent API, modular architecture, quality of documentation, etc.
  • potential, i.e. a prospect of the sustainable development and the probability to remain on the market in a broader time horizon. When assessing this parameter, we should take into account, among others, product innovation, the size or importance of community dealing with the product's development, degree of support and financial commitment granted by the most important companies in the IT industry.
  • reduced cost, i.e. relatively small total cost of the implementation and maintenance of the product. An integral part of the product is a specific component. It is true that in case of free software the license cost is not important, but it should be remembered that it is necessary to purchase equipment and pay for specialists and technical support. The evaluated solution should allow the significant reduction of these expenses, while maintaining the maximum of functionality.

Below we presented examples of solutions, which fulfill the above conditions (in our opinion). We specialize in their implementation. Thanks to them, we can build complex IT systems and adapt the architecture to requirements of our customers.

OpenStack
OpenStack

An advanced software platform that enables the creation of private and public clouds. It contains a number of components that allow to offer services in the Infrastructure as a Service (IaaS) model. Moreover, this is one of the largest and most actively developed open-source project. Application: cloud computing with different degrees of complexity, IaaS, PaaS and SaaS services.

Docker icon
Docker

A modern implementation of software containers for application deployment, which gains the huge popularity among developers and providers of cloud services. Application: construction of developer environments and applications in a heterogeneous architecture, PaaS services in cloud computing.

Kubernetes icon
Kubernetes

An open-source system for management of containers and containerized applications. It allows to run thousands of containers, scales them and makes network communication possible. Kubernetes builds upon 15 years of experience of running production workloads at Google, which is a major contributor to the project. Application: complex containerized applications, microservices, clustered development environments.

Ceph icon
Ceph

An open platform that provides block and object-oriented mass storage It works in a distributed model without a single point of failure. Ceph is horizontally scalable to exabyte capacities. Application: a universal storage in cloud computing, storage of large amounts of data for web applications..

Redis icon
Redis

An efficient, advanced key-value cache and store, which works on data sets placed in memory. Application: data queuing mechanisms, intermediary systems and application cache, cross-platform communication.

Zabbix icon
Zabbix

A modern real-time monitoring solution for applications, servers and network equipment. It can gather virtually limitless types of metrics, supports distributed monitoring and provides many alerting options. Application: monitoring availability and performance of IT infrastructure, including geographically dispersed data centers.

Hadoop icon
Hadoop

An open platform based on the MapReduce paradigm. It enables the storage and processing of very large data sets (big data). Application: analyzing big amounts of structured and unstructured data, distributed data processing.

OpenDaylight icon
OpenDaylight

A dynamically developed software, which enables the implementation of the SDN (Software Defined Network) concept and the NFV (Network Function Virtualization). Application: networks in the IaaS (Infrastructure as a Service) model, consolidation and unification of the network management in data centers.

Elasticsearch icon
Elasticsearch

A scalable search engine, which enables indexing of large amount of data in the real time and their immediate presentation. Application: full text search, collection and analysis of events (in connection with applications for processing and presentation of data).

MongoDB icon
MongoDB

A document-oriented, non-relational (NoSQL) database system, which features excellent horizontal scalability and high performance. Application: systems that store large amounts of documents with diverse data schema, real-time analytics.