Enterprise edge and IoT architects considering the K8s ecosystem for tools and architecture quickly recognize that the widest possible choices to develop microservices-based applications that fit well into a CI/CD model are available in the community. This blog post considers the key requirements for CI/CD methodologies from an edge standpoint whether it’s a thick or a thin edge.
Key requirements include,
- Given the scale of most enterprise applications, multiple teams need to work on a given codebase with centralized release management. Different teams work on the user interface, the domain model, business functionality, etc. The methodology needs to support multi-tenancy from a development team standpoint
- Need to support polyglot language and database development
- Need to support Independent load & performance testing
- Support application versioning and rollback
- Support traffic shaping and independent updates for edge applications
While I have added detailed descriptions in the diagram above, we leverage the following AWS services to construct the pipeline:
- AWS CodeBuild – A fully managed continuous integration service that compiles source code, runs tests and produces software packages that are ready to deploy.
- AWS CodeCommit – A fully-managed source control service that hosts secure Git-based repositories.
- AWS CodeDeploy – A fully managed deployment service that automates software deployments to a variety of compute services such as Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda, and your on-premises servers.
- AWS CodePipeline – A fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates.
The next post will discuss why there is no one definition of Edge and the various kinds of ‘Edges’ to expect in the years to come – whether it’s 5G/Travel & Hospitality, Manufacturing or Retail etc.