Posts

Vegeta Attack and Azure Container Instance

Image
  Abstract This is common mistake and observation. Most of the time customers ignore Load testing for their web based applications keeping too much trust on cloud scale infrastructure and services. It is good to trust on cloud scale model however not every application problem can be solved by just scaling underlying cloud infrastructure to support growing volume.   Cloud scalability should be entrusted with proper testing framework for your application and this is where “load testing” performs an important role. Load testing is really important to understand “how your application is performing under the expected load, unexpected load, sudden spiked load”.   While working with few of the big organizations in recent times I have observed “Load testing” has been made too much of a complex thing to achieve. In reality it is simple if you do it in part and test individual components of the system. Most critical part of the today’s software systems is API layer.   In this ...

Vegta For Performance Testing

Image
Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a command line utility and a library. Repo:   https://github.com/tsenart/vegeta How to do load testing There are a lot of different tools to help with load testing. The way they typically work is you construct an HTTP request, like  GET http://www.example.com/some/path  and tell the tool to send 1000 requests per second to it for 60 seconds. Usually you’ll get some form of report — typically in plain-text or graphical form which you can interpret. The tools that work this way are too numerous to list, but some popular ones are  Apache JMeter ,  Apache Bench (ab) ,  Siege , and cloud-based tools like  Loader.io . The problem with basic load testing In complex systems often there is often some kind of caching involved when processing a HTTP request. For example perhaps you have an API which takes some data, per...

Azure Pipelines vs. GitHub Actions

Image
  I am a big fan of Azure Pipelines (and Azure DevOps). Being one for years. Azure Pipelines is a very mature and powerful tool. Azure DevOps/Pipelines was built with the enterprise in mind and it works really well for the enterprise world. It allows you to create workflows that automatically build, test, publish, release, and deploy code to provide end-to-end traceability of the software development lifecycle. . Then, out of the blue, Microsoft buys GitHub in 2018 and starts immediately expanding GitHub functionality. Over last two years, there have been so much innovation and improvement in GitHub functionality: advanced security, secret scanning, package management, codespaces, insights, dependabots, projects, innersource management, and of course, GitHub Actions. There is so much awesomeness to cover! But, let’s stay focused on GitHub Actions for now (and, perhaps, cover other items in future posts.) GitHub Actions is an excellent CICD tool to automate your software workflows t...