Atlas: 3 powody, dla których warto używać tego frameworku

22 sierpnia
Atlas: 3 powody, dla których warto używać tego frameworku
Atlas Framework to stworzony przez DataArt kompletny zestaw narzędzi do tworzenia aplikacji w chmurze, na platformie GitHub na licencji Apache 2.0.

Atlas pozwala zapewnić ciągłą integrację (Continuous Integration) oraz ciągłe dostarczanie (Continuous Delivery) od pierwszego dnia projektu oraz pomaga wybrać, wdrożyć i skonfigurować kluczowe narzędzia do migracji do chmury. Jest kompatybilny z .NET Standard i może być używany zarówno w projektach biznesowych, jaki i w roli platformy do nauki oraz testowania nowych integracji.

Stworzenie frameworku Atlas było podyktowane trudnościami, z jakimi spotykamy się realizując projekty dla klientów. Użycie gotowego frameworku pozwala stronie biznesowej zredukować czas rozwoju aplikacji i uniknąć ryzyka związanego z migracją systemu do chmury lub dodawaniem nowej funkcji. Programiści mogą być także zainteresowani kodem samego Atlasa, w tym organizacją modułów, abstrakcjami i użyciem zewnętrznych bibliotek.

Nikita Kozlov (Solutions Architect, DataArt), jeden z twórców projektu, opowiedział o 3 głównych użyciach frameworku:

1. Wsparcie cross-platform

Pisząc w C#, w kontekście runtime możemy mówić o frameworku .NET albo nowocześniejszej platformie .NET Core. Istnieje wiele artykułów na temat migracji z .NET do .NET Core. Trudno jednak znaleźć na GitHubie dobry przykład ilustrujący problemy wiążące się z taką migracją. Autorzy dostępnych materiałów używają prostych aplikacji, znacznie różniących się od systemów, z jakimi mamy do czynienia w realnych projektach. Atlas pomaga zrozumieć jak równolegle obsługiwać oba frameworki, a jednocześnie jakie konsekwencje mogą się wiązać z takim podejściem.

Wyjściowo Atlas został stworzony w .NET Framework 4.5.2., a kompatybilność z .NET Standard 2.0 została dodana później. Projekt pozwala szczegółowo zrozumieć, w jaki sposób to zrobiliśmy.

2. Sandbox dla nowych integracji

Moim zdaniem kod Atlasa sprawdza się w roli piaskownicy. Obejmuje gotowe komponenty, do których można dodać nową funkcjonalność lub wypróbować nowe biblioteki. Atlas ma także gotowe jądro z wbudowaną obsługą wyjątków i mechanizmami logowania, co pozwoli ci sprawdzić nowych dostawców bez rozpraszających szczegółów.

Powiedzmy, że ma do czynienia z brokerem wiadomości i kilkoma serwisami. Jeden serwis wysyła wiadomość, a inny odbiera ją i wykonuje jakąś funkcję. Przypuśćmy, że używałem RabbitMQ, a kiedy przeniosłem się do chmury, zdecydowałem się na wypróbowanie Azure Service Bus. Testowanie nowych integracji jest wygodniejsze w gotowym środowisku – Atlas pozwala na szybkie uruchomienie kilku serwisów na bazie szablonu. Integracja odbywa się za pośrednictwem zewnętrznych komponentów, a Atlas zawiera już odpowiednie abstrakcje. Wystarczy podłożyć prawidłową implementację.

Atlas daje możliwość poznania różnych wzorców architektury w rozwoju oprogramowania, m.in. korelacji wywołań lub logowania strukturalnego.

3. Code conventions

Na starcie projektu, Atlas pozwala nowemu zespołowi wypracować wspólną wizję dotyczącą dzielenia kodu na projekty, lokowania funkcji, etc. Atlas nie narzuca określonych standardów, jest raczej platformą, od której warto zacząć. Łatwiej rozpocząć realizację projektu i zrozumieć, co nie odpowiada zespołowi niż określać standardy od zera.

Atlas wciąż ewoluuje, jesteśmy otwarci na sugestie programistów i informację zwrotną od każdego, kto zdecyduje się go wypróbować.