Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Rozwój backendu to złożony i kosztowny proces. Podczas tworzenia aplikacji mobilnych często poświęca się temu nieracjonalnie więcej uwagi. Jest to nieuzasadnione, bo za każdym razem trzeba realizować typowe dla aplikacji mobilnych scenariusze: wysłać powiadomienie push, dowiedzieć się ilu użytkowników jest zainteresowanych promocją i złożyć zamówienie itp. Zależy mi na rozwiązaniu, które pozwoli Ci skupić się na rzeczach ważnych dla aplikacji bez utraty jakości i detali w realizacji drugorzędnych. I są rozwiązania!

Takie usługi nazywane są Mobile Backend-as-a-Service (MBaaS). Procesy tworzenia backendu z ich pomocą są uproszczone w porównaniu do programowania „ręcznie”. To oszczędność na zatrudnieniu oddzielnego programisty backendu. A fakt, że dostawca MBaaS dba o wszystkie kwestie związane ze stabilnością serwera, równoważeniem obciążenia, skalowalnością i innymi trudnościami infrastrukturalnymi, daje pewność co do jakości wyniku i jest główną zaletą takich usług.

W tym artykule przyjrzymy się kilku dużym i sprawdzonym usługom: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Punkty, na których będziemy rozważać usługi: funkcjonalność backendu i analityki, złożoność integracji usługi, niezawodność i stabilność pracy oraz polityka cenowa. Przejrzyjmy każdą usługę i zanotujmy ich funkcje zgodnie z tymi kryteriami.

Azure firmy Microsoft

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Azure firmy Microsoft - Infrastructure-as-a-Service (IaaS) to usługa, która zawiera pełną funkcjonalność BaaS i pomaga w tworzeniu backendu dla aplikacji mobilnych.

MBaaS

Azure firmy Microsoft posiada pełen zestaw funkcjonalności do tworzenia backendu dla aplikacji mobilnej. Przetwarzanie powiadomień push, automatyczne skalowanie, synchronizacja danych, integracja z mediami społecznościowymi i nie tylko.

Ważną cechą platformy Azure jest położenie geograficzne serwerów. Znajdują się one w 54 regionach świata, co zwiększa prawdopodobieństwo wyboru serwera, który odpowiada Ci pod względem opóźnienia. Ponieważ tylko niektóre regiony najczęściej cierpią z powodu awarii, można założyć, że im więcej regionów, tym mniejsze prawdopodobieństwo trafienia do tego bardzo „niestabilnego”. Microsoft twierdzi, że ma więcej regionów niż jakikolwiek inny dostawca chmury. To zdecydowanie plus.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Analityka

Usługa zapewnia możliwość monitorowania wydajności aplikacji w czasie rzeczywistym i zbierania raportów o „upadkach”. Pozwala to na natychmiastowe zlokalizowanie i rozwiązanie problemu.

Również na platformie Azure możesz używać ich własnej biblioteki do zbierania danych analitycznych w aplikacjach: zbierania podstawowych metryk (informacje o urządzeniu, informacje o sesji, aktywności użytkownika i nie tylko) oraz tworzenia niestandardowych zdarzeń do śledzenia. Wszystkie zebrane dane są natychmiast eksportowane na platformę Azure, co pozwala na prowadzenie z nimi prac analitycznych w wygodnym formacie

Dodatkowa funkcjonalność

Nie zabrakło również ciekawych funkcji, takich jak testowanie buildów aplikacji na rzeczywistych urządzeniach, ustawienia CI/CD do automatyzacji procesu deweloperskiego oraz narzędzia do przesyłania buildów aplikacji do testów beta lub bezpośrednio do App Store lub Google Play.

Platforma Azure umożliwia korzystanie z gotowej struktury zaprojektowanej do pracy z mapami i danymi geoprzestrzennymi, co ułatwia pracę z tym formatem.

Szczególnie interesująca jest możliwość rozwiązywania problemów za pomocą sztuczna inteligencja, za pomocą którego możesz przewidywać różne wskaźniki analityczne i korzystać z gotowych narzędzi do widzenia komputerowego, rozpoznawania mowy i wielu innych.

Złożoność integracji

Usługa Microsoft Azure zapewnia SDK dla głównych platform mobilnych (iOS i Android) oraz, co jest rzadkością, dla rozwiązań międzyplatformowych (Xamarin i PhoneGap). 

