<p>I'm working with microservice architecture using Azure AKS with Istio.</p>
<p>I configure all, and developers work with microservices to create the web platform, apis, etc.</p>
<p>But with this, I have a doubt. There is much yaml to configure for Istio and Kubernetes, e.g. <code>Ingress</code>, <code>VirtualService</code>, <code>Gateway</code> etc.</p>
<p>Is this configuration, part of the developer responsibility? should they create and configure this? or is these configuration files part of the responsibility for the DevOps team? so that developers only is responsible for creating nodejs project, and the DevOps team configure the nodejs project configuration to execute in k8s architecture?</p>

<p>A developer needs to</p>
<ol>
<li>focus on his business logic.</li>
<li>Also know where his code is going to run and under what kind of env.</li>
</ol>
<p>The 1) is quite obvious here. The 2) is usually not implicit at times and actually I think if the dev think they do not own the runtime configuration then its like throwing the responsibility over the wall.</p>
<p>Lets say for example if the app is going to be exposed by an ingress controller the
app-dev needs to ensure</p>
<ul>
<li>that app works well with http and https traffic (incase we are doing ssl passthrough).</li>
<li>all the resource url/paths and the right ports are exposed and registered with the ingress.</li>
</ul>
<p>The same argument can be extended to other resource types. say Virtual Machines or Deployment specs.</p>
<p>Now if the dev believes these are not their responsibility is not to write these yaml files, they still need to document the contract of what their service needs with another &quot;person&quot; to enable them to write the configs. But aren't the yamls themselves that contract?</p>
