akamai-consulting / akamai-starterkit

MIT License
4 stars 0 forks source link

What is this?

This is a demo and template for development teams working with Akamai. This template gives you 3 things:

  1. A fully configured IDE/local development environment via VSCode DevContainer. The environment can be extended by any team and provide standardized tools and consistent local development across your team.

  2. Templates to track Akamai configuration and infrastructure as code(IaC) via Terraform. Yeah no more clicking buttons in a UI. Every change can be tracked managed and seamlessly moved from environments.

  3. GitHub Actions for supporting a Github pull request based workflow. The union of Terraform and GitHub actions unlocks complete on-demand Akamai environments. Developers can test their code in a real environment before submitting it for a code review and merging to a shared environment. Want integration environments to support your preferred workflow? No problem. Prefix branch names corresponding to your environments with "integration-*". Like automated testing? OOTB builds can leverage Chromium, Puppeteer and Jest to test deployments!

Why should I care?

Resources to get started:

Additional Resources

Existential Questions

Any solution implies new problems :)

Farewell to managing IaC resources in the UI

Working with Infrastructure as Code(IaC) stored in version control(VCS) requires a mindshift change. Akamai was traditionally managed via the web-ui portal. That was the system of record. When you switch from being UI centric to IaC you need to delineate which things are being managed by code and STOP editing them via the web. The IaC is supposed to be the system of record. If you are making changes to the UI and then backporting them to the IaC you are doing it wrong! Instead make the change to IaC and let an IaC deployment make the change for you.

You may need to start to limit UI access as you embark on this journey to protect against this situation.

Supporting IaC customers

Akamai personnel are traditionally granted access to customer accounts as their responsibilities dictate. Nothing is changing there. However, when code starts being managed in IaC things get messier. Akamai does not provide VCS systems. The VCS where IaC is stored is owned by the customer. Customers may in some cases provide accounts for Akamai support teams. But this may not be universally true. Some work arounds might be:

Glossary

Terms

This project is unofficial and unsupported by Akamai Inc. It represents an individual effort to make working with Akamai easier.