Some self reflection on my final work
This post is not going to be like the previous posts I have made because in here I am going to summarize and reflect on what I have done and what’s still left to do.
LocalStack: local AWS mocking
In this article I addressed some possibilities on how to make AWS locally — mocking as in running and simulating AWS functionalities locally! We took a look at moto, a pythonic way for mocking some aws components. In our discovery we found that LocalStack, a project that pretty much bundles some Python libraries for some nice AWS mocking support.
Docker & AWS Mocking
Here we wanted to run LocalStack on Docker because we like containers and it’s super easy to use them. We stumbled upon some hiccups with the OS used (I am using Windows 10 Home and Docker does not run on it by default (you need Professional for Hyper-V which is required for Docker on Windows)). This took us some time & investigating but it worked out.
Syncing S3/DynamodDB from different providers/endpoints
We tried to sync S3 buckets & DynamoDB accross different providers/endpoints. This means that we see the live and real AWS as an endpoint and the locally mocked environment as another. We made some bash based prototypes here to try out our ideas. And it worked!
CI/CD environments, why I have chosen Jenkins
We tried to investigate what CI/CD environment to use. We addressed the several options that are available on the market. We had some requirements as in it has to be free, plugin development needs to be available and we can use it in Docker. Jenkins answered all our requirements so we went with Jenkins :)
My hunt for a ‘mentor’
Yeah… This one has gone rather rough so far, I have not yet for a ‘mentor’. A ‘mentor’ for my final work would be someone from a company with experience around the subject who you can go to for some expertise and ask specific questions to — just to get an idea about how things are done in the professional world. I have contacted over 6 companies so far but no none have been able to help me out so far. I have had meetings with some companies/people. The main thing I have taken away from the meetings is that the use case is rather specific and hard to implement in the current CI/CD pipelines/projects they had. Most of the time the ‘only testing’ that is done is done with database seeding.
Shower thoughts
I believe that I have made some decent progress troughout the last couple of weeks but yet I still have a lot to do. Most of the work is hidden in creating the Jenkins plugin and documenting my adventure.
Hower… I am rather ‘scared’ about the success out of this as in am not able to work with a lot of people due to the very specific scope of the topic but I am no matter what still trying to achieve the best results that I can. I am on going to some conferences (thinking of FOSDEM next year in February) and maybe explorer some ideas there which I can use within this project. So… Fingers crossed for the future progress :)