# Intra service communication

**URL:** <https://forum.serverless.com/t/intra-service-communication/3544>\
**Category:** Serverless Architectures\
**Tags:** aws\
**Created:** [January 18, 2018, 2:58pm UTC](https://forum.serverless.com/t/intra-service-communication/3544 "2018-01-18T14:58:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![walshe](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.serverless.com/walshe/32/1032_2.png) [@walshe](https://forum.serverless.com/u/walshe)\
**Post date:** [January 18, 2018, 2:58pm UTC](https://forum.serverless.com/t/intra-service-communication/3544/1 "2018-01-18T14:58:44Z")

</div>

If I got a bunch of api gateway + Lambda microservices and one of them needs to call the other, then should I call it via the api gateway or via the lambda directly ?

---

<div class="post-metadata">

**Author:** ![DavidWells](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.serverless.com/davidwells/32/201_2.png) [@DavidWells](https://forum.serverless.com/u/DavidWells)\
**Post date:** [January 18, 2018, 4:57pm UTC](https://forum.serverless.com/t/intra-service-communication/3544/2 "2018-01-18T16:57:06Z")

</div>

If you can do direct lambda calls that will be cheaper and faster.

You will need to add IAM permissions for services to invoke each others functions.

```auto
provider:
  name: aws
  runtime: nodejs6.10
  iamRoleStatements:
    - Effect: Allow
      Action: [lambda:InvokeFunction]
      Resource: 'arn of other services function I want to invoke'

```
