Co to jest „chmura” i jak odnosi się do rozwoju? [Zamknięte]

14

Ciągle słyszę o technologii w chmurze, chociaż głównie w rozwoju sieci społecznościowych itp. Słyszałem o tym dzisiaj, a teraz jestem bardzo ciekawy: co to jest „chmura” i jak ona się do mnie odnosi (w moim przypadku ja zgadnij) jako programista stron internetowych? Jak odpowiedzieć na pytanie, które ciągle mi się zadaje - „czy to w chmurze?” - nie mówiąc „to, o co pytasz, jest bez znaczenia?”

mattsven
źródło
11
en.wikipedia.org/wiki/Cloud_computing powinien zacząć.
Demian Brecht
21
Cloud to nowy Web2.0, ale bez zaokrąglonych rogów.
unholysampler
@unholysampler: Graphic, czy css-ed?
Christopher Mahan
Ma być solidny i niezawodny - poza tym, że chmura amazona rozbiła się kilka tygodni temu. A moi przyjaciele w białych kapeluszach mówią mi, że to nie jest aż tak „bezpieczne”. Ale to nie znaczy, że to nie jest przydatne.
Steven A. Lowe
1
Jestem Wielką Chmurą. Zignoruj ​​komputery za kurtyną. Jesteś programistą. Nie zrozumiałbyś To kwestia sprzętu. Google go i zadaj lepsze pytanie.
JeffO

Odpowiedzi:

32

„Chmura” to modne hasło. Nie ma definicji, która nie zawiera słowa „chmura”. Oto, jak Dell opisuje swoją chmurę:

Przetwarzanie w chmurze dostarcza IT jako usługę. Może to być Twoja prywatna chmura dostępna tylko w Twojej organizacji, chmura publiczna zewnętrznego dostawcy lub chmura hybrydowa obejmująca oba te elementy.

Och, więc chmura to IT jako usługa. Dobrze. Myślałem, że Geek Squad to IT jako usługa? Czy chmura to Geek Squad, czy też Geek Squad to chmura? A jeśli Geek Squad zacznie oferować usługi w chmurze, czy wszechświat kończący się z osobliwością? Nie ma piekielnie gorącego lub wystarczająco głębokiego miejsca dla marketingowców.

Zasadniczo jest to logiczny rozwój klastrów, wirtualizacja i szybsze połączenia internetowe. Firmy mogą specjalizować się w dostarczaniu mocy do przechowywania i przetwarzania, a Ty możesz hostować swoją aplikację w ich klastrze i uzyskiwać do niej dostęp przez Internet. Dzięki wirtualizacji może istnieć w dowolnym środowisku niezwiązanym z rzeczywistym sprzętem fizycznym, na którym działa. Bardzo fajny.

Możliwość hostowania aplikacji na urządzeniach innych firm, które mogą być transparentnie skalowane, jest bardzo potężna. Możesz stworzyć obecność w sieci bez nadmiernego zatwierdzania sprzętu. Konkretna implementacja sprzętowa nie ma znaczenia dla programistów, więc to też jest miłe.

Powodem, dla którego nazywają to „chmurą”, jest to, że w tradycyjnych schematach sieciowych internet, reszta świata, sieć WAN, sieć i sprzęt, który jest poza zakresem bezpośredniego schematu, są zawsze przedstawiane jako chmura.

Internetowy diagram

Sama natura chmury jako nieznanego kraju przetrwała do dnia dzisiejszego i leży u podstaw tego, dlaczego nikt nie jest w stanie w zadowalający sposób opisać, czym jest chmura . Chodzi o to, że nie wiesz, co to jest. Nie musisz. Po prostu wiesz, że możesz przekazać swoją aplikację Amazonowi, IBMowi lub innemu dostawcy usług w chmurze, a oni będą go hostować i wystawiać rachunki na podstawie użytkowania.

Satanicpuppy
źródło
1
Z jakiej broszury marketingowej to otrzymałeś?
Christopher Mahan
1
Właśnie podałeś definicję, która nie zawiera słowa „chmura”.
Rein Henrichs
9
@Rein tak, ale ma zdjęcie chmurki z etykietą „Internet”
Steven A. Lowe
3
To wspaniałe wytłumaczenie. +100 ode mnie.
1
Cholera, to cholernie dobra odpowiedź.
mattsven
10

