Ważniejsze komponenty open source

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

Zaawansowana platforma programowa umożliwiająca tworzenie prywatnych i publicznych chmur obliczeniowych. Zawiera szereg komponentów, które pozwalają na oferowanie usług w modelu „infrastruktura jako usługa” (IaaS). Jeden z największych i najaktywniej rozwijanych projektów open source. Zastosowania: chmury obliczeniowe o różnym stopniu złożoności, usługi IasS, PaaS i SaaS.

Docker icon
Docker

Nowoczesny, zyskujący ogromną popularność wśród developerów i dostarczycieli usług cloudowych typu PaaS mechanizm wirtualizacji kontenerowej. Zastosowania: budowa środowisk developerskich i aplikacji w heterogenicznej architekturze, usługi PaaS w chmurach obliczeniowych.

Kubernetes icon
Kubernetes

Otwartoźrółowy system zarządzania kontenerami i skonteneryzowanymi aplikacjami. Pozwala on na uruchomienie tysięcy kontenerów, nadzoruje ich działanie, zapewnia komunikację sieciową oraz umożliwia skalowanie. Kubernetes powstał na bazie doświadczeń Google z uruchamianiem aplikacji w kontenerach i jest m.in. przez tę firmę aktywnie rozwijany. Zastosowania: złożone aplikacje kontenerowe, mikroserwisy, rozległe środowiska testowe i developerskie.

Ceph icon
Ceph

Otwarta platforma udostępniająca współdzieloną blokową i obiektową pamięć masową oraz system plików. Działa w modelu rozproszonym w architekturze bez pojedynczego punktu podatności na awarię, skalowalna horyzontalnie do pojemności eksabajtowych. Zastosowania: uniwersalny storage w chmurach obliczeniowych, przechowywanie dużej ilości danych na potrzeby aplikacji internetowych.

Elasticsearch icon
Elasticsearch

Skalowalny silnik wyszukiwania, umożliwiający indeksowanie dużej ilości danych w czasie rzeczywistym i ich natychmiastową prezentację.  Zastosowania: wyszukiwanie pełnotekstowe, gromadzenie i analiza zdarzeń (w połączeniu z aplikacjami przetwarzania i prezentacji danych).

Redis icon
Redis

Wydajna baza typu klucz-wartość, działająca w pamięci operacyjnej, wyposażona w mechanizmy replikacji. Zastosowania: systemy szybkiego wyszukiwania danych po kluczu, mechanizmy kolejkowania danych, systemy pośredniczące i cache aplikacji.

OpenDaylight icon
OpenDaylight

Dynamicznie rozwijane oprogramowanie, umożliwiające wdrożenie koncepcji sieci zdefiniowanych programowo (SDN – Software Defined Network) i wirtualizacji funkcji sieciowych (NFV – Network Function Virtualization). Zastosowania: sieci w modelu IaaS (Infrastructure as a Service), konsolidacja i ujednolicenie zarządzania sieciami w centrach danych.

Hadoop icon
Hadoop

Otwarta platforma oparta na paradygmacie MapReduce, umożliwiająca obsługę i przetwarzanie bardzo dużych zbiorów danych (big data). Zastosowania: systemy analizujące dużą ilość strukturalnych i niestrukturalnych danych, przechowywanych i przetwarzanych na standardowym i tanim w eksploatacji sprzęcie.

Zabbix icon
Zabbix

Nowoczesny system monitorowania aplikacji, serwerów i urządzeń sieciowych, wspierający hierarchiczną architekturę, wyposażony w bogate możliwości obsługi zdarzeń nadzwyczajnych. Zastosowania: monitorowanie parametrów systemów informatycznych, także rozproszonych geograficznie.

MongoDB icon
MongoDB

Zorientowany na dokument, nierelacyjny (NoSQL) system bazodanowy z mechanizmami zapewniającymi dużą skalowalność horyzontalną oraz wysoką wydajność. Zastosowania: systemy, w których istotne jest przechowywanie dużej ilości dokumentów z możliwością szybkiego dostępu i łatwością wyszukiwania.