Programowanie dla chmury w chmurze: tworzenie BigData za pomocą Dockera w AWS
Opublikowany: 2022-03-11Dlaczego możesz tego potrzebować?
Jestem programistą i na co dzień pracuję w zintegrowanych środowiskach programistycznych (IDE), takich jak Intellij IDEA czy Eclipse. Te IDE to aplikacje komputerowe. Od czasu pojawienia się Dokumentów Google widziałem coraz więcej osób przenoszących swoją pracę z desktopowych wersji Worda lub Excela do chmury za pomocą internetowego odpowiednika edytora tekstu lub arkusza kalkulacyjnego.
Istnieją oczywiste powody, dla których warto korzystać z chmury, aby zachować swoją pracę. Obecnie, w porównaniu z tradycyjnymi desktopowymi aplikacjami biznesowymi, niektóre aplikacje webowe nie mają znaczącej wady funkcjonalności. Treść jest dostępna wszędzie tam, gdzie jest przeglądarka internetowa, a obecnie jest to prawie wszędzie. Współpraca i udostępnianie są łatwiejsze, a utrata plików jest mniej prawdopodobna.
Niestety te zalety chmury nie są tak powszechne w świecie tworzenia oprogramowania, jak w przypadku aplikacji biznesowych. Istnieją pewne próby udostępnienia IDE online, ale nie są one ani trochę zbliżone do tradycyjnych IDE.
To jest paradoks; podczas gdy wciąż jesteśmy przywiązani do naszego pulpitu w celu codziennego kodowania, oprogramowanie jest teraz odradzane na wielu serwerach. Deweloperzy muszą pracować z rzeczami, których nie mogą już przechowywać na swoim komputerze. W rzeczywistości laptopy nie zwiększają już mocy obliczeniowej; posiadanie więcej niż 16 GB pamięci RAM na laptopie jest rzadkie i drogie, a nowsze urządzenia, na przykład tablety, mają jeszcze mniej.
Jednak nawet jeśli nie jest jeszcze możliwe zastąpienie klasycznych aplikacji desktopowych na rzecz rozwoju oprogramowania, możliwe jest przeniesienie całego pulpitu deweloperskiego do chmury . W dniu, w którym zdałem sobie sprawę, że nie trzeba już mieć całego oprogramowania na laptopie, a widząc dostępność internetowych wersji terminali i VNC, przeniosłem wszystko do chmury. Ostatecznie stworzyłem zestaw do tworzenia tego środowiska w sposób zautomatyzowany.
W tym artykule przedstawiam zestaw skryptów do budowy środowiska programistycznego opartego na chmurze dla aplikacji Scala i Big Data, działającego z Dockerem w Amazon AWS i składającego się z dostępnego w sieci pulpitu z usługami IntelliJ IDE, Spark, Hadoop i Zeppelin , a także narzędzia wiersza poleceń, takie jak internetowe SSH, SBT i Ammonite. Zestaw jest dostępny bezpłatnie na GitHub i opiszę tutaj procedurę korzystania z niego do tworzenia instancji. Możesz zbudować swoje środowisko i dostosować je do swoich potrzeb. Uruchomienie go nie powinno zająć więcej niż 10 minut.
Co znajduje się w „BigDataDevKit”?
Moim głównym celem przy tworzeniu zestawu było to, aby moje środowisko programistyczne było czymś, co mogę po prostu odpalić, ze wszystkimi usługami i serwerami, z którymi pracuję, a następnie zniszczyć je, gdy nie będą już potrzebne. Jest to szczególnie ważne, gdy pracujesz nad różnymi projektami, niektóre z nich obejmują dużą liczbę serwerów i usług, jak podczas pracy nad projektami Big Data.
Moje idealne środowisko chmurowe powinno:
- Uwzględnij wszystkie zwykłe narzędzia programistyczne, przede wszystkim graficzne IDE.
- Miej potrzebne serwery i usługi w zasięgu ręki.
- Łatwe i szybkie tworzenie od podstaw oraz możliwość rozbudowy o kolejne usługi.
- Bądź w pełni dostępny tylko za pomocą przeglądarki internetowej.
- Opcjonalnie zezwól na dostęp wyspecjalizowanym klientom (klient VNC i klient SSH).
Wykorzystując nowoczesną infrastrukturę i oprogramowanie w chmurze, moc nowoczesnych przeglądarek, powszechną dostępność łączy szerokopasmowych i nieoceniony Docker, stworzyłem środowisko programistyczne dla Scali i rozwoju big data, które na lepsze zastąpiły mojego programistycznego laptopa.
Obecnie mogę pracować w każdej chwili, czy to z MacBooka Pro, tabletu Surface, czy nawet iPada (z klawiaturą), choć co prawda ta ostatnia opcja nie jest idealna. Wszystkie te urządzenia to tylko klienci; komputer stacjonarny i wszystkie serwery znajdują się w chmurze.
Moje obecne środowisko jest zbudowane przy użyciu następujących usług online:
- Amazon Web Services dla serwerów.
- GitHub do przechowywania kodu.
- Dropbox do zapisywania plików.
Korzystam również z kilku bezpłatnych usług, takich jak DuckDns dla dynamicznych adresów IP i Let's encrypt, aby uzyskać bezpłatny certyfikat SSL.
W tym środowisku aktualnie posiadam:
- Graficzny pulpit z ideą Intellij, dostępny przez przeglądarkę internetową.
- Narzędzia wiersza poleceń dostępne w Internecie, takie jak SBT i Ammonite.
- Hadoop do przechowywania plików i uruchamiania zadań MapReduce.
- Spark Job Server dla zaplanowanych zadań.
- Zeppelin do notebooka internetowego.
Co najważniejsze, dostęp do sieci jest w pełni zaszyfrowany za pomocą protokołu HTTPS, zarówno dla VNC, jak i SSH opartego na sieci, i istnieje wiele zabezpieczeń, aby uniknąć utraty danych, co jest oczywiście ważne, gdy nie jesteś „właścicielem” treści na fizyczny dysk twardy. Pamiętaj, że pobieranie kopii całej Twojej pracy na komputer odbywa się automatycznie i bardzo szybko. Jeśli stracisz wszystko, ponieważ ktoś ukradł Twoje hasło, i tak masz kopię na swoim komputerze, o ile wszystko skonfigurowałeś poprawnie.
Korzystanie z internetowego środowiska programistycznego z AWS i Docker
Teraz zacznijmy opisywać, jak działa środowisko. Kiedy zaczynam pracę rano, najpierw loguję się do konsoli Amazon Web Services, gdzie widzę wszystkie moje instancje. Zwykle mam wiele instancji programistycznych skonfigurowanych dla różnych projektów i wyłączam te nieużywane, aby zaoszczędzić na rozliczeniach. W końcu mogę pracować tylko nad jednym projektem na raz. (Cóż, czasami pracuję nad dwoma.)
Więc wybieram instancję, którą chcę, uruchamiam ją, czekam trochę lub idę na filiżankę kawy. Nie różni się to tak bardzo od włączenia komputera. Zwykle uruchomienie instancji zajmuje kilka sekund. Gdy widzę zieloną ikonę, otwieram przeglądarkę i przechodzę do dobrze znanego adresu URL: https://msciab.duckdns.org/vnc.html . Uwaga, to jest mój adres URL; tworząc zestaw, stworzysz swój unikalny adres URL.
Ponieważ AWS przypisuje nowy adres IP do każdej maszyny po uruchomieniu, skonfigurowałem usługę dynamicznego DNS, dzięki czemu zawsze możesz użyć tego samego adresu URL, aby uzyskać dostęp do serwera, nawet jeśli go zatrzymasz i zrestartujesz. Możesz nawet dodać go do zakładek w swojej przeglądarce. Ponadto używam protokołu HTTPS z ważnymi kluczami, aby uzyskać całkowitą ochronę mojej pracy przed snifferami, na wypadek gdybym musiał zarządzać hasłami i innymi wrażliwymi danymi.
Po załadowaniu system przywita Cię klientem sieciowym Web VNC, NoVNC. Wystarczy się zalogować i pojawi się pulpit. Celowo używam minimalnego pulpitu, tylko menu z aplikacjami, a moim jedynym luksusem jest wirtualny pulpit (ponieważ podczas programowania otwieram wiele okien). W przypadku poczty nadal polegam na innych aplikacjach, obecnie głównie na innych kartach przeglądarki.
W maszynie wirtualnej mam to, czego potrzebuję do tworzenia aplikacji big data. Przede wszystkim istnieje IDE. W kompilacji korzystam z edycji społecznościowej IntelliJ Idea. Istnieje również narzędzie do budowania SBT i Scala REPL, Ammonite.
Kluczowymi cechami tego środowiska są jednak usługi wdrożone jako kontenery na tej samej maszynie wirtualnej. W szczególności posiadam:
- Zeppelin, notatnik internetowy do używania kodu Scala w locie i przeprowadzania analizy danych (
http://zeppelin:8080) - Spark Job Server do wykonywania i wdrażania zadań Spark z interfejsem Rest (
http://sparkjobserver:8080). - Instancja Hadoop do przechowywania i pobierania danych z HDFS (
http://hadoop:50070).
Pamiętaj, że te adresy URL są stałe, ale są dostępne w środowisku wirtualnym. Możesz zobaczyć ich interfejsy internetowe na poniższym zrzucie ekranu.
Każda usługa działa w osobnym kontenerze Docker. Nie będąc zbyt technicznym, możesz myśleć o tym jako o trzech oddzielnych serwerach wewnątrz maszyny wirtualnej. Piękno korzystania z Dockera polega na tym, że możesz dodawać usługi, a nawet dwie lub trzy maszyny wirtualne. Korzystając z kontenerów Amazon, możesz łatwo skalować swoje środowisko.
Wreszcie, co nie mniej ważne, masz dostępny terminal internetowy. Po prostu uzyskaj dostęp do swojego adresu URL za pomocą protokołu HTTPS, a zostaniesz powitany terminalem na stronie internetowej.
Na powyższym zrzucie ekranu możesz zobaczyć listę kontenerów, czyli trzy serwery plus pulpit. Ta powłoka wiersza poleceń zapewnia dostęp do maszyny wirtualnej zawierającej kontenery, umożliwiając zarządzanie nimi. To tak, jakby twoje serwery były „w macierzy” (zwirtualizowane w kontenerach), ale ta powłoka zapewnia ucieczkę poza „macierz” do zarządzania serwerami i pulpitem. Stąd możesz ponownie uruchomić kontenery, uzyskać dostęp do ich systemów plików i wykonać inne manipulacje dozwolone przez Docker. Nie będę tutaj szczegółowo omawiał Dockera, ale na stronie Dockera znajduje się ogromna ilość dokumentacji.
Jak skonfigurować instancję
Podoba Ci się to do tej pory i chcesz mieć swoją instancję? To proste i tanie. Możesz go uzyskać za cenę maszyny wirtualnej w Amazon Web Services oraz pamięć masową. Zestaw w obecnej konfiguracji wymaga 4 GB pamięci RAM do uruchomienia wszystkich usług. Jeśli uważasz, aby używać maszyny wirtualnej tylko wtedy, gdy jej potrzebujesz i pracujesz, powiedzmy, 160 godzin miesięcznie, maszyna wirtualna przy obecnych stawkach będzie kosztować 160 x 0,052 USD, czyli 8 USD miesięcznie. Musisz doliczyć koszt przechowywania. Używam około 30 GB, ale wszystko razem można utrzymać poniżej 10 USD.
Jednak bot obejmuje koszt (ewentualnego) konta Dropbox (Pro), jeśli chcesz wykonać kopię zapasową więcej niż 2 GB kodu. To kosztuje kolejne 15 USD miesięcznie, ale zapewnia ważne bezpieczeństwo danych. Potrzebne będzie również prywatne repozytorium, płatny GitHub lub inna usługa, taka jak Bitbucket, która oferuje bezpłatne prywatne repozytoria.
Chcę podkreślić, że jeśli używasz go tylko wtedy, gdy tego potrzebujesz, jest tańszy niż serwer dedykowany. Tak, wszystko, o czym tutaj wspomniano, można skonfigurować na fizycznym serwerze, ale ponieważ pracuję z big data, potrzebuję wielu innych usług AWS, więc myślę, że logiczne jest mieć wszystko w tym samym miejscu.
Zobaczmy, jak wykonać całą konfigurację.
Warunki wstępne
Zanim zaczniesz budować maszynę wirtualną, musisz zarejestrować się w następujących czterech usługach:
- Usługi internetowe Amazon.
- KaczkaDNS.
- Dropbox.
- Szyfrujmy.
Jedyne, do czego potrzebujesz karty kredytowej, to Amazon Web Services. DuckDns jest całkowicie darmowy, a DropBox zapewnia 2 GB darmowego miejsca, które może wystarczyć na wiele zadań. Let's Encrypt jest również bezpłatny i jest używany wewnętrznie podczas tworzenia obrazu w celu podpisania certyfikatu. Poza tym polecam również usługę hostingu repozytorium, taką jak GitHub lub Bitbucket, jeśli chcesz przechowywać swój kod, jednak nie jest to wymagane do konfiguracji.

Aby rozpocząć, przejdź do repozytorium GitHub BigDataDevKit.
Przewiń stronę i skopiuj skrypt pokazany na obrazku w wybranym edytorze tekstu:
Ten skrypt jest potrzebny do ładowania obrazu. Musisz to zmienić i podać pewne wartości parametrom. Ostrożnie zmień tekst w cudzysłowie. Pamiętaj, że w haśle nie możesz używać znaków takich jak cytat, ukośnik odwrotny lub znak dolara, chyba że je zacytujesz. Ten problem dotyczy tylko hasła. Jeśli chcesz grać bezpiecznie, unikaj cudzysłowu, znaku dolara lub odwrotnego ukośnika.
Parametr PASSWORD to hasło, które wybierzesz, aby uzyskać dostęp do maszyny wirtualnej za pośrednictwem interfejsu internetowego. Parametr EMAIL to Twój adres e-mail i będzie używany podczas rejestracji certyfikatu SSL. Będziesz musiał podać swój adres e-mail i jest to jedyny warunek uzyskania bezpłatnego certyfikatu SSL od Let's Encrypt.
Aby uzyskać wartości TOKEN i HOST , przejdź do witryny DuckDNS i zaloguj się. Musisz wybrać nieużywaną nazwę hosta.
Spójrz na obraz, aby zobaczyć, gdzie musisz skopiować token i gdzie musisz dodać nazwę hosta. Musisz kliknąć przycisk „dodaj domenę”, aby zarezerwować nazwę hosta.
Konfigurowanie instancji
Zakładając, że masz wszystkie parametry i dokonałeś edycji skryptu, jesteś gotowy do uruchomienia swojej instancji. Zaloguj się do interfejsu zarządzania Amazon Web Services, przejdź do panelu EC2 Instances i kliknij „Uruchom instancję”.
Na pierwszym ekranie wybierzesz obraz. Skrypt jest zbudowany wokół systemu Amazon Linux i nie ma innych dostępnych opcji. Wybierz Amazon Linux, pierwszą opcję na liście Szybki start.
Na drugim ekranie wybierz typ instancji. Biorąc pod uwagę rozmiar uruchomionego oprogramowania, istnieje wiele usług i potrzebujesz co najmniej 4 GB pamięci, więc polecam wybrać instancję t2.medium . Możesz go przyciąć, używając t2.small , jeśli zamkniesz niektóre usługi, a nawet mikro , jeśli chcesz tylko pulpitu.
Na trzecim ekranie kliknij "Szczegóły zaawansowane" i wklej skrypt skonfigurowany w poprzednim kroku. Polecam również włączyć ochronę przed wypowiedzeniem, aby w razie przypadkowego wypowiedzenia nie stracić całej swojej pracy.
Następnym krokiem jest konfiguracja magazynu. Wartość domyślna dla instancji to 8 GB, co nie wystarczy, aby pomieścić wszystkie obrazy, które zbudujemy. Zalecam zwiększenie go do 20 GB. Ponadto, chociaż nie jest to potrzebne, sugeruję inne urządzenie blokowe o pojemności co najmniej 10 GB. Skrypt zamontuje drugie urządzenie blokowe jako folder danych. Możesz zrobić migawkę jego zawartości, zakończyć instancję, a następnie odtworzyć ją za pomocą migawki i odzyskać całą pracę. Co więcej, niestandardowe urządzenie blokowe nie zostanie utracone po zamknięciu instancji, więc masz podwójną ochronę przed przypadkową utratą danych. Aby jeszcze bardziej zwiększyć swoje bezpieczeństwo, możesz automatycznie tworzyć kopie zapasowe danych za pomocą Dropbox.
Piątym krokiem jest nazwanie instancji. Odbiór własny. Szósty krok umożliwia skonfigurowanie zapory. Domyślnie dostępny jest tylko SSH, ale potrzebujemy też HTTPS, więc nie zapomnij dodać również reguły otwierającej HTTPS. Możesz otworzyć HTTPS na świat, ale lepiej, jeśli jest to tylko Twój adres IP, aby uniemożliwić innym dostęp do Twojego pulpitu i powłoki, nawet jeśli jest to nadal chronione hasłem.
Po zakończeniu tej ostatniej konfiguracji możesz uruchomić instancję. Zauważysz, że inicjalizacja może zająć kilka minut za pierwszym razem od uruchomienia skryptu inicjującego, a także wykona kilka długich zadań, takich jak generowanie certyfikatu HTTPS za pomocą Let's Encrypt.
Kiedy w końcu zobaczysz, że konsola zarządzania „działa” z potwierdzeniem i nie jest już „inicjalizowana”, jesteś gotowy do pracy.
Zakładając, że wszystkie parametry są poprawne, możesz przejść do https://YOURHOST.duckdns.org .
Zamień YOURHOST na nazwę hosta, którą wybrałeś, ale nie zapominaj, że jest to witryna HTTPS, a nie HTTP, więc Twoje połączenie z serwerem jest szyfrowane, więc musisz wpisać https// w adresie URL. Witryna przedstawi również ważny certyfikat dla Let's Encrypt. W przypadku problemów z uzyskaniem certyfikatu skrypt inicjujący wygeneruje certyfikat z podpisem własnym. Nadal będziesz mógł łączyć się za pomocą połączenia szyfrowanego, ale przeglądarka ostrzeże Cię, że jest to nieznana witryna, a połączenia są niezabezpieczone. To nie powinno się zdarzyć, ale nigdy nie wiadomo.
Zakładając, że wszystko działa, uzyskujesz dostęp do terminala internetowego Butterfly. Możesz zalogować się za pomocą app użytkownika i hasła, które umieściłeś w skrypcie instalacyjnym.
Po zalogowaniu masz uruchomioną maszynę wirtualną, która zawiera również Docker i inne gadżety, takie jak Nginx Frontend, Git i Butterfly Web Terminal. Teraz możesz ukończyć konfigurację, tworząc obrazy platformy Docker dla swojego środowiska programistycznego.
Następnie wpisz następujące polecenia:
git clone https://github.com/sciabarra/BigDataDevKit cd BigDataDevKit sh build.shOstatnie polecenie poprosi również o wpisanie hasła dostępu do pulpitu. Gdy to zrobisz, zacznie budować obrazy. Pamiętaj, że kompilacja zajmie około 10 minut, ale możesz zobaczyć, co się dzieje, ponieważ wszystko jest wyświetlane na ekranie.
Po zakończeniu kompilacji możesz także zainstalować Dropbox za pomocą następującego polecenia:
/app/.dropbox-dist/dropboxdSystem wyświetli link, który musisz kliknąć, aby włączyć Dropbox. Musisz zalogować się do Dropbox i gotowe. Wszystko, co umieścisz w folderze Dropbox, jest automatycznie synchronizowane między wszystkimi Twoimi instancjami Dropbox.
Po zakończeniu możesz ponownie uruchomić maszynę wirtualną i uzyskać dostęp do środowiska pod adresem URL https://YOURHOST.dyndns.org/vnc.html .
Możesz zatrzymać maszynę i ponownie ją uruchomić po wznowieniu pracy. Adres URL dostępu pozostaje taki sam. W ten sposób zapłacisz tylko za czas, w którym go używasz, plus miesięczny dodatek za zużyte miejsce.
Ochrona Twoich danych
Poniższa dyskusja wymaga pewnej wiedzy na temat działania Dockera i Amazona. Jeśli nie chcesz rozumieć szczegółów, pamiętaj o prostej zasadzie: na maszynie wirtualnej dostępny jest folder /app/Dropbox , wszystko, co umieścisz w /app/Dropbox , jest zachowywane, a wszystko inne jest jednorazowe i może odejść. Aby jeszcze bardziej zwiększyć bezpieczeństwo, przechowuj również swój cenny kod w systemie kontroli wersji.
Teraz, jeśli chcesz to zrozumieć, czytaj dalej. Jeśli postępowałeś zgodnie z moimi wskazówkami podczas tworzenia maszyny wirtualnej, maszyna wirtualna jest chroniona przed zakończeniem, więc nie możesz jej przypadkowo zniszczyć. Jeśli wyraźnie zdecydujesz się go zakończyć, wolumin podstawowy zostanie zniszczony. Wszystkie obrazy Dockera zostaną utracone, w tym wszystkie wprowadzone zmiany.
Jednak ponieważ folder /app/Dropbox jest zamontowany jako wolumin platformy Docker dla kontenerów, nie jest on częścią obrazów platformy Docker. Na maszynie wirtualnej folder /app jest montowany w utworzonym wolumenie Amazon, który również nie jest niszczony nawet po wyraźnym zamknięciu maszyny wirtualnej. Aby usunąć wolumin, musisz go wyraźnie usunąć.
Nie należy mylić wolumenów Docker, które są logiczną jednostką Docker, z wolumenami Amazon, które są w pewnym sensie jednostką fizyczną. Dzieje się tak, że wolumen /app/Dropbox Docker jest umieszczany w wolumenie /app Amazon.
Wolumen Amazon nie jest automatycznie niszczony po zamknięciu maszyny wirtualnej, więc wszystko, co w nim zostanie umieszczone, zostanie zachowane, dopóki nie zniszczysz również wyraźnie tego wolumenu. Co więcej, wszystko, co umieścisz w woluminie Docker, jest przechowywane poza kontenerem, więc nie jest niszczone, gdy kontener zostanie zniszczony. Jeśli włączyłeś Dropbox zgodnie z zaleceniami, cała Twoja zawartość zostanie skopiowana na serwery Dropbox i na Twój dysk twardy, jeśli zsynchronizujesz Dropbox z komputerami. Zaleca się również przechowywanie kodu źródłowego w systemie kontroli wersji.
Tak więc, jeśli umieścisz swoje rzeczy w systemie kontroli wersji w folderze Dropbox, aby utracić dane, wszystko to musi się zdarzyć:
- Wyraźnie zamykasz swoją maszynę wirtualną.
- Użytkownik wyraźnie usuwa wolumin danych z maszyny wirtualnej.
- Wyraźnie usuwasz dane z Dropbox, w tym historię.
- Wyraźnie usuwasz dane z systemu kontroli wersji.
Mam nadzieję, że Twoje dane są wystarczająco bezpieczne.
Zachowuję maszynę wirtualną dla każdego projektu, a kiedy kończę, wyłączam nieużywane maszyny wirtualne. Oczywiście cały kod mam na GitHubie i mam kopię zapasową w Dropbox. Co więcej, kiedy przestaję pracować nad projektem, wykonuję migawkę bloku Amazon Web Services przed całkowitym usunięciem maszyny wirtualnej. W ten sposób za każdym razem, gdy projekt zostanie wznowiony, na przykład w celu konserwacji, wszystko, co muszę zrobić, to uruchomić nową maszynę wirtualną za pomocą migawki. Wszystkie moje dane wracają na swoje miejsce i mogę wznowić pracę.
Optymalizacja dostępu
Po pierwsze, jeśli masz bezpośredni dostęp do Internetu, bez pośrednictwa proxy, możesz użyć natywnych klientów SSH i VNC. Bezpośredni dostęp SSH jest ważny, jeśli chcesz skopiować pliki do iz maszyny wirtualnej. Jednak w przypadku udostępniania plików powinieneś rozważyć Dropbox jako prostszą alternatywę.
Dostęp do sieci VNC jest nieoceniony, ale czasami może być wolniejszy niż klient natywny. Masz dostęp do serwera VNC na maszynie wirtualnej za pomocą portu 5900. Musisz go wyraźnie otworzyć, ponieważ jest domyślnie zamknięty. Zalecam otwieranie go tylko na swój adres IP, ponieważ internet jest pełen „robotów”, które skanują internet w poszukiwaniu usług, do których można się podłączyć, a VNC jest częstym celem tych robotów.
Wniosek
W tym artykule wyjaśniono, jak wykorzystać nowoczesną technologię chmury do wdrożenia efektywnego środowiska programistycznego. Chociaż maszyna w chmurze nie może całkowicie zastąpić działającego komputera lub laptopa, jest wystarczająca do wykonywania prac programistycznych, gdy ważny jest dostęp do środowiska IDE. Z mojego doświadczenia wynika, że przy obecnych połączeniach internetowych jest wystarczająco szybki, aby z nim pracować.
Będąc w chmurze, dostęp do serwera i manipulacja nim są szybsze niż lokalnie. Możesz szybko zwiększyć (lub zmniejszyć) pamięć, uruchomić inne środowisko, utworzyć obraz i tak dalej. Masz centrum danych na wyciągnięcie ręki, a gdy pracujesz z projektami Big Data, potrzebujesz solidnych usług i dużej ilości miejsca. Oto, co zapewnia chmura.
