Dynamodb: la base de datos de clave-valor y documentos de Amazon que ofrece rendimiento en milisegundos de un solo dígito a cualquier escala.
Estos últimos días estuve jugando con algunas herramientas de aws. Entre ellas estuvo dynamodb: una base de datos nosql bastante económica en comparacion a postgres o mysql/
Los tutoriales están bastante buenos y son para distintos lenguajes. Pero cuando arrancó a praticar con una herramienta nueva, no me gusta tener que empezar a instalar cosas porque todavia estoy en fase de descubrimiento y muchas veces no sé porque instalo lo que estoy instalando. Y después me olvido de desinstalarlo.
Por eso me gusta usar docker, porque en el peor de los casos borro todas las images, containers y volumenes y ya está. Pero muchas veces es dificil de encontrar el docker-compose que más no sirve. Así que aquí les comparto uno que armé
Aquí tengo 3 imagenes:
- Una de python donde van a ir todos los scripts que utilizaré para practicar.
- Otra imagenes para el container especifico de dynamodb.
- Y un tercero para una gui, una interfaz browsable, para poder interactuar con dynamodb. Digamos que esta ultima es como un pgadmin/phpmyadmin/adminer.
Ademas de esta imagen se necesita un archivo .env para compartir con los containers las credenciales y la region
DYNAMO_ENDPOINT=http://dynamodb:8000
AWS_REGION=argland
AWS_ACCESS_KEY_ID=bar
AWS_SECRET_ACCESS_KEY=foo
El Dockerfile para python es muy sencillo
FROM python:3.8-alpine
RUN apk add --update --no-cache --virtual .build-deps \
build-base \
gcc \
musl-dev \
libffi-dev
WORKDIR /code
RUN pip install -U pip
RUN pip install boto3 ipython ipdb black pylint
COPY . /code
CMD ["ash"]
Para empezar a jugar solo resta ejecutar: docker-compose run --rm pydy ipython