Ucząc się chmury Azure, jak w każdej innej dziedzinie, ważne jest, by znać nie tylko podstawy teoretyczne, ale przede wszystkim jak w praktyce zastosować zdobytą wiedzę. W tym celu można wykorzystać darmowe usługi dostępne w Azure. Poza tym możliwe jest użycie innych rozwiązań, które wymieniam poniżej w tabeli tj. emulatory i narzędzia uruchamiane lokalnie na Twojej stacji roboczej. Jest to również środowisko, które można wykorzystać w pipeline CI/CD do testowania infrastruktury. Trzeba jednak pamiętać, że poniższe rozwiązania nie odwzorowują w 100% funkcji chmury, ale do testów czy nauki sprawdzą się z pewnością.
| Usługa | Narzędzie | Opis |
|---|---|---|
| Storage (Blob / Queue / Table) | Azurite | Lekki emulator napisany w Node.js. |
| Cosmos DB | Azure Cosmos DB emulator | Lokalna baza NoSQL z Data Explorerem, dostępna też wersja linuksowa w kontenerze (vNext). |
| Service Bus | Service Bus emulator | Kolejki i tematy (topics) uruchamiane jako kontener Docker. |
| Event Hubs | Event Hubs emulator | Streaming zdarzeń lokalnie, obsługa protokołów Kafka i AMQP, uruchamiane jako kontener Docker. |
| Functions | Azure Functions Core Tools | Pełny runtime Azure Functions uruchamiany lokalnie, z triggerami i bindingami. |
| API Management | Self-hosted gateway | Bramka APIM działająca lokalnie / w kontenerze. |
Poza emulatorami wymienionymi powyżej, warto też przyjrzeć się LocalStack dla Azure, który pozwala testować kod infrastruktury bez jej fizycznego wdrażania w chmurze. W odróżnieniu od pozostałych pozycji nie jest to jednak rozwiązanie w pełni darmowe — uruchomienie emulatora wymaga konta i tokena (LOCALSTACK_AUTH_TOKEN).
Możliwości nauki oraz testowania budowanej infrastruktury bez ponoszenia opłat za chmurę jest zatem sporo — warto z nich korzystać.