What is our primary use case?
My main use case for LocalStack is to validate Docker services that are using AWS components like DynamoDB or SQS queues, things around AWS products.
A quick specific example of how I use LocalStack is that our product uses a lot of DynamoDB, so I need an instance that simulates DynamoDB when our microservices are contacting with the database repository. In this case, LocalStack provides the DynamoDB mock that allows us to validate and test our services.
What is most valuable?
The best features LocalStack offers include an extensive simulation of several AWS products, such as DynamoDB, SQS, and authentication. Several products facilitate the lives of software engineers when coding and testing connections or data from DynamoDB or storing that data. It is very important to have pre-made mocks instead of wasting time creating them to test our microservices. This is a great help.
LocalStack positively impacts my organization because it is used across the organization, increasing the productivity of all team members, not just developers but also QAs sometimes. It is an extensive tool with many AWS products, and since we are in a company that primarily works with the AWS cloud, this is very positive and easy to work with LocalStack. We do not have many configurations to do or anything very tricky; we just lift a Docker container with configurations available on the internet, making all developers and QAs very productive and contributing to the increased delivery of our product organization.
What needs improvement?
LocalStack can be improved by enabling all premium features, but that is not the case. It could be more similar to the AWS product in some cases, depending on the AWS product we are using, particularly in simulating the bandwidths we use with AWS products. If it could simulate those bandwidths, the tests would be more reliable regarding performance, and additional functionalities like those in AWS products could be provided in LocalStack. As AWS products always improve and change, LocalStack must keep up with those changes more quickly.
I do not have much to add about needed improvements other than that the UI/UX of LocalStack is very good and friendly. LocalStack could provide a file to configure the Docker containers that allow us to start LocalStack without needing to search the internet; we could download that file, for instance, instead of following the documentation, which would greatly improve the lives of the developers.
For how long have I used the solution?
I have been using LocalStack for about three years and some months.
What do I think about the stability of the solution?
LocalStack is very stable, and I have not experienced bugs or breakdowns. The only caveat is that some AWS features are missing, but other than that, it remains very stable.
What do I think about the scalability of the solution?
I cannot answer how LocalStack's scalability is because we have not used it for performance tests; we have only conducted local tests individually by programmers and QAs. For performance tests, we used the real AWS, employing tools like JMeter and BlazeMeter instead of LocalStack.
How are customer service and support?
I would describe the customer support of LocalStack as great since I have never needed it; not needing customer support is a positive aspect in my view.
Which solution did I use previously and why did I switch?
We did not have a different commercial solution before; it was custom mocks created by us with Docker containers, solely through code implementation. We also had some mocks using Mockoon, but they did not simulate AWS products.
What was our ROI?
In terms of return on investment, we do not have a metric for fewer employees needed because we are increasing our workforce due to many projects. However, I can state that time saved is about ten to fifteen percent across the company in the testing area, not in the implementation area but in testing. Consequently, since time is saved, we have also saved about five percent of the money. This is not equal to the time saved because we have no costs with LocalStack, but it is approximately that much.
I can share specific outcomes or metrics I have seen as a result of using LocalStack. We eradicated the time we spent maintaining custom mocks, which was about ten hours per month, and we also eliminated the time spent creating mocks, which could take around two or three days for each mock, depending on the project. Additionally, the time spent testing is reduced by about twenty percent because LocalStack is very reliable, while the mocks we created always required tweaks to make them work. That increased productivity, and we have specific metrics reflecting that.
What's my experience with pricing, setup cost, and licensing?
I have not encountered licensing or pricing issues, as we are using the free version, and the setup cost is insignificant because it is easier to set up LocalStack.
Which other solutions did I evaluate?
I did not evaluate other options before choosing LocalStack because it was the first solution that came to mind, and after searching the internet, I found it to be a great product. I did not feel the need to spend time evaluating other options since we are using the free version. If we decide to transition to the paid version in the future, then we may need to evaluate other options to see which is best for our company.
What other advice do I have?
I would like to add that LocalStack is an excellent provider or simulator for DynamoDB, so we can rely on the results at least at the local level. However, we must perform the performance tests with AWS itself because we need to evaluate the performance and also the user experience with the actual latency that is provided by AWS.
LocalStack is deployed on-premises, specifically used on each local computer of the developers. We do not have a central installation of LocalStack; each one of us has an installation on our local computer to conduct local tests before performing further tests with AWS.
My advice for others looking into using LocalStack is that if they are working with AWS products, it provides great value because it offers most AWS products for free and simulates them quite well, allowing us to create services, microservices, or Docker containers that communicate with these products. You can simulate almost all the main operations you need to test and then have the confidence to test with the actual AWS components in the cloud.
My additional thought about LocalStack is to encourage them to keep up the good work with the product and improve LocalStack components, as I trust the market will adopt LocalStack because it is a very good product. I would rate this product nine out of ten.
Which deployment model are you using for this solution?
On-premises
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)