Ogólnie rzecz biorąc, użytkownicy narzekają na skomplikowany interfejs i wysoką barierę wejścia. Wskazuje to na możliwe problemy z integracją usługi. 

Ważne jest, aby zrozumieć, że wysoki próg wejścia nie jest szczególnym przypadkiem w przypadku platformy Azure, ale ogólnym problemem w przypadku IaaS. Na przykład Amazon Web Services, który zostanie omówiony dalej, jest jeszcze bardziej podatny na tę dolegliwość.

Niezawodność

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Stabilność usługi od Microsoftu wygląda przyzwoicie. Można zauważyć, że przynajmniej raz w miesiącu mogą wystąpić krótkotrwałe problemy w różnych regionach. Ten obraz mówi o wystarczającej stabilności usługi, problemy występują rzadko, w niektórych regionach i są naprawiane niezwykle szybko, co pozwala usłudze utrzymać przyzwoity czas pracy. 

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Potwierdza to lista ostatnich incydentów na serwerach Azure – większość z nich to ostrzeżenia krótkoterminowe, a ostatni raz serwery były wyłączone na początku maja. Statystyki potwierdzają obraz stabilnej obsługi.

Kosztować

В Polityka cenowa Microsoft Azure ma różne stawki opłat za usługę, jest też darmowy plan z pewnymi limitami, który jest wystarczający do testów. Należy pamiętać, że Azure to usługa IaaS, z których większość, ze względu na swoją specyfikę i złożoność liczenia wydanych zasobów, cierpi na trudność przewidywania kosztów pracy. Wiele osób boryka się z trudnościami, a często nawet z niemożnością prawidłowego obliczenia wykorzystywanych pojemności. Rachunek rzeczywisty może znacznie różnić się od oczekiwanego. 

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Ponadto Azure, oprócz tych planów, ma osobne płatne usługi: App Service Domain, Azure App Service Certificates i SSL Connections. Wszystkie dotyczą administrowania Twoją infrastrukturą, nie będziemy ich dotykać.
W wielu recenzjach użytkownicy narzekają na skomplikowaną politykę cenową i niemożność przewidzenia kosztu usługi. Proponowany przez Microsoft kalkulator nazywany jest bezużytecznym, a sama usługa jest piekielnie droga.

Konkluzja dla platformy Azure

Usługa Microsoft Azure to funkcjonalne i stabilne narzędzie do wykorzystania jako główny dostawca MBaaS. Fakt, że usługa początkowo zapewnia kompletną infrastrukturę, otwiera wiele możliwości dalszego rozwoju Twojego backendu poza aplikacjami mobilnymi. Duża liczba serwerów i ogromna liczba regionów, w których się znajdują, pomaga wybrać odpowiednie opóźnienie. Potwierdzają to pozytywne recenzje użytkowników. Z punktów ujemnych - wysoki próg wejścia i trudność w przewidzeniu kosztu usługi.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Pasuje? Skorzystaj z tych linków, aby bardziej szczegółowo poznać platformę Microsoft Azure, poznać wszystkie szczegóły i zacząć z niej korzystać: 

Wzmocnienie AWS

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Amazon Web Services (AWS) to drugi IaaS, który trafił do naszego wyboru. Reprezentuje ogromną liczbę usług i jest o tyle ciekawy, że analogicznie do Microsoft Azure posiada dedykowany zestaw funkcjonalności tzw Wzmocnienie AWS, który jest zasadniczo zapleczem mobilnym. Wcześniej mogłeś słyszeć nazwę AWS Mobile Hub, która od dawna jest główną usługą zapewniającą funkcjonalność MBaaS. Jak napisz Sam Amazon, Amplify to poprawiony i ulepszony mobilny hub, który rozwiązuje główne problemy swojego poprzednika.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Według Amazon, Amplify cieszy się zaufaniem wielu dużych firm, w tym Netflix, Airbnb i wielu innych.

MBaaS

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Rozwiązanie mobilne Amazon pozwala szybko skonfigurować wszystkie niezbędne funkcjonalności dla aplikacji mobilnej. Niezależnie od tego, czy chodzi o logikę serwera, przechowywanie danych, autoryzację użytkowników czy przetwarzanie i dostarczanie treści, powiadomienia i analizy. 

Amazon zapewnia również wszystkie niezbędne warunki w zakresie infrastruktury, takie jak skalowanie, równoważenie obciążenia i inne.

