Table of Contents
Quickly changing software requirements are an important aspect of businesses and cloud is regarded as a catalyst here to this new definition of software generation and diminishing requirements of traditional software architectures. Systems are no longer built for eternity but rather for changeability. ‘Conway’s law’ has influence on companies as it also shows how law can be used as a tool to use cloud native.
Today we look more in detail about AWS proton, a service for code provisioning and deployment of serverless and container based applications and how Conway’s law has its impact in defining cloud native architectures.
Conway’s Law-as-a-Service and AWS Proton
JavaScript expert Douglas Crockford 2 knows that the structure of software systems reflects the structure of the organization that produces them. As the structure of a company is not always rigid but changes the IT infrastructure must also adapt accordingly else incompatibilities will arise between company and infrastructure.
AWS has launched ‘Proton’ a tool to help in infrastructure automation and code deployments but it is not just like any other CodePipeline tool because it is designed more for organizational purposes. It allows IT teams to centralize and standardize traditional patterns in infrastructure which can be available to developers for code deployments.
AWS Proton solves the application deployment problem in a way which is incompatible to organization structure.
Platform teams can use Proton and versioned infrastructure as code templates. These templates can be used to define, and manage standard application stacks which contain the architecture, infrastructure resources, and CI/CD software deployment pipeline.
Developer teams use AWS Proton self service interface to choose service template, select a standardized application stack definition for code deployments. It automatically provisions resources, configures the CI/CD pipeline, and deployment of code in defined infrastructure.
AWS Proton Workflow
- As administrator creation / registration of environment template with AWS proton is done which defines shared resources
- AWS proton deploys one or more environment based on template
- As administrator you can create/register a service template which defines related infrastructure, monitoring, and CI/CD resources as well as environment variables which are compatible
- As a developer select a registered service template and provide link to source code repository
- AWS Proton provisions service with CI/CD pipeline for service instances
- AWS Proton provisions and manages the service and service instances which are running the source code as defined in the service template.
Features of AWS Proton
- Helps platform teams to create application stacks and make CI/CD pipelines available to developers so they can use API , CLI or UI to deploy an application
- Service templates are provided with or without pipelines.
- Multi-account support is there with option to deploy serverless and container based applications via multiple accounts and all services can be accessed via a single account using AWS proton
- It offers versioning for templates and provides updates for deployments which are out of date
- The Proton interface guides users through the steps involved in creating and deploying shared resources as environments for deploying services.
Use cases of AWS Proton
- Streamline management of shared resources across
- Build self-service development for developers
- Adapting infrastructure as a code to configure resources and break up complex application into modules so as to allow flexibility and ease of handling of services