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.
Już 21 czerwca dowiesz się, jak możesz wykorzystać AI w Twojej firmie. Damian Mazurek i Piotr Kalinowski wprowadzą Cię w świat sztucznej inteligencji i LLM.
Przed nami nowy rozdział! Chmurowisko dokonało połączenia z polskim Software Mind – firmą, która od 20 lat tworzy rozwiązania przyczyniające się do sukcesu organizacji z całego świata…
Grupa Dynamic Precision podjęła decyzję o unowocześnieniu swojej infrastruktury. Razem z Oracle Polska prowadzimy migrację aplikacji firmy do chmury OCI.
Już 21 czerwca dowiesz się, jak możesz wykorzystać AI w Twojej firmie. Damian Mazurek i Piotr Kalinowski wprowadzą Cię w świat sztucznej inteligencji i LLM.
Zapisz się do naszego newslettera i
bądź z chmurami na bieżąco!
z chmur Azure, AWS i GCP, z krótkimi opisami i linkami.