Kiedy słyszysz termin „chmura”, tak naprawdę jest to (kiepski) termin abstrakcyjny, który uruchamia gamut z:

  • Infrastruktura jako usługa (IaaS) - w której zwirtualizowano zasoby komputerowe dostępne zarówno za pośrednictwem zdalnego dostawcy, jak i programowego interfejsu API. Typowymi tego przykładami są Amazon EC2 i Rackspace Cloud. Uwaga: część „programowego interfejsu API” tego opisu jest najważniejsza - w przeciwnym razie chodzi tylko o zdalny hosting lub wirtualne prywatne serwery (VPS).
  • Platforma jako usługa (PaaS) - która jest abstrakcją aż do warstwy aplikacji. Na przykład jako programista aplikacji WWW zbudowałbyś artefakt do wdrożenia (na przykład .war w Javie lub klejnot w rubinie), a następnie wdrożyłbyś ten artefakt u dostawcy PaaS. Zabierają Twoją aplikację, ukrywają przed Tobą wszystkie szczegóły sprzętu i systemu operacyjnego oraz zarządzają skalowaniem aplikacji w górę i w dół na podstawie ruchu / przepustowości Twojej aplikacji. Jako programista zajmujesz się tylko pisaniem samej aplikacji i niczym więcej (to rażąca przesada, ale chodzi o to, że naprawdę kontrolujesz tylko aplikację). Przykładami są Google App Engine lub Heroku.
  • Oprogramowanie jako usługa - w tym miejscu jako programista rezygnujesz z kontroli nad wszystkim podmiotom zewnętrznym, z wyjątkiem zostania klientem ich usług. Zasadniczo używasz zewnętrznego interfejsu API do pracy z danymi w infrastrukturze innej osoby za pośrednictwem zestawu usług internetowych. Prawdopodobnie najpopularniejszym tego przykładem jest Salesforce.

Sam termin „chmura” jest naprawdę kiepskim opisem tych trzech rzeczy. Zasadniczo, kiedy ludzie odnoszą się do „przetwarzania w chmurze”, zmieniają się paradygmaty, w których masz wyspecjalizowanych dostawców, w których rezygnujesz z kontroli nad niektórymi (lub wszystkimi) niefunkcjonalnymi problemami twojego oprogramowania, w przeciwieństwie do hostingu, pisania i zarządzanie wszystkim samemu.

wieloryb
źródło
1

Na długo zanim „Chmura” była modnym słowem, ludzie rysujący diagramy sieciowe rysowali wszystkich klientów, serwery, routery i przełączniki pod ich bezpośrednią kontrolą oraz połączenia między nimi, ale tradycyjnie po prostu rysowali chmurę dla części sieci, którą przekazują kontrolować. Dla niektórych przykładów wyszukaj w Google obraz PSTN (publiczna komutowana sieć telefoniczna). Chmura reprezentuje mglistą rzecz, do której wchodzą i wychodzą nasze druty. Nie musimy rozumieć, jak to działa, ponieważ zajmują się tym inni ludzie. Ufamy, że pakiety wrócą we właściwe miejsce po drugiej stronie. Zazwyczaj internet jest rysowany w chmurze, ponieważ gdy twoje pakiety trafią do twojego dostawcy usług internetowych, ufasz, że wie, jak je zabrać we właściwe miejsce i nie obchodzi Cię, przez które konkretne routery podróżuje.

„Przetwarzanie w chmurze” w skrócie odnosi się do usług hostowanych w chmurze na schemacie sieci w domu lub firmie, tj. W Internecie. Sprzęt nie jest pod twoją bezpośrednią kontrolą, po prostu wysyłasz swoje dane „do chmury” i ufasz swojemu dostawcy, że je przetworzy i zapisze, aby był dostępny, gdy będziesz musiał go wycofać. Znaczenie tego słowa „bzyczenie” oznacza również, że rzeczy, które teraz są obsługiwane „w chmurze”, były tradycyjnie domeną lokalnego komputera. Tradycyjnie mógłbyś mieć serwer zapasowy, ale przeszedłeś na usługę taką jak karbonit, która wykonuje kopie zapasowe „w chmurze”. Wcześniej korzystałeś z MS Office na lokalnym komputerze, ale teraz korzystasz z dokumentów Google itp.