Analityka

Za analitykę odpowiada osobna usługa Amazonka Wskaż, gdzie możesz segmentować odbiorców i prowadzić zakrojone na szeroką skalę kampanie targetowania różnymi kanałami (powiadomienia push, SMS i e-mail), aby przyciągnąć użytkowników do serwisu.

Pinpoint dostarcza dane w czasie rzeczywistym, możesz tworzyć dynamiczne segmenty odbiorców, analizować ich zaangażowanie i optymalizować strategię marketingową w oparciu o te dane.

Dodatkowa funkcjonalność

Amazon Amplify zapewnia dostęp do usługi Farma urządzeń AWS do testowania kompilacji Twoich aplikacji na rzeczywistych urządzeniach. Usługa umożliwia prowadzenie równoległych automatycznych testów aplikacji na różnych urządzeniach fizycznych, dostępne jest również testowanie ręczne.

Platforma Konsola AWS Amplify to narzędzie do wdrażania i hostowania zarówno zasobów serwerowych, jak i aplikacji webowych z możliwością konfiguracji CI/CD w celu automatyzacji procesu deweloperskiego.

Niezwykła jest również możliwość wprowadzenia botów głosowych i tekstowych do aplikacji mobilnych „od ręki” jako interfejsu do interakcji użytkownika. Działa w serwisie Amazonka Lex.

Co ciekawe, AWS Amplify zapewnia również mały Biblioteka gotowe komponenty UI dla Twojej aplikacji React Native, które mogą posłużyć jako lekkie przyspieszenie procesu deweloperskiego lub zostać wykorzystane w prototypie lub MVP Twojego projektu.

Złożoność integracji

Amazon Amplify zapewnia SDK dla iOS, Android, JAVASCRIPT и React Native i dość szczegółowe. dokumentacja. Warto zauważyć, że oprócz REST usługa obsługuje również GraphQL.

Jak omówiono w procesie analizy platformy Azure, wysoka bariera wejścia jest typowym problemem dla wszystkich usług IaaS. Amazon nie jest wyjątkiem, wręcz przeciwnie. Jest to prawdopodobnie jedna z najtrudniejszych do zrozumienia usług. Wynika to z dużej liczby różnych narzędzi, które posiada AWS. Nauka AWS od podstaw zajmie dużo czasu. Ale jeśli ograniczysz się tylko do Amplify, możesz wdrożyć działające rozwiązanie w odpowiednich ramach czasowych.

Niezawodność

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Serwis Amazona statystycznie wygląda mniej stabilnie niż Azure. Ale niewielka liczba pełnoprawnych wyłączeń (czerwonych krwinek) cieszy. Zasadniczo wszystko, co się dzieje, to ostrzeżenia i niestabilność w niektórych usługach.

Potwierdza to lista ostatnich incydentów na serwerach AWS – część z nich to ostrzeżenia o różnym czasie trwania (czasami nawet do 16 godzin), a ostatni raz serwery były wyłączone w połowie czerwca. Ogólnie wygląda to dość stabilnie.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Kosztować

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Polityka cenowa Usługa Amazon Web Services jest na pierwszy rzut oka dość prosta - płać tylko za to, z czego korzystasz, ponad bezpłatny limit. Ale podobnie jak w przypadku Microsoft Azure, im więcej usług używasz, tym trudniej jest przewidzieć całkowity koszt pracy.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

W Internecie jest wiele opinii, które nazywają AWS zbyt drogim. Cóż możemy powiedzieć, skoro już dawno pojawiły się firmy, które za osobną kwotę są gotowe zoptymalizować Twoje wykorzystanie AWS, minimalizując do minimum miesięczne rachunki. 

Amazon wzmacnia dolną linię

Ogólnie historia z Amazon Amplify jest podobna do Azure. Pod wieloma względami ta sama funkcjonalność co MBaaS, zapewniająca pełnoprawną infrastrukturę i możliwość rozwijania własnego backendu. Pozytywnie wyróżniają się narzędzia marketingowe Amazona, w szczególności Pinpoint.

Z negatywnych stron przypominamy nie mniej wysoki próg wejścia niż Azure i te same trudności z prognozowaniem kosztów. Dodaj do tego mniej stabilną usługę i sądząc po recenzjach, niezbyt responsywne wsparcie techniczne.

