Cloud, server, edge: gdzie naprawdę mieszka twoja aplikacja

Cloud, server, edge: gdzie naprawdę mieszka twoja aplikacja

Zapisujesz zdjęcie, a ktoś mówi: "Don't worry, it's in the cloud." Wyobrażasz sobie — co? Puszysty, biały obiekt na niebie? Potem programista wspomina o uruchamianiu kodu "at the edge", co brzmi ryzykownie, jak stanie na skraju klifu. Żadne z tych słów nie znaczy tego, co podsuwa codzienny obraz, a ten rozjazd powoduje niekończące się drobne nieporozumienia.

Oto uspokajająca prawda: za wszystkimi tymi poetyckimi słowami stoją zwyczajne komputery w zwyczajnych budynkach. Gdy raz to wiesz, słownictwo o tym, "gdzie mieszka oprogramowanie", staje się proste, a nawet odrobinę nudne — w najlepszym sensie.

Cały temat to tak naprawdę jedno pytanie: czyj komputer to uruchamia i gdzie? Każde słowo z tej grupy to po prostu inna odpowiedź na to pytanie. Trzymaj to pytanie w głowie, a mgła się podnosi.

Szybka odpowiedź

Cloud (chmura) to po prostu zdalne komputery, które ktoś inny posiada i obsługuje, dostępne przez internet. Server to komputer (lub program), którego zadaniem jest obsługiwać innych, bez względu na rozmiar. Edge znaczy fizycznie blisko użytkownika lub urządzenia, a nie "cutting edge" (na czele postępu). Host czegoś znaczy uruchamiać to na komputerze, by inni mogli się dostać. On-premise znaczy uruchamianie tego na własnych komputerach, we własnym budynku.

Kluczowe słowa

  • Cloud. Zdalne komputery w centrach danych, wynajęte od dostawcy, dostępne przez internet. "In the cloud" znaczy "na czyichś komputerach gdzieś", a nie na niebie.
  • Server. Komputer lub program, który dostarcza coś innym: strony WWW, pliki, dane. "Server" opisuje rolę, a nie rozmiar. Małe pudełko może być serwerem; tak samo jak ogromna maszyna.
  • Edge. Blisko miejsca, gdzie jest użytkownik lub urządzenie. "Edge computing" znaczy wykonywanie pracy blisko użytkownika zamiast daleko, by przyspieszyć działanie.
  • Host. Jako czasownik — uruchamiać oprogramowanie na komputerze, by inni mogli z niego korzystać ("we host the site"). Jako rzeczownik — komputer, który to robi.
  • On-premise / on-prem. Uruchamianie rzeczy na komputerach, które posiadasz, w swojej własnej lokalizacji, zamiast wynajmować od dostawcy chmury.
  • Data center. Budynek pełen komputerów — fizyczna rzeczywistość kryjąca się za "chmurą". Gdy słyszysz "the cloud", wyobraź sobie centrum danych: rzędy maszyn, mnóstwo kabli, głośne wentylatory chłodzące.
  • Client. Rola przeciwna do serwera. Klient to komputer lub program, który pyta; serwer to ten, który odpowiada. Twój telefon jest zwykle klientem; rzecz, z którą rozmawia, jest zwykle serwerem.

Częste pułapki

Częstą pułapką jest wyobrażanie sobie the cloud jako szczególnego, magicznego miejsca. To wcale nie jest miejsce w marzycielskim sensie. To rzędy zwykłych komputerów w budynkach, należące do firmy, za korzystanie z których płacisz. "Moving to the cloud" znaczy po prostu "wynajmowanie czyichś komputerów zamiast kupowania własnych". Gdy zdejmiesz poezję, słowo przestaje być tajemnicze.

Słowo server zwodzi ludzi, by myśleli, że znaczy "duża, potężna maszyna". Nie znaczy. Server to rola: obsługiwanie czegoś dla innych. Twój laptop może działać jako serwer. Małe urządzenie może być serwerem. Gdy ktoś mówi "the server is down", ma na myśli, że komputer lub program, który miał obsługiwać żądania, się zatrzymał, niekoniecznie że padł jakiś gigantyczny mainframe.

Edge jest najbardziej podstępne. W codziennej mowie "edge" sugeruje niebezpieczeństwo ("on the edge") albo bycie modnym ("cutting edge", "edgy"). W technologii "the edge" znaczy po prostu blisko użytkownika lub urządzenia, geograficznie albo w sieci. "Running at the edge" znaczy działanie blisko ludzi, żeby odpowiedzi były szybkie. Nie ma to nic wspólnego z ryzykiem ani z byciem modnym. Jeśli odczytasz "edge" jako "cutting edge", źle zrozumiesz całe zdanie.

Host podkłada ludziom nogę przez swoje znaczenie z przyjęcia. Host wita gości. W technologii "to host" znaczy uruchamiać oprogramowanie, by inni mogli się dostać. "Who hosts your website?" znaczy "czyje komputery to uruchamiają?" Żadnej gościnności w tym nie ma.

