One of the many responsibilities of the Enterprise Architecture organization is to avoid ‘platform sprawl’. In an effort to increase efficiency, large organizations often standardize on a few select platforms to reduce the number of versions and permutations. Historically, EA’s had limited tools to enforce the ‘palette of platforms’. In a cloud environment where platforms are delivered in an ‘as-a-service’ manner, EA’s can have complete control over the set of services that are included in an application architect’s and developer’s toolbox. This enables an organization to enforce architectural governance standards without slowing project teams.
Historically, application architects used UML deployment diagrams, Visio, or more likely, a whiteboard to describe their architecture. These drawings were intended for documentational purposes only – and usually were outdated before the ink dried. Today, using standards like CloudFormation, the architectural description not only serves as documentation but also represents a codified, executable description of your architecture.
Stacks define all of the primary components of your application including elements like servers (virtual), storage, network settings, use of load balancers, caches, database, application servers, Web servers, etc. and their interdependent relationships. Stacks are a great way to describe an architecture in very specific terms so that multiple members of a team can understand the proposed architecture topology.
Developers have a wide variety of platforms to choose from. It can be time intensive to sift through all of the platforms that are available, install , configure and test it, only to determine that it doesn’t meet your needs. The As-A-Service model with modern provisioning tools can significantly reduce the time required to find the right platform. Once it’s selected, use Stacks to build the codified topology. All versions are controlled and reproducible with the click of a button.