Pasuje? Skorzystaj z tych linków, aby dowiedzieć się więcej o Amazon Amplify, poznać wszystkie szczegóły i zacząć z niego korzystać: 

Google Firebase

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych
Platforma Ognisko od Google to jedna z najciekawszych opcji jako usługa MBaaS dla Twojej aplikacji. Od dawna jest użytecznym narzędziem i jest nim dla wielu znanych aplikacji: Shazam, Duolingo, Lyft i innych. 
Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

MBaaS

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Firebase dba o wszystko, czego potrzebuje Twoja aplikacja mobilna. Usługa łączy w sobie pełnoprawne funkcje backendu, takie jak przechowywanie danych, synchronizacja, uwierzytelnianie, funkcje chmury (wykonanie kodu backendu) i jest obecnie w fazie beta Zestaw do uczenia maszynowego, za pomocą którego aplikacja realizuje różne funkcjonalności oparte na uczeniu maszynowym (rozpoznawanie tekstu, obiektów na zdjęciach i wiele innych). 

Analityka

Ważną cechą Firebase jest to, że poza funkcjonalnością backendu, usługa oferuje również szeroki wachlarz opcji analityki aplikacji. Wbudowany Google Analytics, segmentacja bazy użytkowników i powiadomienia push. Również w 2017 roku Google dokonał dużego przejęcia, kupując powszechnie używaną usługę Fabric i integrując ją z Firebase wraz z Crashlytics, bardzo przydatnym narzędziem do śledzenia błędów aplikacji oraz gromadzenia statystyk i raportów o awariach, które wystąpiły na urządzeniach użytkowników.

Dodatkowa funkcjonalność

Firebase zapewnia narzędzie Linki dynamiczne Firebase do przetwarzania dynamicznych linków do Twoich treści, za pomocą tego narzędzia możesz generować linki, które prowadzą do aplikacji, jeśli jest zainstalowana, jeśli nie, odsyłają użytkownika do App Store lub Google Play w celu instalacji. Również takie linki działają w zależności od urządzenia, na którym się otwierają, jeśli jest to komputer, strona zostanie otwarta w przeglądarce, a jeśli urządzenie jest przejściem do aplikacji.

Google umożliwia również testowanie aplikacji za pomocą testów A/B Testy A/B Firebase i skonfiguruj zdalną konfigurację za pomocą narzędzia Zdalna konfiguracja

Złożoność integracji

Staje się jasne, że ta usługa łączy w sobie niezwykle dużą liczbę funkcji dla Twojej aplikacji. Do integracji Firebase powinieneś użyć SDK niezbędna platforma, w tym iOS, Android, JavaScript, a także C++ i Unity, co bardzo przyda się przy tworzeniu gier. Należy zauważyć, że Firebase ma dość szczegółową dokumentację i szeroką bazę użytkowników programistów, aw rezultacie wiele pomocniczych treści w Internecie, niezależnie od tego, czy są to odpowiedzi na pytania, czy artykuły ogólne.

Niezawodność

To, czy polegać na Google, to temat na osobny artykuł. Z jednej strony masz bardzo stabilnego i działającego dostawcę, az drugiej strony nigdy nie wiesz, kiedy „Google zamknie też tę usługę”. Nic dziwnego, że Google został usunięty z ich misji „Nie bądź zły”

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Kiedy dostawca ma takie zasoby, wydawałoby się, że uptime powinien sięgać 100%, ale nadal można znaleźć wiele zgłoszeń problemów z usługą, np. cytat jeden z użytkowników: Przestoje się zdarzają. W przypadku Firebase można powiedzieć, że zdarza się „nieprzerwany”. I rzeczywiście, jeśli spojrzysz na statystyki dotyczące zdarzeń z usługami Firebase, zobaczymy, że są zarówno małe przestoje, jak i pełne przerwy przez 5-7 godzin, co może mieć krytyczne znaczenie dla Twojej usługi.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

A czasem problemy trwają tygodniami. Nie wolno nam zapominać, że krytyczny i kluczowy kod produktu może działać w tych usługach. Ta statystyka nie wygląda zbyt szczęśliwie.

Kosztować

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Polityka cenowa Firebase jest przejrzysty i prosty, istnieją 3 plany: Spark, Flame i Blaze. Ideowo różnią się od siebie. Podczas gdy Spark to darmowy plan z ograniczeniami, które pozwalają na wdrożenie i przetestowanie znacznej części funkcjonalności platformy. Plany Flame i Blaze są płatne. Flame kosztuje stałe 25 USD miesięcznie, ale zasadniczo otrzymujesz tę samą Spark, tylko ze znacznie wyższymi limitami. 

