How to understand platform perspective in AWS Cloud Adoption Framework?

How to understand platform perspective in AWS Cloud Adoption Framework?

Platform perspective

The platform perspective focuses on accelerating the delivery of cloud workloads via an enterprise-grade, scalable, hybrid cloud environment. It comprises seven. Common stakeholders include CTO, technology leaders, architects, and engineers.

1. Platform architecture

Establish and maintain guidelines, principles, patterns, and guardrails for cloud environment.

A well-architected cloud environment will help accelerate implementation, reduce risk, and drive cloud adoption. Create consensus within organization for enterprise standards that will drive cloud adoption. Define best practice blueprints and guardrails to facilitate authentication, security, networking, and logging and monitoring. Consider what workloads may need to retain on premises due to latency, data processing, or data residency requirements. Evaluate such hybrid cloud use cases as cloud bursting, backup and disaster recovery to the cloud, distributed data processing, and edge computing.

2. Data architecture

Design and evolve a fit-for-purpose data and analytics architecture.

A well-designed data and analytics architecture can help reduce complexity, cost, and technical debt while enabling to gain actionable insights from exponentially growing data volumes. Adopt a layered and modular architecture that will allow to use the right tool for the right job as well as iteratively and incrementally evolve architecture to meet emerging requirements and use cases. Based on requirements, select key technologies for each of architectural layers, including ingestion, storage, catalog, processing, and consumption. To simplify ongoing management, consider adopting serverless technologies. Focus on supporting real-time data processing and consider adopting a Lake House architecture to facilitate data movements between data lakes and purpose-built data stores.

3. Platform engineering

Build a compliant, multi-account cloud environment with enhanced security features and packaged, reusable cloud products.

An effective cloud environment will allow teams to easily provision new accounts, while ensuring that those accounts conform to organizational policies. A curated set of cloud products will enable to codify best practices, helping with governance while increasing the speed and consistency of cloud deployments. Deploy best practice blueprints, and detective and preventive guardrails. Integrate cloud environment with existing ecosystem to enable desired hybrid cloud use cases.

Automate the account provisioning workflow and leverage multiple accounts to support security and governance goals. Set up connectivity between on-premises and cloud environments as well as between different cloud accounts. Implement federation between existing identity provider and cloud environment so that users can authenticate using their existing login credentials. Centralize logging, establish cross-account security audits, create inbound and outbound Domain Name System resolvers, and get dashboard visibility into accounts and guardrails.

Evaluate and certify cloud services for consumption in alignment with corporate standards and configuration management. Package and continuously improve enterprise standards as self-service deployable products and consumable services. Leverage infrastructure as code (IaC) to define configurations in a declarative way.

4. Data engineering

Automate and orchestrate data flows across organization.

Automated data and analytics platforms and pipelines may help improve productivity and accelerate time to market. Form cross-functional data engineering teams comprising infrastructure and operations, software engineering, and data management. Leverage metadata to automate pipelines that consume raw and produce optimized data. Implement relevant architectural guardrails and security controls, as well as monitoring, logging, and alerting to help with pipeline failures. Identify common data integration patterns and build reusable blueprints that abstract away the complexity of pipeline development. Share blueprints with business analysts and data scientists and enable them to operate using self-service methods.

5. Provision and orchestration

Create, manage, and distribute catalogs of approved cloud products to end users.

Maintaining consistent infrastructure provisioning in a scalable and repeatable manner becomes more complex as organization grows. Streamlined provisioning and orchestration helps achieve consistent governance and meet compliance requirements, while enabling users to quickly deploy only the approved cloud products. Design and implement a centrally managed, self-service portal for publishing, distributing, browsing, and consuming approved cloud products. Make cloud products accessible via APIs as well as via personalized portals. Integrate with your IT service management tools and automate any updates to your configuration management database.

6. Modern application development

Build well-architected cloud-native applications.

Modern application development practices can help realize the speed and agility that go with innovation. Using containers and serverless technologies can help optimize resource utilization and automatically scale from zero to peak demands. Consider decoupling applications by building them as independent microservices leveraging event-driven architectures. Implement security in all layers and at each stage of the application development lifecycle.

Automate the process of scaling out and scaling in or use serverless technologies. Modernize existing applications to reduce costs, gain efficiencies, and make the most of your investments. Consider replatforming (moving own containers, databases, or message brokers to managed cloud services) and refactoring (rewriting legacy applications to a cloud-native architecture). Ensure that architecture takes into account service quotas and physical resources so that they do not negatively impact workload performance or reliability.

7. Continious integration and continious delivery

Evolve and improve applications and services at a faster pace than organizations using traditional software development and infrastructure management processes.

Adopting DevOps practices with continuous integration, testing, and deployment will help to become more agile so that can innovate faster, adapt to changing markets better, and grow more efficient at driving business results. Implement continuous integration and continuous delivery (CI/CD) pipelines.

Start with a minimum viable pipeline for continuous integration and then transition to a continuous delivery pipeline with more components and stages. Encourage developers to create unit tests as early as possible and to run them before pushing the code to the central repository. Include staging and production steps in continuous delivery pipeline and consider manual approvals for production deployments. Consider multiple deployment strategies, including in-place, rolling, immutable, and blue/green deployments.