Strona Główna / Blog

10 Rzeczy, Które Mnie Wkurzają w AWS

Sebastian Nowak

Sebastian Nowak

10 rzeczy, które mnie wkurzają w AWS

Pracuję z AWS od kilku lat. Lubię AWS jak mało co na świecie.

Zanim napiszę o 10 rzeczach, które lubię w AWS, postanowiłem napisać co mnie wkurza w AWS.

Uwaga: będę narzekał. Osoby wrażliwe: proszę nie czytać :)

Osoby decyzyjne z innych chmur: czy poniższe zastrzeżenia są prawdziwe także u was? Uznajcie poniższą listę za fachowy feedback zatroskanego użytkownika i popracujcie nad tym.

1. Brak konsekwencji w interfejsie konsoli

Czy każdą usługę pisał inny zespół programistów, a team leader odpowiadający za spójność akurat urlopował się nad polskim morzem? W niektórych miejscach jest przycisk odświeżania zawartości, w niektórych go nie ma. Jedne tabelki można sortować, drugich – nie. Czasem można wyszukiwać, czasem nie. Niektóre linki do zasobów AWS można otworzyć bez problemu w nowej zakładce przeglądarki internetowej, a niektórych nie można, ponieważ ich otwarcie obsługuje JavaScript. I tak dalej… Patrząc na rozwój usług, można odnieść wrażenie, że w pewnym momencie wprowadzono nowy UI. Czyli wszystkie nowe usługi będą z niego korzystać, a stare z czasem zostaną przepisane. Prawda? Ano, nieprawda. Powstawały nowe usługi, pojawiały się kolejne wersje interfejsu – a ja w końcu straciłem nadzieję, że wszystko zostanie ujednolicone.

2. Brak informacji o położeniu

Już nie mówię, żeby w tytule strony znalazł się dokładny opis gdzie jesteśmy dokładnie, w jakiej usłudze czy w jej dziale. Ale przydałaby się chociażby favikonka dla każdej z nich. Trudno się połapać, gdy ma się otwartych multum zakładek z np. EC2. W której są instancje? W której otworzyłem loadbalancery? W której mam grupy autoskalowalne? Do tego Chrome nie ułatwia i zacieśnia wielkości zakładek – jak żyć?

3. Brak szczegółowych informacji o usłudze, jej ficzerach i detalach błędów

Niektóre z nich (usług) są bardzo zamknięte na komunikowanie o swoim stanie. Na przykład taki CodeDeploy potrafi pokazać, że wystąpił błąd, a czasem pokaże tylko „failure” bez informacji o co chodzi – trzeba wtedy debugować w logach agenta zainstalowanego na instancji. Okej, żeby nie było, że tylko o CodeDeploy marudzę. Weźmy taki load balancer i proste pytanie: „Dlaczego instancja jest OutOfService?”. Rozumiem, że zfailowała kilka razy przy healthchecku – ale DLACZEGO?! Jaka była odpowiedź serwera, że ELB ją wypiął? Tak, wiem że są logi… można sobie do S3 pchać, co 5 minut, a potem pobrać i przedzierać się przez megabajty danych – super partia!

4. Brak możliwości zalogowania się na kilka kont jednocześnie z jednej przeglądarki

To jest okropne. Dobrze, że chociaż dodali możliwość szybkiego przełączania się między nimi… aczkolwiek nie jest to idealne – patrz punkt następny.

5. Możliwość przełączania między kontami

To jest ok, ale konfiguracja powinna być trzymana po stronie AWS, a nie w cookie przeglądarki! Teraz w każdym miejscu, w którym loguję się do AWS, muszę ustawiać wszystkie konta. Oczywiście, w trybie incognito lub po skasowania historii/cookies muszę ustawiać to od nowa i pamiętać nazwy kont lub pełne, liczbowe ID.

6. Dokumentacja czasami bardzo boli

Ilość wątków, w jakie wpada się podczas jej czytania, jest masakryczna. Przykładem jest CodeDeploy, którego tajniki zacząłem zgłębiać zaraz gdy się pojawił. Sporo czasu zajęło mi wyłuskanie z niego podstawowych informacji jak się tego w ogóle używa. Pomijam fakt, że „yaml” którego używa AWS w appspec.yml obok yamla raczej nie stał ;)

7. Brak wersjonowania dokumentacji!

Na blogu nie piszą o wszystkich nowościach i update’ach, przez co można przeoczyć istotne zmiany w usługach. Po jakimś czasie wracam do dokumentacji, ponieważ coś nie działa lub trzeba wdrożyć gdzie indziej lub chcę odświeżyć wiedzę – i wtedy okazuje się, że doszło tyle ficzerów, że mam z głowy parę godzin. A nie mam przecież paru godzin! Changelog nie boli!

8. Support i kontakt

Płatny support i szybkość kontaktu na podstawie priority?! Wszyscy będą ustawiać „Urgent” ;) Pomijam kwestię, że zaangażowanie supportu jest mocno zależne od humoru dnia i kompetencji człowieka po drugiej stronie…

9. Sporo funkcji długo czeka na pojawienie się w UI, mimo że przez długi czas są już dostępne w API

Tak było np. z autoskalowaniem. Do tej pory wiele jest miejsc, które dostępne są tylko za pomocą API (awscli). Przykład: deployment-cycle hooki w CodeDeploy, których nawet nie widać w UI, a które tworzą się automagicznie i raz spowodowały wysyp aplikacji na produkcji. Dzięki supportowi byłem w stanie wydedukować co się dzieje i usunąć hooka, który blokował wpięcie instancji do ASG.

10. Nie, bo nie

Bywa, że czegoś nie możemy dodać/zmienić, i nie wiadomo właściwie dlaczego. Przykład: monitorowanie zachowań grupy autoskalowalnej w CloudWatch można ustawić tylko podczas jej tworzenia. Nie można potem włączyć/zmienić. Jest tylko podgląd, co zostało wybrane – strzelam, że przez API się da.

Ufff…

…wyładowałem swoją frustrację :) To zaledwie 10 rzeczy, które przychodzą mi do głowy na szybko. Pewnie znalazłoby się ich więcej. Widocznie te najbardziej siedzą w mojej głowie i wołają głośno: AWS, ogarnij się!

Ale spokojnie. Nie myśl, czytelniku, że jest tak źle. Wręcz przeciwnie. W następnym odcinku napiszę co mnie w AWS urzeka. Do usłyszenia.

Dołącz do listy mailingowej!

Dołącz do naszego newslettera

Staramy się wysyłać tylko wartościowe informacje, np. co miesiąc dostaniesz spis najważniejszych nowości z chmur Azure, AWS i GCP, z krótkimi opisami i linkami.