Blaze jest inny niż reszta. Pozwala na korzystanie z możliwości platformy w nieograniczonych ilościach, przy czym płacisz proporcjonalnie do wykorzystanych zasobów. Jest to bardzo elastyczny plan, w którym płacisz tylko za funkcje, z których korzystasz. Jeśli np. zdecydujesz się używać platformy tylko do testowania aplikacji, zapłacisz tylko za przekroczenie limitów bezpłatnych testów.

Podsumowując, ceny Firebase są bardzo przejrzyste i przewidywalne. W trakcie tego procesu rozumiesz, ile będzie kosztować ta lub inna funkcjonalność, a także obliczasz koszt podczas skalowania lub zmiany usługi.

Podsumowanie przez Firebase

Usługa Google Firebase jest pełnoprawnym dostawcą MBaaS, który ogranicza złożoność infrastruktury, z którą AWS i Azure są bezpośrednio powiązane. Dostępna jest cała funkcjonalność niezbędna do opracowania backendu w chmurze, szerokie możliwości analityczne, względna łatwość integracji, dość niski próg wejścia i przejrzyste ceny. 

Z negatywnych stron - problemy ze stabilnością usługi. Niestety nie ma na to wpływu, możemy tylko liczyć na inżynierów Google.
Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych
Odpowiedni dla Ciebie? Skorzystaj z tych linków, aby bardziej szczegółowo poznać Google Firebase, poznać wszystkie szczegóły i zacząć z niego korzystać: 

Kumulo

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Kumulo to niezależna usługa MBaaS założona w 2011 roku. 

MBaaS

Jako backend mobilny Kumulos oferuje wiele standardowych narzędzi, które widzieliśmy już w poprzednich serwisach. Możliwe jest również tworzenie pełnoprawnych kampanii w oparciu o harmonogram i geolokalizację, śledzenie i diagnozowanie upadków, wygodną integrację ze Slack, Trello i Jira, przechowywanie danych i przetwarzanie autoryzacji użytkowników.

Podobnie jak Firebase, usługa zajmuje się wszystkimi problemami z równoważeniem obciążenia, skalowaniem i innymi problemami z infrastrukturą.

Analityka

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Kumulos ma wbudowaną rozbudowaną analitykę, w tym okresowe raporty, segmentację użytkowników, szczegółową analizę behawioralną, analizę kohortową i wiele innych. Platforma została pierwotnie stworzona z myślą o Big Data i jest gotowa do pracy z dużymi ilościami danych. Wszystkie analizy są wyświetlane w czasie rzeczywistym. Wewnętrzny silnik analityczny przewiduje różne spostrzeżenia na podstawie zebranych statystyk.

Ważną cechą jest możliwość przechowywania i eksportowania danych do innych serwisów, w tym: Salesforce, Google BigQuery, Amplitude i Tableau.

Dodatkowa funkcjonalność

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Ciekawą i rzadko spotykaną funkcją jest narzędzie do optymalizacji promocji aplikacji w App Store. Optymalizacja sklepu z aplikacjami Kumulos ocenia Twoją stronę aplikacji i sugeruje rozwiązania poprawiające wydajność. Śledzi czynniki sukcesu aplikacji, takie jak oceny użytkowników i rankingi aplikacji w najlepszych krajach, i generuje raporty na podstawie tych danych. 

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Niezwykle interesujące jest posiadanie specjalnego zestawu narzędzi dla mobilnych studiów programistycznych, który zapewnia wygodny interfejs do zarządzania danymi aplikacji dla różnych klientów. Oprócz generowania raportów specjalnie dla Twoich klientów.

Złożoność integracji

W Kumulowie szeroki zestaw SDK do integracji zarówno z narzędziami natywnymi, jak i wieloplatformowymi. Biblioteki są aktywnie aktualizowane i utrzymywane.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Do wszystkich narzędzi opisana jest szczegółowa dokumentacja, jest też kilka samouczków i gotowych przykładów wykorzystania platformy.

Niezawodność

Niestety nie udało mi się znaleźć żadnych statystyk dotyczących stabilności serwerów usługi Kumulos.

Kosztować

