Making Effective Decisions for Your V1 AWS Design
AWS Architecture BlogMaking Effective Decisions for Your V1 AWS Designby Rostislav Markov, Andrew Haggard, and Nirav Kothari | on25 MAY 2021| inAmazon RDS,Architecture,Auto Scaling,AWS Lambda,AWS Step Functions|Permalink|ShareIn reviewing your existing business application portfolio to create V1 AWS designs—the first architecture design for moving to AWS—we must address two main factors that often inhibit progress:Your technology teams must find a clear path forward that balances modernization and migration.You must provide clear criteria to transform your platforms and also continue to deliver new business capabilities (such as feature releases) on existing systems.We have found that having an established, efficient decision-making process is critical to accelerating cloud adoption and implementing a V1 AWS design. This process will be successful if you take an approach that balances speed, addresses technical debt where it inhibits modernization, and defers lower priority optimization until after deployment on AWS.This blog will show you how to determine a clear path for V1 deployment on AWS and make effective decisions regarding the degree of transformation in application and infrastructure architecture, configuration, and the degree of incremental deployment automation when moving applications to AWS.V1 AWS design strategyAlong with the seven common migration strategies for moving applications to the cloud (the “7 Rs”), these additional strategies are also useful when creating V1 architecture:Move, then optimize.Move quickly with traditional “lift and shift” to capitalize on immediate run cost savings, then optimize in the cloud. Identify longer term modernization and refactoring opportunities during design review. Then place them in the backlog to address after migrating to AWS. In some cases, systems that are planned for run-out in 3 to 5 years might benefit from migration to a co-location facility adjacent to an AWS Region. This means dependent, cloud-ready workloads can move before rewriting systems to resolve dependencies.Modernize what matters.If priorities and resources are aligned, invest in incremental or full modernization depending on the business value, technical debt, and other priorities. Begin evaluating opportunities to resolve structural dependencies on legacy workloads, including high technical debt systems and common mainframe and midrange systems. Retire, re-purchase, retain, or refactor these legacy workloads based on business need.Minimal optimization.To fix problems stopping you from moving faster, upgrade or renew outdated technologies across the full stack. Additionally, decouple legacy systems to address pain points that slow down development of new capabilities or drag resources into non-differentiated work. In most cases, this also requires close coordination with application, testing teams, and business product owners to determine how far to modernize before migrating to AWS.Adhering to these three strategies across your business applications portfolio will enable the flywheel in Figure 1 for your cloud transformation.Figure 1. Cloud transformation flywheel modelV1 AWS design specificationThe design decisions you make regarding the degree of transformation in application and infrastructure architecture, configuration, and the degree of incremental deployment automation will manifest themselves in the V1 AWS design. You will evaluate trade-offs to determine what components of operating system (OS), database, application code, resiliency architecture, deployment automation, and services architecture enhancements should be implemented. You must also examine services to be deferred to the backlog for post-migration to AWS optimization.Many V1 design improvement options are available that teams can implement between lift and shift and full cloud native modernization:Upgrade end-of-life (EOL) or near EOL.Earlier versions of OS, middleware, and application components can expose security risks.Apply Infrastructure as Code (IaC).Automate infrastructure provisioning using templates, quick starts, and secure stacks available through theAWS Service Catalog.Phase in deployment automation.Move toward automated deployments for middleware and application code using a common cloud-based code pipeline with controls built in, and adoptDevSecOpspractices orblue/green deployments.UseAWS Auto Scaling.Allowing horizontal scaling, instance swaps, and self-healing/auto-recovery mechanisms to automate manual operations tasks.Increase resiliency.Enable redeployment/failover to anotherAvailability Zoneor Region for business-critical applications with resiliency/disaster recovery requirement.Enhance data security and protection.Protecting sensitive data for its entire lifecycle, for example throughfield-level encryptionfor Protected Health Information.Move to managed services beyondAmazon Elastic Compute Cloud (Amazon EC2).This will reduce undifferentiated heavy lifting with managed databases likeAmazon Relational Database Service (Amazon RDS).Move to containers.Break down monoliths into smaller services and containerize applications for easier management and deployment, starting with components for whichDocker imagesare ready off the shelf.Enable opportunistic refactoring.Rewrite particular pieces of your application stack. For example, move event-driven components to serverless (such asAWS Lambda,AWS Step Functions, andAWS Batch), or your proprietary database engine to AWS data stores (such asAmazon Aurora).Standardize application layers.Standardize application stack and architecture. For example, consolidate technologies for web/application/middleware layers where minimum refactoring is sufficient (such as moving to anApache Tomcatshared layer).Repurchase.For example, move to software as a service (SaaS) or purchase a replacement from theAWS Marketplacefor cloud-based commercial off-the-shelf applications.Consider these improvements when deploying on AWS. Critical changes should be implemented before migration. Less critical changes can be included in the optimization backlog to address after migration to AWS is complete.The time and effort to achieve these improvements should be evaluated on how they align with your business needs, available skills, and resources. Then you can evaluate other opportunities to invest in V1 AWS design improvements. Any backlog items can be included in future sprint objectives using a continuous improvement mindset.Two considerations for implementing your V1 AWS designSpeed over perfection.It is essential to involve all relevant stakeholders and make V1 AWS design decisions quickly. Then, implement the agreed-upon plan and defer remaining optimization opportunities to the post-migration AWS backlog. Cutover to AWS is a “two-way door.” This means that you don’t need belabor or second-guess V1 AWS design decisions. It’s easy to adjust either on AWS (upsize as needed) or fail back and try again.Pattern-based design approach.Based on customer engagements, we found that over 80% of customer workloads can fit into ~10 to 15 of re-useable V1 AWS design architecture patterns to support application types. After these patterns are designed and approved, let your teams run with them. Teams can tailor and customize as needed, but subject matter experts (SMEs) and lead cloud architects need only to review incremental changes before build teams get started.ConclusionIn this blog, we show you how to make effective decisions to accelerate the transition and improve speed to market for new capabilities. Without clear goals and business ownership, teams languish in decision paralysis—they can do nothing and leave their system on-premises, move as-is, or complete refactoring. Having a clear V1 design process and clear ownership of the decision-making will empower stakeholders, which is critical to taking the first step and moving with speed. We encourage you to empower your teams to make these decisions, move quickly, experiment, and fail.Further readingMore guidance on scaling and accelerating your company’s cloud transformation can be found in the AWS whitepaper onCloud-Driven Enterprise Transformation on AWS.Rostislav MarkovRostislav Markov is principal architect with AWS Professional Services. As technical leader in Strategic Industries, he works with AWS customers and partners on their cloud transformation programs. Outside of work, he enjoys spending time with his family outdoors and exploring New York City culture.Andrew HaggardAndrew Haggard helps customers accelerate their enterprise cloud business transformations with scale migrations, call center transformations, and application of AI / ML to delight their customers. Outside of work Andrew enjoys flying seaplanes, cooking, and trying to instill some basic discipline in two insubordinate but lovable pug doggos.Nirav KothariNirav Kothari is a principal consultant with AWS Professional Services. In this role, Nirav has helped several Fortune 500 engagements and large enterprise customers with strategic initiatives necessary to deliver successful migrations to AWS such as cloud adoption, mass migrations, transformation, security, infrastructure architecture and automation.
In reviewing your existing business application portfolio to create V1 AWS designs—the first architecture design for moving to AWS—we must address two main factors that often inhibit progress: Your technology teams must find a clear path forward that balances modernization and migration. You must provide clear criteria to transform your platforms and also continue to […]
Rostislav Markov
Amazon RDS Architecture Auto Scaling AWS Lambda AWS Step Functions