awslabs / app-development-for-backstage-io-on-aws

A developer portal to meet your Enterprise needs. Fast, secure, and at-scale.
https://opaonaws.io/
Apache License 2.0
157 stars 26 forks source link

Deployment on AWS EKS #91

Open omi-jbrivero opened 2 weeks ago

omi-jbrivero commented 2 weeks ago

Please describe your question here

Hello, do you have any existing guides on how can we deploy this on our AWS EKS and uses GitHub? I tried to look on the guides but had no luck.

Much appreciated!

z-sourcecode commented 2 weeks ago

Hi @omi-jbrivero , Thanks for reaching out! We are going to release GitHub integration very soon, so you can choose which source control you want to use when provisioning templates.

It should be straight forward to take the existing EKS template and adjust it to GitHub instead of gitlab. please note that for GitHub you will need to implement corresponding pipeline to provision the IAC for EKS(We provide a pipeline implementation for gitlab but not for GitHub). based on your preference and CICD tool you can use the GitHub hook event to trigger GitHub Action or Jenkins or any other tool.

Thanks.

omi-jbrivero commented 2 weeks ago

Hello @z-sourcecode ,

Do I need to just follow this guide https://opaonaws.io/docs/getting-started/deploy-the-platform#installation-1 in order for me to implement this on our EKS Cluster? Currently, I have a corresponding terraform code for VPC, RDS, and EKS but I am kinda lost on how to implement backstage since I am trying a lot of ways to implement it.

Currently I am try to create a POC for my company (and we use AWS workloads btw) and this will be our first kubernetes implementation. I hope that you can share some insights with me :)

z-sourcecode commented 2 weeks ago

Hi @omi-jbrivero Deploying OPA on AWS as is will provide you with a working platform with pre-made templates, gitlab community edition and pipelines to deploy the templates and integrate with backstage schema. https://opaonaws.io/docs/features#templates https://github.com/awslabs/app-development-for-backstage-io-on-aws/tree/main/backstage-reference/templates

Once the platform is deployed you'll be able to provision EKS provider(cluster) and EKS application right out of the box.

In addition, you'll be able to do local development and build your own templates(i.e: EKS using terraform). checkout running the platform locally https://opaonaws.io/docs/techdocs/customizations

omi-jbrivero commented 2 weeks ago

Hello @z-sourcecode ,

Thanks for a detailed explanation. To be concise, can we deploy OPA on AWS without using GitLab? Currently, we are using GitHub and CircleCI as our CICD.

Based on my understanding, those templates whose link you provided were the "features" once the Backstage is up and running. What if I am starting from nowhere? I believe you told a while ago that you are working on a version where we can use Github, maybe you can share with us a timeline for this one?

Lastly, if you can have also a comprehensive guide on how can we start apart from having GitLab :)

I appreciate your efforts on helping me on this journey.

z-sourcecode commented 1 week ago

Hi @omi-jbrivero Yes it is possible, we have done this for customers who use other source control management systems such as GitHub, However this requires customization(removal of gitlab hosting and runner constructs) from the platform stack: https://github.com/awslabs/app-development-for-backstage-io-on-aws/tree/main/iac/roots/opa-platform

The templates provided are we built for demonstration based on common pattern we have seen at various development teams. those template are fully functional and include: Infrastructure as code, pipelines, and OPA/Backstage schema update(for UI and day2 operations). You may want to copy them and change them to your preferences.

In regards to GitHub, we have implemented GitHub integration for a customers and already finished that work. We are planning to publish it soon - so OPA on AWS will support Gitlab, GitHub and future SCM(separately and all together as well). Due to existing commitments and coming events we can't say exactly when we will publish it but likely very soon.

We don't have specific documentation of separating gitlab from the existing setup but i hope the link above will help.

Thank you for your feedback and support