Oprócz bezpłatnego okresu próbnego Kumulos ma 3 plan płatny: Startup, Enterprise i Agencja. Działają na zasadzie „Płacę tylko za to, z czego korzystam”. Niestety serwis nie udostępnia ogólnodostępnego cennika, wygląda na to, że jest on kalkulowany indywidualnie, w oparciu o Twoje potrzeby.

Omówienie usług w chmurze do tworzenia zaplecza aplikacji mobilnych

Nie da się dokładnie mówić o przewidywalności i wielkości płatności bez znajomości samych stawek dla wszystkich planów. Jedno cieszy – podobno ceny są dość elastyczne.

Razem dla Kumulosa

Kumulos zapewnia platformę MBaaS pod wieloma względami podobną do Firebase. Zawiera cały niezbędny zestaw narzędzi serwisowych MBaaS, dość rozbudowane możliwości analityczne i raportowe. Ciekawie prezentuje się jako odrębna oferta dla studiów aplikacji mobilnych, która łączy w sobie wiele dodatkowych korzyści.

Z minusów - brak jakichkolwiek danych na temat stabilności serwerów i zamkniętych cen.

Warte spróbowania? Skorzystaj z tych linków, aby poznać Kumulos bardziej szczegółowo, poznać wszystkie szczegóły i zacząć z niego korzystać: 

wniosek

Wybór usługi w chmurze dla zaplecza mobilnego należy traktować poważnie, ponieważ będzie miał ogromny wpływ na proces rozwoju i późniejszy rozwój Twojej aplikacji lub usługi. 

W artykule sprawdziliśmy 4 usługi: Microsoft Azure, AWS Amplify, Google Firebase i Kumulos. Wśród nich są 2 duże usługi IaaS i 2 MBaaS, które specjalizują się w backendzie mobilnym. I w każdej z opcji spotkałem się z pewnymi problemami i negatywnymi aspektami.

Ważne jest, aby zrozumieć, że nie ma idealnego rozwiązania. Wybór technologii do projektu to kompromis między kluczowymi czynnikami. Proponuję przejrzeć je jeszcze raz:

funkcjonalność

Funkcjonalność wybranej platformy wpływa bezpośrednio na ograniczenia, które nałożysz na swój backend. Wybierając usługę, zawsze musisz jasno określić swoje priorytety, niezależnie od tego, czy korzystasz z jednej konkretnej funkcji, takiej jak powiadomienia push w celu zaoszczędzenia pieniędzy, czy też budujesz własną infrastrukturę w ramach tego samego ekosystemu, aby scentralizować i ujednolicić zaplecze. 

Analityka

Trudno wyobrazić sobie nowoczesne usługi bez analityki. W końcu to właśnie to narzędzie pozwala ulepszyć usługę, analizować użytkowników, a w rezultacie uzyskać większy zysk. Jakość produktu końcowego zależy bezpośrednio od jakości i funkcjonalności analityki. Ale nikt nie zadaje sobie trudu, aby połączyć analitykę innej firmy, czy to analityczną część Firebase, AppMetrica z Yandex, czy coś innego, co jest dla Ciebie bardziej odpowiednie.

Złożoność integracji

Złożoność integracji wpływa bezpośrednio na koszty zasobów zarówno pieniężnych, jak i czasowych w procesie rozwoju, nie wspominając o możliwej komplikacji procesu znajdowania programistów z powodu niepopularności lub wysokiego progu wejścia do zestawu narzędzi.

Niezawodność i stabilność

Niezawodność i stabilność każdej usługi jest jednym z najważniejszych wskaźników. A kiedy Twoja własna aplikacja cierpi na problemy po stronie dostawcy, sytuacja nie jest przyjemna. Użytkownika końcowego nie obchodzi, co tam jest nie tak i czy konkretnie ponosisz winę za to, że usługa nie działa. Nie będzie mógł zrobić tego, co zaplanował, i tyle, wrażenie psuje, może nie wrócić do produktu. Tak, nie ma usług idealnych, ale istnieją narzędzia minimalizujące straty w przypadku problemów po stronie dostawcy.

Polityka cenowa

Polityka cenowa usługi jest dla wielu czynnikiem decydującym, ponieważ jeśli możliwości finansowe nie odpowiadają żądaniom dostawcy, po prostu nie będzie można kontynuować współpracy. Ważne jest, aby rozważyć i przewidzieć koszt usług, od których zależy Twój produkt. Ceny różnią się w zależności od usługi, ale najczęściej są proporcjonalne do wykorzystywanych zasobów, niezależnie od tego, czy jest to liczba wysłanych powiadomień, czy rozmiar dysku twardego.

