Visual Studio Code (VS Code) is een populaire en veelzijdige code-editor die onze productiviteit enorm kan verhogen wanneer we werken met AWS (Amazon Web Services) resources. Door tools zoals AWS CLI en AWS SAM CLI te integreren in VS Code, kunnen we onze ontwikkeling, tests en implementatie van serverloze applicaties op AWS stroomlijnen. In deze blogpost leiden we je door het proces om VS Code in te stellen voor AWS-ontwikkeling en leggen we uit hoe belangrijk het is om AWS CLI en AWS SAM CLI te installeren, inclusief instructies om ze in te stellen.
Belangrijk:Je hebt een IAM-rol (Identity and Access Management) nodig als je met AWS CLI en AWS SAM CLI werkt (deze rol moet basisrechten hebben en AWS Lambda-functies kunnen gebruiken). Om AWS tools te configureren moet je je Access Key ID en Secret Access Key kennen.
VS Code biedt tal van functies die het een uitstekende keuze maken voor het werken met AWS:
Je moet Python installeren op je machine, als je dat nog niet gedaan hebt. Ik raad sterk aan om al je Python-installaties te beheren met Pyenv. U kunt hier meer informatie vinden over hoe u dat kunt doen.
Virtuele omgevingen zijn nuttig in situaties waar we meerdere Python-installaties op ons systeem hebben en verschillende applicaties vertrouwen op verschillende Python-versies. Door gebruik te maken van virtuele omgevingen kunnen we gescheiden omgevingen maken voor elke applicatie. Deze isolatie zorgt ervoor dat een applicatie onafhankelijk werkt binnen zijn aangewezen omgeving, gebruikmakend van de gespecificeerde Python-interpreter en standaardbibliotheek. De globale omgeving heeft geen invloed op de virtuele omgeving en wijzigingen die binnen de virtuele omgeving worden gemaakt, hebben geen invloed op de externe omgeving.
Elk pakket dat via pip install wordt geïnstalleerd, bevindt zich alleen binnen het domein van de virtuele omgeving. We kunnen het programma nu in de Virtuele Omgeving draaien en het zal geïsoleerd van de globale context draaien.
Zoals eerder opgemerkt, raad ik aan om pyenv en pyenv-virtualenv te gebruiken om toekomstige hoofdpijn te voorkomen.
AWS CLI (Command Line Interface) is een opdrachtregeltool van AWS waarmee we AWS-services en -bronnen kunnen beheren en ermee kunnen communiceren door middel van tekstopdrachten. Hiermee kunnen we taken automatiseren, workflows scripten en AWS-functionaliteit in applicaties integreren.
Met AWS CLI kunnen we bronnen aanmaken en configureren, opslag en databases beheren, instanties starten en beëindigen, gebruikers en machtigingen beheren en nog veel meer. Het vereist configuratie met AWS-referenties en biedt een consistente ervaring op verschillende besturingssystemen. In essentie is AWS CLI een krachtig hulpmiddel voor het beheren van AWS via de opdrachtregel.
We zullen het installeren met behulp van Homebrew:
Open Terminal en voer de volgende opdracht uit om AWS CLI te installeren: brew install awscli
Eenmaal geïnstalleerd, controleer de installatie door aws --version uit te voeren in de terminal. Je zou het versienummer moeten zien als de installatie succesvol was.
Kanttekening:
Wanneer je Homebrew gebruikt om pakketten te installeren, worden ze meestal geïnstalleerd in de systeemmappen, zoals /usr/local/, /usr/local/bin/, of andere locaties op systeemniveau, afhankelijk van het pakket. Homebrew beheert deze installaties op systeemniveau en regelt afhankelijkheden tussen pakketten.
Virtuele omgevingen daarentegen zijn specifiek voor Python en bieden geïsoleerde Python-omgevingen met hun eigen pakketinstallaties, los van de systeembrede pakketten. De pakketten die met pip geïnstalleerd worden in een virtuele omgeving staan in de virtuele omgevingsdirectory en interfereren niet met de systeembrede pakketten die beheerd worden door Homebrew.
Samengevat dienen Homebrew en virtuele omgevingen verschillende doelen. Homebrew beheert pakketten en installaties op systeemniveau, terwijl virtuele omgevingen Python-specifiek zijn en Python-pakketten isoleren binnen de virtuele omgevingsdirectory.
AWS SAM CLI breidt de mogelijkheden van AWS CLI specifiek uit voor serverloze applicatieontwikkeling.
Met SAM CLI kunnen we onze serverloze toepassingen definiëren met behulp van het SAM-sjabloon (Serverless Application Model) van AWS, wat de inzet en het beheer van serverloze bronnen op AWS vereenvoudigt.
Met SAM CLI kunnen we onze serverloze toepassingen lokaal testen, AWS Lambda-functies simuleren en code debuggen. Het biedt een lokale ontwikkelomgeving die de AWS Lambda-uitvoeringsomgeving dicht benadert, waardoor snellere iteraties in de ontwikkeling mogelijk zijn.
Daarnaast vergemakkelijkt SAM CLI de implementatie van serverloze applicaties op AWS. Het verpakt onze applicatiecode en afhankelijkheden, voorziet de benodigde AWS-resources en zet de applicatie uit op de doelomgeving van AWS. Dit maakt het eenvoudiger om het implementatieproces voor serverloze applicaties te beheren en te automatiseren.
Voer de volgende opdracht uit om AWS SAM CLI te installeren (wederom met behulp van Homebrew):
brew tap aws/tap brew install aws-sam-cli
Eenmaal geïnstalleerd, controleer de installatie door sam --version uit te voeren in de terminal. Je zou de versie-informatie moeten zien als de installatie succesvol was.
Voordat je AWS CLI of AWS SAM CLI gebruikt, moet je ze configureren met je AWS referenties:
aws configure uit in de terminal.De configuratie is nu voltooid en AWS CLI is klaar voor gebruik.
SAM CLI vereist Docker om een lokale omgeving te bieden die de AWS Lambda-uitvoeromgeving nauwkeurig repliceert. Docker is een containerisatieplatform waarmee applicaties kunnen draaien in geïsoleerde omgevingen die containers worden genoemd.
Door Docker te gebruiken, vereenvoudigt SAM CLI de lokale ontwikkel- en testervaring voor serverloze applicaties, door consistentie te garanderen en de wrijving tussen de lokale ontwikkelomgeving en de daadwerkelijke AWS Lambda-omgeving te verminderen.
Het is de moeite waard om op te merken dat hoewel SAM CLI Docker gebruikt voor lokale ontwikkeling, het niet vereist is voor het implementeren en uitvoeren van serverloze applicaties op AWS. In de AWS-cloud worden Lambda-functies uitgevoerd op beheerde infrastructuur zonder dat Docker nodig is.
Zie Docker voor meer informatie en downloadinstructies.
Om gebruik te maken van de kracht van AWS CLI en AWS SAM CLI binnen VS Code, kun je de volgende extensies installeren:
AWS Toolkit: Deze officiële AWS-extensie biedt een reeks tools voor het werken met AWS-resources. Het biedt functies zoals resource exploratie, deployment management en debuggen van serverloze toepassingen.
Python: Als je Python gebruikt voor de ontwikkeling van je serverloze applicatie, installeer dan de Python-extensie om te profiteren van functies als linting, codeopmaak en Python-specifieke debugging.
Door AWS CLI en AWS SAM CLI te installeren en gebruik te maken van de beschikbare extensies, kun je je AWS-ontwikkelworkflow stroomlijnen, de ontwikkeling van serverloze applicaties versnellen en de algehele productiviteit verbeteren. Profiteer van de rijke functies en integraties die VS Code biedt om het volledige potentieel van AWS-services te ontsluiten.
In de volgende blogpost bekijken we hoe je deze infrastructuur kunt gebruiken voor het instellen en implementeren van een AWS Lambda-functie.