Jako programista stron internetowych oznacza to, że klienci często szukają sposobów na zastąpienie usług tradycyjnie obsługiwanych przez komputery stacjonarne aplikacjami internetowymi. Możliwość zastąpienia oprogramowania komputerowego, a nie tylko jego uzupełnienia, może zapewnić przewagę konkurencyjną.

Karl Bielefeldt
źródło
Chmura reprezentuje „mglistą rzecz” - podoba mi się. Very meta :-)
1

Wiele osób wspaniale wyjaśniło, czym jest chmura, więc postaram się wyjaśnić, co chmura może Ci przynieść (twórca stron internetowych) oprócz jednorożców i złotych tęcz: (z bezwstydnymi wtyczkami do naszej technologii)

  1. Hosting i skalowanie w poziomie na żądanie - Amazon EC2. Załóżmy, że nasza strona internetowa jest ukrywana lub przenoszona na czerwono i potrzebujesz dodatkowych hostów na następne kilka dni - nie ma problemu. Można je zwiększać i zmniejszać na żądanie.
  2. ładowanie drobnoziarniste - płać tylko za to, czego używasz. Najtańsza usługa w AWS jest faktycznie bezpłatna dla ograniczonego użytkowania! Spróbuj zbudować swoją stronę internetową bez żadnych kosztów. Nigdy więcej sprężyn dla hostingu centrów danych itp.
  3. Chcesz zbudować witrynę, która potrzebuje kopii zapasowej bazy danych - nie ma problemu. Możesz użyć AWS SimpleDB dla noSQL / RDS, jeśli potrzebujesz SQL.
  4. Chcesz przechowywać te słodkie kociaki i link do nich? AWS S3.
  5. Chcesz zwrócić się do globalnej grupy osób o niskim opóźnieniu? Front AWS Cloud! Posiadają one serwery brzegowe zlokalizowane w pobliżu twoich klientów, dzięki czemu te zdjęcia są błyskawicznie błyskawiczne!
  6. Monitorowanie na żywo / raportowanie wykorzystania twoich stron
  7. Chcesz, aby rozproszony system rozwiązał ogromny problem z zestawem danych? AWS MapReduce
  8. Chcesz niezawodnie wysyłać wiadomości e-mail do swoich klientów? AWS SES
  9. Chcesz wykonać asynchroniczne przetwarzanie, takie jak backend dla zamówień online? AWS SQS

Jest o wiele więcej na http://aws.amazon.com/ . Sprawdź to! Oczywiście wszystko to pochodzi od AMZN. Inni, tacy jak Google, również mają konkurencyjne oferty.

Subu Sankara Subramanian
źródło
0

Problem polega na tym, że „chmura” ma nieco dwuznaczne znaczenie (w zakresie).

Minimum ludzi myśli, gdy słyszy „Chmura”, to zwirtualizowana infrastruktura i jej zalety:

  • wyeliminować nadmiarowość potrzebną do uwzględnienia potencjalnej awarii sprzętu
  • potencjał posiadania elastycznych lub na żądanie zasobów infrastruktury (tj. zwiększenie 10 bardziej w pełni wyposażonych maszyn wirtualnych do obsługi obciążenia szczytowego lub sezonowego)
  • łatwość realokacji / przeniesienia / wycofania zasobów
  • łatwość replikacji środowisk
  • możliwość „migawki” i „wycofania” zwirtualizowanych zasobów infrastruktury, aw niektórych przypadkach całych środowisk

Nawiasem mówiąc, nie zawsze dostajesz wszystko na liście, a nawet jeśli to zrobisz, może nie być 100%. Możesz Google opisać, co się stało z „AWS US East Outage”, na przykład w świecie rzeczywistym.

Ludzie czasami dodają także inne usługi w ramach „chmury”, takie jak baza danych, rejestrowanie i każda inna usługa, która w pewnym sensie otacza przestrzeń między „infrastrukturą” a „aplikacją”.

Niektóre osoby używają również „chmury” jako synonimu „wirtualnego”. Czasami ludzie używają go również w znaczeniu „Oprogramowanie i platforma jako usługa”.

dietbuddha
źródło
0

Chmura to po prostu inne słowo określające internet. Teraz robi się coraz głośniej, gdy internet dojrzewa na tyle, że organizacje mogą na nim polegać w ważnych usługach programowych, dlatego wciąż słyszymy o takich sprawach, jak SAAS.

Craig
źródło