Blokada dostawcy

Korzystając z tych usług, ważne jest, aby nie utknąć na jednym rozwiązaniu, w przeciwnym razie uzależnisz się od niego całkowicie i skazujesz na tzw. „vendor lock”. Oznacza to, że jeśli coś stanie się z usługą, zmieni się właściciel, kierunek rozwoju lub zamknie, trzeba będzie pilnie rozejrzeć się za nowym dostawcą MBaaS, a w zależności od wielkości aplikacji taki ruch będzie wymagał znacznej ilości czasu a co za tym idzie koszty finansowe. Będzie to szczególnie przerażające, jeśli backend będzie powiązany z jakąś unikalną funkcjonalnością dostawcy MBaaS, ponieważ wszyscy dostawcy są różni i nie wszyscy mają ten sam zestaw funkcjonalności. Dlatego rzadko kiedy możliwe jest poruszanie się „bezboleśnie”.

Całą analizę można podsumować w poniższej tabeli:

Azure firmy Microsoft

Wzmocnienie AWS

Google Firebase

Kumulo

narzędzia MBaaS
powiadomienia push, synchronizacja danych, 
automatyczne skalowanie i równoważenie obciążenia i wiele więcej

Analityka

Analityka w czasie rzeczywistym

Analityka i targetowanie kampanii w Amazon Pinpoint

Google Analytics i Crashlytics do zbierania raportów o awariach

Analityka w czasie rzeczywistym, analiza kohortowa, praca z Big Data i eksport do innych usług

Dodatkowa funkcjonalność

  1. Buduj automatyzację
  2. Ramy geolokalizacji
  3. Narzędzie sztucznej inteligencji
  4. Wiele innych usług platformy Azure

  1. Farma urządzeń
  2. Wzmocnij konsolę
  3. Amazonka Lex
  4. Wiele innych usług AWS

  1. Dynamiczne linki
  2. Testowanie A / B
  3. Zdalna konfiguracja

  1. Optymalizacja aplikacji w App Store. 
  2. Funkcjonalność dla rozwoju studia

integracja

  1. SDK: iOS, Android, Xamarin, Phonegap
  2. Wysoki próg wejścia

  1. SDK: iOS, Android, JS, React Native
  2. Obsługa GraphQL
  3. Wysoki próg wejścia

SDK: iOS, Android, JS, C++, Unity

SDK: IOS, Android, WP, Cordova, PhoneGap, Xamarin, Unity, LUA Corona i wiele innych

Niezawodność i stabilność

Wyjątkowo rzadkie wyłączenia (do 1 raz w miesiącu)

Rzadkie awarie, głównie ostrzeżenia

Są okresy kłopotów i zaciemnień

Brak statystyk

Polityka cenowa

  1. Obliczone na podstawie wykorzystanych zasobów
  2. Trudność w prognozowaniu
  3. Koszt jest wyższy niż w przypadku usług MBaaS

  1. Iskra (bezpłatna)
  2. Płomień (25$/m)
  3. Płomień (za użycie)

  1. Uruchomienie
  2. Enterprise
  3. Agencja

Wszystkie plany są naliczane za użycie

Przeanalizowaliśmy więc 4 usługi w chmurze. Istnieją dziesiątki innych podobnych narzędzi. Nie ma czegoś takiego jak doskonała usługa, więc najlepszą strategią znalezienia właściwej jest jak najszybsze poznanie wymagań swojego dostawcy i kompromisów, na które jesteś gotowy. 
Chcemy, abyś dokonał właściwego wyboru.

Dane dotyczące stabilności pobrane z serwisu https://statusgator.com/
Dane oceny użytkowników pobrane z usługi www.capterra.com

W ankiecie mogą brać udział tylko zarejestrowani użytkownicy. Zaloguj się, Proszę.

A jakiej usługi użyłeś jako backendu dla swojej aplikacji?

  • Azure firmy Microsoft

  • AWS Amplify (lub mobilne centrum AWS)

  • Google Firebase

  • Kumulo

  • Inne (określ w uwagach)

Głosowało 16 użytkowników. 13 użytkowników wstrzymało się od głosu.

Źródło: www.habr.com

Dodaj komentarz