Wprowadzenie
Jako inżynier oprogramowania w firmie Tailwind Trader odpowiadasz za aplikację na stronie internetowej planowania urlopu firmy, która pomaga klientom dodawać, edytować, wyświetlać i usuwać plany na listach życzeń urlopowych. Interfejs API, który jest hostowany na serwerze z systemem Node.js i platformą Express, ma kluczowe znaczenie dla sukcesu aplikacji. Zarządzanie serwerem i skalowanie aplikacji w górę i w dół w razie potrzeby jest trudne przy jednoczesnym zminimalizowaniu kosztów.
Aplikacje oparte na serwerze
Aby korzystać z bieżącej aplikacji i serwera Express, musisz:
- Napisz kod, w tym niezbędne oprogramowanie pośredniczące i logikę wymaganą do uruchomienia i uruchomienia serwera.
- Konfigurowanie i obsługa sprzętu i oprogramowania serwera fizycznego.
- Zarządzanie skalowaniem aplikacji w górę i w dół w miarę wahań zapotrzebowania.
- Zarządzanie kosztami wdrażania i uruchamiania serwera.
Aplikacje bezserwerowe
Przeniesienie aplikacji planowania urlopu do architektury bezserwerowej, takiej jak Usługa Azure Functions, może zaoferować kilka korzyści.
Architektury bezserwerowe mogą znacznie zmniejszyć obciążenie związane z zarządzaniem serwerem. Zadania takie jak poniżej nie są już problemem:
- Konfigurowanie i konserwowanie sprzętu i oprogramowania serwera.
- Zarządzanie skalowaniem serwera na podstawie zapotrzebowania.
- Obsługa kosztów wdrażania i operacji serwera.
Usuwając te zadania, zespół inżynierów oprogramowania może skupić się bardziej na tworzeniu i ulepszaniu funkcji aplikacji, a nie na zarządzaniu infrastrukturą.
Architektury bezserwerowe są automatycznie skalowane w górę i w dół na podstawie zapotrzebowania, dzięki czemu aplikacja może obsługiwać szczytowe czasy użycia bez interwencji ręcznej. Może to prowadzić do oszczędności kosztów, ponieważ płacisz tylko za rzeczywisty czas obliczeniowy.
Przejście na bezserwerowe nie musi wymagać pełnego ponownego zapisywania aplikacji. Ponieważ kod nie jest bezpośrednio powiązany ze strukturą, taką jak Express, ta migracja jest potencjalnie wydajnym i opłacalnym rozwiązaniem umożliwiającym uzyskanie skalowalności i wydajności aplikacji planowania urlopu.