Let’s Architect! Architecting for DevOps
AWS Architecture BlogLet’s Architect! Architecting for DevOpsby Luca Mezzalira, Laura Hyatt, Vittorio Denti, and Zamira Jaupaj | on13 JUL 2022| inArchitecture,DevOps|Permalink|ShareUnder a DevOps model, the development and operations teams work together and share their skills and knowledge. Sometimes, these teams are merged into a single team where the engineers work across the entire application lifecycle, from development to deployment.The objective of DevOps is to deliver applications and services quickly and efficiently. This faster pace allows companies to better adapt to their customers’ needs and changes in the market.In this edition ofLet’s Architect!,we’ll talk about DevOps culture and share content to provide helpful mental models and strategies for your work as an architect or engineer.Automating cross-account CI/CD pipelinesCompanies often use the cloud to run their microservices. This means they’re working with different AWS accounts and hosting each microservice in a dedicated account.This method can be helpful to isolate different environments for software deployment pipelines. A well-designed pipeline is fundamental to releasing software quickly because it allows DevOps engineers to automate the software deployment process.This video shows the mindset to adopt while designing pipelines for deploying resources across different environments. You’ll learn how to design a pipeline, how to build it usingAWS CDK, and see how everything looks in the AWS Console.AWS X-Ray helps developers analyze distributed applications, such as those built using a microservices architectureAutomating safe, hands-off deploymentsAmazon adopted continuous delivery across the company as a way to automate and standardize how software is deployed and to reduce the time it takes for changes to reach production. In this system, improvements to the release process build up over time. Once deployment risks are identified, teams iterate on the release process and add extra safety in the automated pipeline.A typical continuous delivery pipeline has four major phases—source, build, test, and production (prod). This article describes the mental models and approaches that engineer use at Amazon to help you understand the design considerations for each step of the pipeline and learn some recommended practices.Each pipeline has these four major steps; however, more granularity is often added in the testing stage to take advantage of multiple pre-production environmentsCovert ops on DevOps: Leveraging security to shift leftArchitects often deal with complexity and ambiguity while designing architectures and interacting with stakeholders. Consequently, their architectures evolve and grow in complexity.When your workload becomes more complex, security is an important area to consider and requires attention during the entire Software Development Life Cycle (SDLC). Thisvideoshows some methods to add security in a DevOps culture. You’ll learn about shifting your security left to create collaborations between developers and the security team. It will also show you how to uncover vulnerabilities in the SDLC as well as the strategies to implement and automate security in the process through a security as code mindset.At a high level, people build applications with source code, version control, CI/CD, registries and deployments, and during each step we should design to prevent specific vulnerabilitiesInstrumenting distributed systems for operational visibilityEvery member of a development team works like an owner and operator of the service, whether that member is a developer, manager, or another role. Software developers and architects usually work with logs to see the status of their systems. Logs act as the mechanism to share what’s happening in the software that is running. This information is used for troubleshooting and performance improvement.This article describes some approaches to feed data into operational dashboards to measure real-time metrics, invoke alarms, and engage with operators to diagnose problems. You’ll learn some mental models and best practices to design a logging system through a set of stories, considerations, and common examples with code samples.AWS X-Ray helps developers analyze distributed applications, such as those built using a microservices architectureRelated informationIf you want to learn more about DevOps, checkWhat is DevOps?, a public resource with plenty of examples and introductory articles.See you next time!Thanks for reading! See you in a couple of weeks when we discuss strategies for applying the AWS Well-Architected framework to your workloads.Other posts in this seriesLet’s Architect! Using open-source technologies on AWSLet’s Architect! Architecting for SustainabilityLet’s Architect! Architecting for Machine LearningLet’s Architect! Architecting for SecurityLet’s Architect! Tools for Cloud ArchitectsLet’s Architect! Architecting for BlockchainLet’s Architect! Architecting microservices with containersLet’s Architect! Serverless architecture on AWSLet’s Architect! Creating resilient architectureLet’s Architect! Architecting for governance and managementLet’s Architect! Architecting for front endLet’s Architect! Understanding the build versus buy dilemmaLooking for more architecture content?AWS Architecture Centerprovides reference architecture diagrams, vetted architecture solutions,Well-Architectedbest practices, patterns, icons, and more!TAGS:Let's ArchitectLuca MezzaliraLuca is Principal Solutions Architect based in London. He has authored several books and is an international speaker. He lent his expertise predominantly in the solution architecture field. Luca has gained accolades for revolutionizing the scalability of front-end architectures with micro-frontends, from increasing the efficiency of workflows, to delivering quality in products.Laura HyattLaura Hyatt is a Solutions Architect for AWS Public Sector and helps Education customers in the UK. Laura helps customers not only architect and develop scalable solutions but also think big on innovative solutions facing the education sector at present. Laura's specialty is IoT, and she is also the Alexa SME for Education across EMEA.Vittorio DentiVittorio Denti is a Machine Learning Engineer at Amazon based in London. After completing his M.Sc. in Computer Science and Engineering at Politecnico di Milano (Milan) and the KTH Royal Institute of Technology (Stockholm), he joined AWS. Vittorio has a background in distributed systems and machine learning. He's especially passionate about software engineering and the latest innovations in machine learning science.Zamira JaupajZamira is an Enterprise Solutions Architect based in the Netherlands. She is highly passionate IT professional with over 10 years of multi-national experience in designing and implementing critical and complex solutions with containers, serverless, and data analytics for small and enterprise companies.
Under a DevOps model, the development and operations teams work together and share their skills and knowledge. Sometimes, these teams are merged into a single team where the engineers work across the entire application lifecycle, from development to deployment. The objective of DevOps is to deliver applications and services quickly and efficiently. This faster pace […]
Luca Mezzalira
Architecture DevOps