An important open-source components

Doświadczenie zespołu forCore wskazuje, iż przy budowaniu systemów o wysokich wymaganiach względem funkcjonalności, niezawodności i bezpieczeństwa, kluczową kwestią jest zdefiniowanie kryteriów, jakie musi spełniać oprogramowanie bazowe.

Tym samym, przy doradzaniu klientowi konkretnych rozwiązań, kładziemy nacisk by charakteryzowały się one następującymi cechami:

  • Otwartością, czyli wolnym modelem licencyjnym, wraz z ogólnodostępnym kodem źródłowym. Spełnienie obu tych wymagań gwarantuje brak uzależnienia od jednego dostawcy, możliwość niezależnej modyfikacji kodu oraz jego audyt.
  • Skalowalnością, czyli architekturą, umożliwiającą łatwe zwiększenie wydajności poprzez zwielokrotnienie elementów składowych. Dzięki tej właściwości możliwe jest wdrożenie danego rozwiązania w mniejszej skali, a następnie, wraz ze wzrostem wymagań i dostępnością środków, płynne powiększanie jego pojemności.
  • Łatwością integracji, czyli zespołem cech, które decydują o podatności danej aplikacji bądź narzędzia na łączenie z innymi komponentami w ramach projektowanego rozwiązania. Wśród pożądanych cech wymienić można: rozbudowane możliwości konfiguracji, przejrzyste API, modularną architekturę, jakość dokumentacji etc.
  • Potencjałem, a więc perspektywą stałego rozwoju oraz prawdopodobieństwem utrzymania się na rynku w szerszym horyzoncie czasowym. Przy ocenie tego parametru należy wziąć pod uwagę m.in. innowacyjność produktu, wielkość społeczności bądź rangę organizacji zajmującej się jego rozwojem, stopień wsparcia oraz zaangażowania finansowego udzielanego przez najważniejsze firmy w branży.
  • Zredukowanym kosztem, czyli relatywnie niewielkim, całkowitym, kosztem wdrożenia i utrzymania produktu, którego część składową stanowi określony komponent. Co prawda, w przypadku darmowego oprogramowania nieistotny jest koszt licencji, należy jednak pamiętać, że niezbędne jest poniesienie nakładów na sprzęt, specjalistów i wsparcie techniczne. Ważne jest, aby oceniane rozwiązanie pozwalało na istotne ograniczenie tych wydatków, przy zachowaniu maksimum funkcjonalności.

Poniżej zawarliśmy przykłady rozwiązań, naszym zdaniem, spełniających powyższe warunki, a w których wdrażaniu specjalizujemy się. Budujemy z nich kompletne systemy informatyczne, dostosowując architekturę do wymagań naszych klientów.

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..

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.

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.

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).

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.

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.

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.