ACA of ACI for outbound only services

Mike Lee 247 Reputation points
2024-02-15T18:25:42.5366667+00:00

Hello, I'm designing a load testing solution in my company which requires creating 5-10 dozen instances of connections sourced from various Azure data centers in North America. The solution will be containerized so that upon startup the container will run a script to hit our web app, download a few files, and log the results to a SQL server. Each instance should run for 45 seconds. Repeat doing this with say 100 simultaneous instances executing. I was thinking of using ACI and figuring out a way to get the dozens of containers started up and executing at the same time. But then I saw the ACA service and I'm not so sure now. For my use case I'm not looking at using containers to receive traffic from users. Instead it's all about having lots of connections outbound at the same time. Could anyone provide guidance as to whether ACA or ACI would be a better fit over the other? Thanks, Mike

Azure Container Apps
Azure Container Apps
An Azure service that provides a general-purpose, serverless container platform.
419 questions
0 comments No comments
{count} votes

Accepted answer
  1. Sam Cogan 10,582 Reputation points MVP
    2024-02-18T17:17:48.0133333+00:00

    If you just need a single container in each region, and they are not running for a long time, then you are best of using ACI. It will be much quicker to deploy and likely cheaper and easier to manage. ACA is really more intended for longer running services, where you have multiple containers and need external ingress. Have you consider the Azure Load Testing service, which may do some of this for you?


1 additional answer

Sort by: Most helpful
  1. Pinaki Ghatak 4,290 Reputation points Microsoft Employee
    2024-02-19T18:57:26.8133333+00:00

    Hello Mike Lee

    Both Azure Container Instances (ACI) and Azure Container Apps (ACA) have their own strengths and are suited for different scenarios.

    Azure Container Instances (ACI) provides a single pod of Hyper-V isolated containers on demand. It can be thought of as a lower-level “building block” option compared to Container Apps. Concepts like scale, load balancing, and certificates are not provided with ACI containers. For example, to scale to five container instances, you create five distinct container instances12. If you just need long running jobs or you don’t need multiple containers to communicate with each other, you can go with Azure Container Instances.

    On the other hand, Azure Container Apps (ACA) enables you to build serverless microservices based on containers. Distinctive features of Container Apps include: optimized for running general purpose containers, especially for applications that span many microservices deployed in containers. It supports Kubernetes-style apps and microservices with features like service discovery and traffic splitting. It enables event-driven application architectures by supporting scale based on traffic and pulling from event sources like queues, including scale to zero. Given your use case of having lots of connections outbound at the same time, you might want to consider the following:

    In conclusion, both services have their own strengths and the choice between ACI and ACA would depend on the specific requirements of your use case. It’s always a good idea to experiment with both and see which one fits your needs better.


    If this information provided here helps solve your issue, please tag this as answered, so it helps further community readers, who may have similar questions.

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.