Zanim przejdziemy do właściwego tematu, musisz najpierw zrozumieć, czym jest system kontroli wersji i dlaczego go potrzebujesz. System kontroli wersji jest narzędziem używanym przez programistów do śledzenia i zarządzania historią plików projektu w czasie, co pomaga im lepiej pracować i współpracować z innymi programistami. Na szczęście istnieje wiele narzędzi, które pozwalają organizacjom na hostowanie prywatnych repozytoriów Git w celu udostępnienia ich kodu. GitHub jest prawdopodobnie jednym z najpopularniejszych i najczęściej używanych narzędzi do kontroli wersji i współpracy, które ułatwiają deweloperom współpracę nad projektami, niezależnie od ich fizycznej lokalizacji. Następnie jest AWS CodeCommit – równie popularny system kontroli wersji dostarczany przez Amazon w ramach jego parasolowego pojęcia Amazon Web Services. Przyjrzyjmy się, jak te dwie usługi repozytorium Git wypadają na tle siebie.

Co to jest GitHub?

GitHub to internetowa platforma hostingu kodu do kontroli wersji i współpracy, która pozwala programistom współpracować i współdziałać przy projektach. Kiedy wiele osób jest współtwórcami projektu, śledzenie zmian staje się zbyt trudne i zwiększa szanse na nadpisanie wzajemnych zmian. Został stworzony w 2008 roku, aby hostować projekty Git, ale obecnie jest spółką zależną firmy Microsoft. GitHub to narzędzie do pracy zespołowej, które pozwala na radzenie sobie ze zdalnymi repozytoriami; jest to serwer hostingu kodu dla projektów Git. Pomyśl o GitHubie jako o własnym serwerze Git, ale bez dodatkowych dzwonków i gwizdków. GitHub jest jak media społecznościowe dla deweloperów, które łączą społeczność milionów deweloperów z całego świata i tworzą przestrzeń dla nich do budowania, dzielenia się i dokumentowania swoich projektów. Służy nie tylko społeczności open source, ale także profesjonalnym zespołom, które chcą tworzyć swoje prywatne repozytoria, nie martwiąc się o korzystanie z własnego serwera.

Czym jest AWS CodeCommit?

AWS CodeCommit to w pełni zarządzany, wysoce skalowalny system kontroli źródeł, który umożliwia firmom hostowanie bezpiecznych repozytoriów opartych na Git. Należy do zestawu potężnych usług dostarczanych przez AWS w celu uproszczenia dostarczania aplikacji i usług w sposób efektywny. Jest to w zasadzie system kontroli wersji zarządzany przez Amazon Web Services w celu prywatnego przechowywania i zarządzania zasobami w chmurze oraz integracji z AWS. Jest to bezpieczny system kontroli wersji, który obsługuje standardowe funkcje Git, co oznacza, że skutecznie zarządza zmianami, które wprowadzasz w swoim projekcie od początku do końca. Zmiany te nazywane są „wersjami”, stąd nazwa system kontroli wersji. Fakt, że jest w pełni zarządzany, skaluje się automatycznie na podstawie zmiennych potrzeb projektu, co oznacza, że nie musisz się martwić o hosting, utrzymanie i skalowanie własnych serwerów kontroli źródeł. Przechowuje dane w Amazon S3 i Amazon DynamoDB – w pełni zarządzanej bazie dokumentów firmy Amazon w ramach portfolio AWS.

Różnica między GitHubem a AWS CodeCommit

Narzędzie

– AWS CodeCommit to wysoce skalowalny system kontroli wersji w pełni zarządzany przez Amazon w ramach portfolio Amazon Web Services w celu prywatnego przechowywania i zarządzania zasobami w chmurze oraz integracji z AWS. Podobnie jak GitHub, jest to usługa kontroli źródła, która umożliwia organizacjom hostowanie bezpiecznych repozytoriów opartych na Git. Jednak tym, co czyni GitHub naprawdę wyjątkowym, jest oferowany przez niego przepływ pracy programistycznej. GitHub to nie tylko platforma do hostowania kodu, ale także narzędzie dla programistów do zarządzania projektami. Pozwala na hostowanie i przeglądanie kodu, zarządzanie projektami i budowanie oprogramowania wraz ze zróżnicowaną społecznością ponad 36 milionów deweloperów.

Bezpieczeństwo

– Chociaż GitHub jest świetny do publikowania darmowych bibliotek open source i zapewnia bezproblemową integrację z wieloma narzędziami innych firm, nie jest tak przyszłościowy jak AWS CodeCommit, który z drugiej strony jest w pełni zintegrowany z AWS Identity and Access Management (IAM), dzięki czemu jest bardzo bezpieczny. Wykorzystuje IAM do zabezpieczenia na poziomie użytkownika lub konkretnego API, a repozytoria są szyfrowane, gdy są w AWS CodeCommit lub gdy są gdzieś klonowane. Tak więc, AWS CodeCommit jest wyraźnie zwycięzcą na gruncie bezpieczeństwa.

Limit magazynowania

– GitHub nakłada ścisły limit na rozmiar plików dozwolonych w repozytoriach przekraczających 100 MB, co oznacza, że pozwala tylko na przechowywanie plików o rozmiarze do 100 MB i blokuje push do repozytorium, jeśli przekroczysz maksymalny limit przechowywania plików. AWS CodeCommit, z drugiej strony, nie ma żadnego limitu rozmiaru pliku i typu pliku, co oznacza, że nie ma żadnych ograniczeń rozmiaru repozytorium i możesz przechowywać tyle plików, ile chcesz dowolnego typu.

Wycena

– GitHub jest darmowy dla zespołów, oferując im dostęp do nieograniczonych prywatnych repozytoriów z nieograniczonymi współpracownikami za darmo. Płatne plany zaczynają się od 4 USD za użytkownika na miesiąc dla GitHub Team i idą do 21 USD za użytkownika na miesiąc dla planu Enterprise. Z AWS CodeCommit, dostajesz pięciu aktywnych użytkowników miesięcznie za darmo, po czym musisz zapłacić dodatkowy $1 za każdego użytkownika miesięcznie. Dla każdego aktywnego użytkownika otrzymujesz 10 GB pamięci masowej i 2 000 żądań Git co miesiąc.



Podsumowanie

Podczas gdy GitHub byłby świetnym wyborem do publikowania darmowych bibliotek open source i zapewnia bezproblemową integrację z kilkoma aplikacjami innych firm, nie jest jednak tak bezpieczny jak AWS CodeCommit, który z drugiej strony jest w pełni zintegrowany z AWS Identity and Access Management i wykorzystuje IAM do zabezpieczenia na poziomie użytkownika lub konkretnego API, dzięki czemu jest bardzo bezpieczny. W przeciwieństwie do GitHub, nie masz żadnego limitu rozmiaru repozytorium z AWS CodeCommit, który w rzeczywistości pozwala na przechowywanie dowolnego typu plików i o dowolnym rozmiarze. Tak więc, każda usługa repozytorium ma swój własny zestaw plusów i minusów, więc na koniec dnia wszystko sprowadza się do twoich potrzeb i tego, który z nich służy ci najlepiej.