Wygoda w chmurze a open source

Programiści chcą wygody, a otwarty kod źródłowy na pewno im w tym nie zaszkodzi. Ponadto open source usprawnia pracę w chmurze i jest „lingua franca” rozwoju

Wygoda w chmurze a open source

Magda Ehlers/Pexels

W 2016 roku napisałem, że „wygoda chmury zabija bazę danych open source”. Myliłem się, tak się nie stało. Zamiast tego, jak zauważyłem ostatnio, otwarte oprogramowanie pozostaje istotne nawet wtedy, gdy firmy zajmujące się chmurą starają się ułatwić zarządzanie nim. Istnieją jednak powody, aby sądzić, że open source ma znaczenie w zupełnie inny sposób, niż sądzą niektórzy z jego najbardziej zagorzałych obrońców.

Wygoda nie jest jedyną rzeczą, na której zależy programistom, jak podkreśla Stephen O'Grady z RedMonk, ale „dla programistów wygoda jest ważniejsza niż większość innych cech technologii”. Tak, open source jest zaliczane do „większości innych cech technologii”.

Zobacz również:

  • 12 darmowych narzędzi do projektowania, tworzenia i testowania interfejsów API
  • Kurs na hybrydowość – cały czas potwierdzony
  • GitHub dodaje narzędzia bezpieczeństwa łańcucha dostaw dla języka Rust

Przegrana wojna o wygodę

Nie zrozumcie mnie źle: Jeśli wszystko jest równe, programiści będą woleli źródła otwarte niż zamknięte. Jednak w erze chmury miejsce, jakie zajmuje oprogramowanie na spektrum czystości open source, nie jest największym zmartwieniem programistów. Jeśli mamy być brutalnie szczerzy, to zawsze tak było. Nie bez powodu Microsoft Office ma setki milionów użytkowników, a Oracle od dziesięcioleci zajmuje pierwsze miejsce w rankingach baz danych (choć to się zmienia). Open source to ogromny ruch w oprogramowaniu, który radykalnie zmienił sposób, w jaki myślimy o oprogramowaniu.

Ale to nie jedyna kwestia.

Ta myśl nasunęła mi się podczas słuchania rozmowy telefonicznej dotyczącej wyników finansowych firmy MongoDB za czwarty kwartał. (Przyznaję: pracuję dla MongoDB.) Pod koniec rozmowy jeden z analityków zapytał o użytkowników Community (darmowej i otwartej wersji MongoDB), którzy staną się płacącymi klientami Atlas (w pełni zarządzanej usługi w chmurze). Dyrektor finansowy firmy, Michael Gordon, powiedział coś, co mnie uderzyło: „Atlas self-serve, czy to darmowy, czy płatny, jest czymś w rodzaju nowoczesnej, bardziej współczesnej wersji pobierania Community Server i zarządzania nim we własnym zakresie”.

Innymi słowy, programiści zwracają się ku bezpłatnym usługom zarządzanym w podobny sposób, w jaki kiedyś pobierali bezpłatne oprogramowanie open source. Należy jednak podkreślić, że tak jak wtedy, tak i teraz, głównym celem większości programistów nie jest wolność - nie w takim sensie, jak wyobrażają to sobie zwolennicy wolnego i otwartego oprogramowania (FOSS). Programiści nie skupiają się na wolności oprogramowania (i nigdy tak naprawdę nie byli). Chcą tylko wygody korzystania z oprogramowania bez konieczności uzyskiwania zgody działu finansowego, prawnego itp. Mają pracę do wykonania i starają się ją wykonać przy jak najmniejszej liczbie przeszkód.

Innymi słowy, chcą „wolności” w sensie „swobody budowania w najbardziej dogodny sposób”.

Coraz częściej tym „najwygodniejszym sposobem” jest chmura. Jak zauważył kiedyś Tim O’Reilly: „Istnieje pragmatyczna otwartość i ideologiczna otwartość. Pragmatyczne otwarcie polega na tym, że jest dostępne”. Co to znaczy? "Jest dostępna w odpowiednim czasie, w sposób nieuprzywilejowany, tak że niektórzy nie mają do niej lepszego dostępu niż inni”.