Wreszcie on-premise (często skracane do "on-prem") znaczy po prostu "na własnych komputerach, we własnym budynku". Ludzie czasem traktują to jako staromodne albo zawsze tańsze, ale to po prostu wybór lokalizacji: twoje maszyny kontra wynajęte maszyny w chmurze. Każde ma kompromisy; żadne nie jest automatycznie lepsze.

Mała dodatkowa pułapka kryje się w data center. Wyrażenie brzmi zaawansowanie i abstrakcyjnie, ale to najbardziej konkretna rzecz na całej tej liście: prawdziwy budynek, pełen prawdziwych maszyn, pobierający prawdziwą energię, chłodzony prawdziwymi wentylatorami. Gdy w końcu zapamiętasz, że "the cloud" mieszka wewnątrz zwyczajnych budynków takich jak te, znika ostatnia odrobina tajemnicy.

Pomaga też rozplątać server i client, bo mają sens tylko jako para. Opisują dwie role w rozmowie: jedna pyta, druga odpowiada. Pytający to klient; odpowiadający to serwer. Ten sam komputer może odgrywać którąkolwiek rolę w zależności od tego, co robi, więc nie wyobrażaj sobie "server" jako jednego rodzaju maszyny, a "client" jako innego. To zadania, nie gatunki. Gdy czytasz "the client sends a request to the server", znaczy to tyle, że "pytający program wysyła pytanie do odpowiadającego programu".

Złóż całą grupę razem, a wyłania się prosta mapa. Cloud to wynajęte komputery w czyimś centrum danych. Server to dowolny komputer, który odpowiada, w dowolnym rozmiarze. Edge to wszędzie tam, gdzie te komputery siedzą blisko ciebie. Hosting to akt uruchamiania oprogramowania. On-prem to wybór własnego budynku na to. Nic z tego nie jest pogodą, niebezpieczeństwem ani gościnnością — to po prostu zestaw zwyczajnych odpowiedzi na "czyj komputer i gdzie".

Przykłady naturalne i nienaturalne

Niezręcznie: My files are floating up in the cloud, somewhere in the sky.

Naturalnie: My files are stored on the provider's remote computers, the cloud.

Mniej naturalnie: Running at the edge sounds dangerous and unstable.

Lepiej: Running at the edge means running close to users, so it's fast.

Niezręcznie: We need a server, so we bought the biggest, most powerful machine.

Naturalnie: We need a server, even a small computer can serve our requests.

Niezręcznie: We host our app, so we welcome it warmly.

Naturalnie: We host our app on a rented server, so users can reach it.

Mniej naturalnie: We went on-premise because the cloud is too modern for us.

Lepiej: We chose on-premise so we keep everything on our own computers.

Mini tabela

Word Brzmi jak Naprawdę znaczy
cloud coś na niebie zdalne komputery, które obsługuje ktoś inny
server duża, potężna maszyna komputer lub program w roli obsługującej, dowolnego rozmiaru
edge niebezpieczeństwo; modny blisko użytkownika lub urządzenia
host gościnny gospodarz przyjęcia uruchamianie oprogramowania, by inni mogli się dostać
on-premise staromodny domyślny wybór działanie na własnych komputerach, w swoim budynku

Szybka praktyka

Prawda czy fałsz? Sprawdź odpowiedzi poniżej.

  1. "The cloud" is a special place in the sky.
  2. A server must be a very large machine.
  3. "At the edge" means close to the user.
  4. To host a website means to run it for others to reach.
  5. On-premise means renting computers from a cloud provider.

Odpowiedzi:

  1. Fałsz. To zdalne komputery, które obsługuje ktoś inny.
  2. Fałsz. Server to rola, a nie rozmiar.
  3. Prawda.
  4. Prawda.
  5. Fałsz. On-premise znaczy własne komputery we własnym budynku.

Wniosek

Każde słowo z tej grupy kryje zwyczajną rzeczywistość za żywym obrazem. Cloud to wynajęte komputery, a nie niebo. Server to rola, a nie rozmiar. Edge to "blisko ciebie", a nie niebezpieczeństwo czy moda. To host znaczy uruchamiać, a nie witać. On-premise to po prostu "twoje własne maszyny". Gdy czytasz teksty techniczne o tym, gdzie działa oprogramowanie, w myślach przetłumacz poezję z powrotem na zwykłe komputery w zwykłych pomieszczeniach, a cały temat staje się jasny, łatwy do ogarnięcia i o wiele mniej onieśmielający, niż każe sądzić marketing. Następnym razem, gdy ktoś powie, że twoje pliki są "in the cloud", możesz się uśmiechnąć, wyobrazić sobie buczące gdzieś centrum danych i dokładnie wiedzieć, o co mu chodzi: to po prostu kolejny komputer, robiący swoje, który akurat należy do kogoś innego.