Stwórz swoją własną infrastrukturę w chmurze i oszczędź znaczną sumę pieniędzy!
Utrzymanie platformy IT wiąże się z wieloma wyzwaniami, takimi jak zarządzanie przestrzenią serwerową, konfiguracja środowisk programistycznych, zapewnienie bezpieczeństwa, wybór stosów oprogramowania, aktualizacje i konserwacja sprzętu. Te wszystkie aspekty generują wysokie koszty. Firmy zajmujące się tworzeniem i wdrażaniem aplikacji muszą przeznaczać znaczne zasoby na utrzymanie działającej platformy. Zasoby te mogłyby być lepiej wykorzystane na rozwój oprogramowania.
W odpowiedzi na te wyzwania powstały rozwiązania chmurowe. Wykorzystują one model przetwarzania w chmurze, dostarczając programistom wszystko, czego potrzebują do pracy, od hostowanych środowisk programistycznych i narzędzi bazodanowych po kompleksowe funkcje zarządzania aplikacjami. Deweloperzy korzystający z platformy chmurowej mają dostęp do wszystkich zasobów niezbędnych do tworzenia, wdrażania i uruchamiania aplikacji. Dla firm platforma chmurowa stanowi elastyczną podstawę dla nowych aplikacji, które muszą być dostarczane w krótkim czasie. Dzięki modelowi rozliczeń „płać w miarę użycia” nie ma potrzeby dokonywania długoterminowych inwestycji w infrastrukturę lokalną.
Dlaczego warto wybrać otwarte oprogramowanie?
Po omówieniu zalet chmury w porównaniu z tradycyjnymi platformami lokalnymi, naturalne jest pytanie, dlaczego otwarta platforma chmurowa jest lepsza niż platforma o zamkniętym kodzie. Najbardziej oczywistą odpowiedzią są koszty – licencje na rozwiązania komercyjne zawsze wiążą się z wyższą ceną. Kolejną istotną zaletą jest elastyczność i swoboda wyboru spośród szerokiego spektrum frameworków, chmur i usług.
Z drugiej strony, platformy o zastrzeżonym kodzie mogą wiązać użytkownika z ich narzędziami i usługami. W zamian oferują pewne korzyści, takie jak gwarancje poziomu usług (SLA) i odciążenie od testowania oraz integracji, jednak te zalety nie przeważają nad korzyściami płynącymi z otwartości.
Poniżej przedstawiamy wybór platform chmurowych open source dla przedsiębiorstw, które wiodą prym na dzisiejszym rynku.
Cloud Foundry
Platforma Cloud Foundry, pierwotnie stworzona przez VMware (obecnie należącą do Pivotal Software), wyróżnia się dostępnością jako samodzielna aplikacja open source, co czyni ją niezależną od konkretnego dostawcy chmury. Można ją wdrożyć na VMware vSphere lub innych infrastrukturach chmurowych, takich jak HP Helion, Azure czy AWS. Możliwe jest również samodzielne hostowanie jej na własnym serwerze OpenStack.
Cloud Foundry, dzięki wykorzystaniu pakietów budowania, upraszcza obsługę środowiska wykonawczego i frameworka. Przy każdym wdrożeniu aplikacji środowisko uruchomieniowe Cloud Foundry wybiera dla niej najbardziej odpowiedni pakiet. Następnie pakiet budowania zajmuje się kompilacją aplikacji i przygotowaniem jej do uruchomienia.
Cloud Foundry została zaprojektowana w celu zapewnienia szybkiego tworzenia i wdrażania aplikacji dzięki wysoce skalowalnej architekturze i przepływom pracy przyjaznym dla DevOps. Obsługuje ona m.in. języki Python, Ruby, PHP, Java i Go. W celu optymalnego dopasowania do Cloud Foundry, zaleca się, aby projekt był zgodny ze standardem aplikacji Twelve-Factor, metodologią specjalnie opracowaną do tworzenia optymalnych aplikacji typu Software as a Service (SaaS).
Udemy oferuje kurs programowania dla chmury z wykorzystaniem Cloud Foundry.
WSO2
Jeśli intensywnie pracujesz z architekturą SOA, z pewnością masz do czynienia z wieloma wewnętrznymi i zewnętrznymi interfejsami API. Właśnie w takich scenariuszach WSO2 wyróżnia się swoim API Managerem, który jest w stanie obsłużyć pełny cykl życia interfejsu API. WSO2 zapewnia zgodność z większością wymagań, które mogą stawiać Twoi klienci, w tym wersjonowaniem, dokumentacją API i odciążaniem SSL.
WSO2 wykorzystuje koncepcję sklepu, gdzie programiści mogą wyszukiwać, testować i oceniać interfejsy API. Wdrożenie jest proste i oferuje liczne opcje kontroli przepływu API. Zapewnia również automatyczne odzyskiwanie w przypadku awarii punktu końcowego. Wszystkie te cechy mają na celu przyspieszenie czasu wprowadzenia produktu na rynek, uproszczenie zarządzania kosztami i ogólną poprawę wydajności procesów biznesowych.
Dużą zaletą WSO2 API Manager jest łatwa integracja z WSO2 Identity Server, opartym na API rozwiązaniem IAM (Identity and Access Management). Ta integracja oferuje przyjazną platformę do uwierzytelniania w środowiskach chmurowych.
Cloudify
Cloudify to platforma orkiestracji przeznaczona do modelowania aplikacji i usług, jednocześnie automatyzując ich cykl życia. Umożliwia ona wdrożenie w dowolnym środowisku chmurowym lub centrum danych oraz ich ciągłą konserwację. Platforma oferuje również narzędzia do monitorowania wszystkich aspektów wdrożonych aplikacji, wykrywania problemów i rozwiązywania ich ręcznie lub automatycznie.
Jedną z najbardziej godnych uwagi funkcji Cloudify jest modelowanie planu oparte na TOSCA. Ta innowacja pozwala programistom używać YAML do tworzenia planów topologii aplikacji. YAML to czytelny dla człowieka język serializacji danych, używany do tworzenia definicji na podstawie specyfikacji TOSCA. Zapewnia on programistom ustandaryzowany sposób opisywania połączeń między aplikacjami, systemami i komponentami infrastruktury chmury.
Orkiestracja chmury Cloudify zapewnia solidną podstawę do zarządzania i bezpieczeństwa IT, umożliwiając użytkownikom stosowanie ograniczeń dostępu z różnymi rolami i poziomami uprawnień. Cloudify używa zestawu wtyczek do komunikacji z usługami zewnętrznymi, takimi jak kontenery Kubernetes, usługi w chmurze (AWS, Azure, vSphere, OpenStack) i narzędzia do zarządzania konfiguracją (Puppet, Ansible, Chef). Wiele innych usług jest obsługiwanych przez ogólne, istniejące wtyczki.
OpenShift
OpenShift to platforma oparta na Kubernetes, z elastycznym i bardzo szybkim instalatorem oraz rozbudowaną obsługą API, co pozwala programistom dostosować platformę do swoich potrzeb. Została zbudowana z myślą o bezpieczeństwie. Kontenery powinny działać jako użytkownicy nieposiadający uprawnień roota. W przeciwnym razie, OpenShift wymaga jawnego nadpisania, aby uruchomić kontener.
Korzystanie z Kubernetes wymaga dużej liczby serwerów, a opanowanie go wiąże się z pewną krzywą uczenia się. Z tego powodu platforma nie jest odpowiednia dla małych wdrożeń, chyba że planuje się ich rozbudowę w niedalekiej przyszłości.
Użytkownicy OpenShift chwalą szybkie procedury instalacji i konfiguracji, a także łatwość konserwacji modułów i komponentów. Kolejnym plusem jest własne repozytorium Git. Za wadę uznawana jest trudność w czytaniu i interpretowaniu logów. Szczególnie, gdy wystąpi błąd podczas przesyłania projektu, trudno jest zdiagnozować przyczynę problemu.
Nauka OpenShift jest prosta.
Tsuru
Rede Globo, druga co do wielkości komercyjna sieć telewizyjna na świecie, wykorzystuje Tsuru jako produkt PaaS oparty na platformie Docker (Platform as a Service) zdolny do orkiestracji i uruchamiania aplikacji w środowisku produkcyjnym. Jest to platforma open source dla wielu dostawców, obsługująca strony internetowe z milionami użytkowników, opracowana przez Globo.com.
Użytkownicy Tsuru twierdzą, że znacznie skraca on czas wprowadzania na rynek, jednocześnie zapewniając prostotę, wysoką dostępność, bezpieczeństwo i stabilność. Może być uruchamiany w różnych infrastrukturach chmurowych, zarówno publicznych, jak i prywatnych, o ile są one obsługiwane przez maszynę Docker. Obsługuje również prawie każdy dostępny język programowania, co daje programistom swobodę wyboru zgodnie z ich preferencjami.
Dzięki Tsuru możesz korzystać z różnych magazynów danych, w tym baz danych SQL lub NoSQL, lub alternatyw w pamięci, takich jak Memcached lub Redis. Wystarczy wybrać preferowany typ i podłączyć go do swojej aplikacji. Do zarządzania aplikacją można użyć wiersza poleceń lub interfejsu internetowego, a następnie wdrożyć ją za pomocą Git. Infrastruktura Tsuru zajmie się wszystkimi szczegółami.
Stackato
Stackato to wielojęzyczny produkt PaaS oparty na Cloud Foundry i Docker, który działa na infrastrukturze chmury i służy jako platforma do uruchamiania aplikacji. Użytkownicy Stackato twierdzą, że zapewnia on elastyczną i solidną platformę aplikacji, która pomaga zwiększyć produktywność zarówno administratorów chmury, jak i programistów. Jest dobrze dopasowany do wdrożeń w chmurze korporacyjnej, łącząc elastyczność bezpośredniego dostępu do maszyny wirtualnej z automatyczną konfiguracją zapewnianą przez w pełni funkcjonalny PaaS. Obsługiwane infrastruktury chmurowe to m.in. HP Cloud Services, Citrix XenServer, AWS, OpenStack i VMware.
W Stackato każda aplikacja posiada własny kontener linuksowy (LXC), co gwarantuje wydajne i bezpieczne współdzielenie zasobów. Zakres usług obejmuje: Helion Control Plane, którego Stackato używa do komunikacji z podstawową chmurą i do zarządzania cyklami życia usług; Helion Service Manager, repozytorium usług dodatkowych dostępnych dla aplikacji; Helion Cloud Foundry — elastyczne środowisko wykonawcze zaprojektowane w celu uproszczenia hostingu i programowania aplikacji; Helion Code Engine, usługa ciągłego dostarczania zintegrowana z repozytoriami Git (prywatnymi lub publicznymi) oraz Helion Stackato Console, interfejs sieciowy do zarządzania wszystkimi funkcjami Helion Cloud.
Alibaba Cloud
Pomimo że platformy chmurowe open source i PaaS nie są szeroko omawiane, Alibaba Cloud dynamicznie rozwija się w branży usług komputerowych, zdobywając już 50% chińskiego rynku chmury publicznej i systematycznie wkraczając na rynki zagraniczne. Firma zaczęła oferować obsługę rozliczeń w dolarach amerykańskich w 168 krajach i opracowuje usługi dostosowane do rynków międzynarodowych.
Usługi platformy chmurowej w ofercie Alibaba obejmują szereg bezpłatnych funkcji, w tym usługi kontenerowe dla platformy Docker i Kubernetes, Container Registry, automatyczne skalowanie i DataWorks, bezpieczne środowisko do opracowywania danych offline. Usługi są dobrze udokumentowane i zawierają wszystko, co jest potrzebne do natychmiastowego rozpoczęcia migracji aplikacji do chmury, np. liczne filmy instruktażowe. Alibaba zachęca do szybkiego rozpoczęcia budowy, bez konieczności inwestowania, oferując kilka prostych kroków.
Podsumowanie
Na szczęście dla wszystkich programistów, świat chmury opiera się na otwartości. Kilka lat temu rywalizacja w zakresie technologii kontenerowych (Docker, Kubernetes, Mesos, Nomad, ECS i inne) groziła podziałem rynku na nieprzeniknione sekcje, co stwarzało duże ryzyko przy wyborze platformy. Obecnie, chociaż dostępnych jest więcej platform, różnice między dzisiejszymi wyborami open source dotyczą tylko szczegółów: różnych schematów kosztów, różnych narzędzi do zarządzania i różnych podejść do bezpieczeństwa. Innymi słowy, jeśli dziś wybierzesz platformę chmurową open source i nie będziesz z niej zadowolony, jutro możesz przejść na inną, a koszty nie będą wygórowane.
Mamy nadzieję, że dzięki przedstawionym informacjom, będziesz w stanie wybrać platformę, która najlepiej odpowiada Twoim potrzebom i pozwoli Ci zapomnieć o problemach takich jak pojemność serwera, oprogramowanie pośredniczące, frameworki, maszyny wirtualne czy magazyny danych. Uwolniwszy się od tych kwestii, będziesz mógł skupić całą swoją uwagę i zasoby na tym, co naprawdę ważne: dostarczaniu użytkownikom niesamowitej aplikacji tak szybko, jak to możliwe i dbać o ich satysfakcję podczas korzystania z niej.
Szukasz darmowego poziomu lub kredytu na platformach chmurowych? Sprawdź tą listę.
newsblog.pl