W związku z tym, jest to tak samo prawdziwe dzisiaj, jak wtedy, gdy pisałem o tym w 2009 roku, że im bardziej fetyszyzujemy open source jako licencje i nie patrzymy na główne powody, dla których programiści głównego nurtu je przyjmują, tym bardziej tracimy wątek. Tak, wolne licencje mają znaczenie, ale nie na tyle duże, by rozlewać ogromne ilości cyfrowego atramentu, próbując ustalić, ile zatwierdzonych przez OSI licencji może zatańczyć na główce szpilki, kiedy programiści najbardziej interesują się wygodą.

Jak więc przełożyć wygodę korzystania z otwartego oprogramowania na erę chmury w sposób, na którym deweloperom naprawdę zależy?

Wygoda korzystania z otwartego oprogramowania w chmurze

Jednym ze sposobów, który coraz częściej się pojawia, jest interakcja między open source a multicloud. Choć pisałem o tym już wcześniej, to dopiero niedawna rozmowa z Craigiem Kerstiensem, dyrektorem ds. produktu w Crunchy Data (i aktywnym członkiem społeczności PostgreSQL), sprawiła, że połączenie open source i chmury obliczeniowej stało się dla mnie bardzo realne.

Kerstiens argumentuje, że aby chmura wielodostępna działała, programiści muszą budować „na podstawie o najlepsze w swojej klasie, ale otwarte technologie, takie jak PostgreSQL, MongoDB czy Redis”. Nie chodzi o to, które technologie, ale raczej o to, że takie technologie mogą działać we wszystkich różnych środowiskach chmurowych, centrach danych i laptopach, jakich może sobie życzyć programista.

Nie muszą to być nawet technologie open source, ale programista musi mieć możliwość uruchomienia bez personalizacji (tzw. vanilla format), aby aplikacja była przenośna między chmurami. Mówiąc o wanilii, Kerstiens ma na myśli takie rzeczy jak PostgreSQL - wersja, którą można pobrać, przypomina, ale traci wierność z zarządzanymi usługami PostgreSQL prowadzonymi przez niektórych dostawców chmur (ponieważ dodali oni poprawki i inne ulepszenia wydajności, których nie wnoszą do PostgreSQL upstream).

„Ludzie, którzy odnoszą sukcesy [w multicloud], wybierają te sprawdzone w boju otwarte technologie i wybierają wersje waniliowe, a nie wersje z dodanym specjalnym magicznym sosem” - powiedział mi Kerstiens. Oszacował on, że takie podejście sprawdzi się w przypadku ponad 90% obciążeń w przedsiębiorstwach. To bardzo dużo.

Inny ważny sposób, w jaki otwarte oprogramowanie ma zastosowanie, jest związany z tym pierwszym punktem. Biorąc pod uwagę, jak różne są poszczególne chmury - nawet w obszarach tak zwanych towarów, takich jak pamięć masowa, obliczenia itp. - otwarte źródła to swego rodzaju lingua franca", którą programiści mogą przenosić między chmurami. Jak już pisałem, chociaż chmury mogą się różnić na przykład sposobem implementacji PostgreSQL, istnieje wystarczająco dużo podobieństw, aby programista znający PostgreSQL mógł być produktywny w AWS, Google Cloud lub Microsoft Azure. Kerstiens mówi: „Choć dla programistów ważna jest znajomość zawiłości konkretnego dostawcy chmury, wiele technologii open source (Kubernetes, Linux, PostgreSQL itp.) daje programistom umiejętności, które można przenosić między chmurami”.

Chmura doskonali wiele z powodów, dla których programiści po raz pierwszy przyjęli open source. Nie oznacza to jednak, że chmura czyni open source przestarzałym. Mimo wszystko, zwolennicy FOSS powinni zwrócić uwagę na milczącą większość programistów, którzy nie marnują czasu na Twitterze i zamiast tego szukają chmury (i otwartego oprogramowania), aby wykonać prawdziwą pracę w różnych chmurach.

Źródło: InfoWorld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200