AWS DevOps Simplified Build a Solid Foundation in AWS to Deliver Enterprise-Grade Software Solutions at Scale

The complete guide to increasing the DevOps maturity of your organization while adhering to AWS' well-architected principles Key Features Increase your organization's DevOps maturity level from both strategic and tactical standpoint Get hands-on AWS experience with ready-to-deploy code exa...

Descripción completa

Detalles Bibliográficos
Otros Autores: Kapoor, Akshay, author (author), Duvall, Paul, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing [2023]
Edición:First edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009769035006719
Tabla de Contenidos:
  • Cover
  • Title page
  • Copyright and Credits
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Driving Transformation through AWS and DevOps
  • Chapter 1: Accelerating Your DevOps Journey with AWS
  • AWS and DevOps - a perfect match
  • Production-like environments
  • Scaling with the cloud
  • DevOps methodologies to accelerate software delivery
  • Key AWS DevOps services
  • CI
  • CD and continuous deployment
  • IaC
  • Summary
  • Further reading
  • Chapter 2: Choosing the Right Cloud Service
  • The three tiers of cloud offerings
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
  • What to choose when
  • Simplicity versus control
  • Cloud skills and resources
  • Business requirements
  • Security considerations
  • Understanding your organization's cloud operating model
  • Focusing on sustaining workloads with the traditional approach
  • Focusing on optimizing workloads
  • Focusing on growth in the cloud
  • Key AWS services
  • Abstracting the infrastructure
  • Accelerating software delivery with platform services
  • Fully managed software services
  • Summary
  • Further reading
  • Chapter 3: Leveraging Immutable Infrastructure in the Cloud
  • Technical requirements
  • Pets versus cattle
  • Mutable and immutable infrastructure
  • Mutable infrastructure
  • Immutable infrastructure
  • Getting started with AWS
  • Creating a new AWS account
  • Securing your root user credentials
  • Creating additional users
  • Setting up an AWS Cloud9 IDE in your AWS account
  • Navigating your Cloud9 environment
  • Working with the test application
  • Test application
  • Building an AMI with Packer
  • Deploying our test instance
  • Securing incoming traffic with security groups
  • Creating the test EC2 instance
  • Terminating the test EC2 instance
  • Summary
  • Further reading.
  • Part 2: Faster Software Delivery with Consistent and Reproducible Environments
  • Chapter 4: Managing Infrastructure as Code with AWS CloudFormation
  • Technical requirements
  • What is AWS CloudFormation?
  • Key concepts in AWS CloudFormation
  • How CloudFormation works
  • Permissions delegation for resource management
  • API call logging with CloudTrail
  • How requests flow over the network
  • Best practices for using CloudFormation to define enterprise-grade architectures
  • Keep templates small and reusable
  • Leverage inputs and outputs for cross-stack dependencies
  • Leverage other service integrations
  • Leverage StackSets for organization-wide stack rollouts
  • Avoid hardcoding parameter values
  • Life cycle policies to protect critical resources
  • Reusable resource configurations
  • Deciding between Terraform and CloudFormation
  • Third-party provider ecosystem
  • Mapping a resource definition with a deployment
  • Support for programming constructs
  • State management for deployed resources
  • Better integrations offered by cloud-native services
  • Modules for code reusability
  • Hands-on deployment with CloudFormation
  • Network architecture design to support multi-AZ deployments
  • Hosting a sample web application with an application load balancer and Auto Scaling groups
  • Summary
  • Further reading
  • Chapter 5: Rolling Out a CI/CD Pipeline
  • What is CI/CD?
  • How does CI/CD enable faster software delivery?
  • Why is continuous deployment hard to implement?
  • An effective branching strategy is key
  • Working with feature toggles
  • Identifying what works best for you
  • How to choose the best CI/CD solution for your needs
  • Integration with existing tools
  • On-premises hosting considerations
  • Open source or commercial offerings?
  • Enabling continuous integration with CodeCommit and CodeBuild
  • Key features offered by CodeCommit.
  • Automating builds and tests with CodeBuild
  • Using CodeDeploy to orchestrate deployment workflows in compute environments
  • Key components in CodeDeploy
  • Key features offered by CodeDeploy
  • Implementing end-to-end software delivery with CodePipeline
  • Key constructs used by CodePipeline
  • Triggering actions in other regions
  • Rolling out a fully automated CI/CD pipeline in your AWS account
  • Creating a base AMI for the application instances
  • Deploying infrastructure and application stacks
  • Summary
  • Further reading
  • Chapter 6: Programmatic Approach to IaC with AWS CDK
  • Different approaches to managing infrastructure in AWS
  • Manual infrastructure management
  • Automating infrastructure rollouts with scripts
  • Adopting a declarative approach
  • Using infrastructure definition generators
  • Using frameworks that offer high-level abstractions
  • What is AWS CDK?
  • Key concepts in CDK
  • Development workflow
  • Pros and cons of working with CDK
  • Deploying a test application with AWS CDK
  • Understanding the different components of the image recognition application
  • Bootstrapping a new CDK project
  • Bootstrapping the AWS account to enable CDK deployments
  • Defining CDK constructs for application components
  • Defining Lambda code for orchestrating the application workflow
  • Synthesizing the template
  • Deploying the CDK stack into an AWS account
  • Testing the image analysis workflow
  • Summary
  • Further reading
  • Part 3: Security and Observability of Containerized Workloads
  • Chapter 7: Running Containers in AWS
  • A quick introduction to the container ecosystem
  • What are containers and why do we need them?
  • Docker as a container platform
  • Scaling containerized deployments beyond simple use cases
  • Key responsibilities of container platforms
  • AWS services that support running containers in the cloud.
  • AWS Elastic Compute Cloud (EC2)
  • AWS Elastic Kubernetes Service (EKS)
  • AWS Elastic Container Service (ECS)
  • ECS constructs and security features
  • Important constructs used by ECS
  • Ensuring a good security posture with ECS
  • Deploying a test application on ECS
  • Understanding the test application architecture
  • Defining the CDK stack constructs
  • Preparing the web application code
  • Preparing the static HTML template
  • Bundling all application dependencies together for deployment on ECS
  • Deploying our CDK stack in an AWS account
  • Summary
  • Further reading
  • Chapter 8: Enabling the Observability of Your Workloads
  • What is observability?
  • Benefits of observability
  • Key AWS offerings for monitoring and observability
  • Amazon CloudWatch
  • Best practices for a solid observability strategy
  • Build a hierarchy of dashboards
  • Use consistent time zones across all systems
  • Propagate trace identifiers
  • Ensure that all components of your system emit events
  • Defining your observability strategy for workloads hosted in AWS
  • Deploying an observability stack for a test application hosted in ECS
  • Extending the code base for better observability
  • Deploying the stack in an AWS account
  • Observing data to understand application behavior
  • Summary
  • Further reading
  • Chapter 9: Implementing DevSecOps with AWS
  • Trade-offs and challenges of security
  • Lack of ownership
  • Last step in software delivery
  • The rapid evolution of application architectures
  • Outdated security tools
  • What is DevSecOps?
  • How is it different from DevOps?
  • Key benefits of DevSecOps
  • What it means for security professionals
  • What it means for developers
  • What it means for the operations team
  • Securing your workloads in AWS
  • Security challenges for operating workloads in the cloud
  • Test strategies for your AWS workloads.
  • Important tools for security assessments
  • Rolling out a test CI/CD workflow for DevSecOps
  • Understanding the target architecture of the DevSecOps pipeline
  • Understanding the code base
  • Deploying the CDK stack in an AWS account
  • Checking the result of security assessments
  • Summary
  • Further reading
  • Part 4: Taking the Next Steps
  • Chapter 10: Setting Up Teams for Success
  • Building a collaborative team setup and culture
  • Enable your teams to create more value
  • Establishing a culture of collaboration and learning
  • Measuring the DevOps maturity of your teams
  • De-silo Dev and Ops
  • Blameless post-mortems and RCAs
  • Technology best practices and considerations for success
  • Right-size the teams based on the technology cognitive load they can handle
  • Invest in building abstractions that promote best practices
  • Making injection of failure scenarios a routine practice
  • Aligning technology decisions with business expectations
  • Resources for continuous learning and enablement
  • Driving change from the bottom up
  • Structure your ideas well
  • Demonstrate commitment
  • Find collaborators and share good practices
  • Summary
  • Further reading
  • Chapter 11: Ensuring a Strong AWS Foundation for Multi-Account and Multi-Region Environments
  • What is a Landing Zone?
  • Key considerations in a Landing Zone
  • Defining a structure for organizational units and accounts
  • Focus on cross-account and hybrid networking needs
  • Securing the Landing Zone with IAM and security services
  • DevOps and config management
  • Operations
  • Best practices for managing multi-account architectures
  • Limiting access to the management account
  • Adopting solutions that offer the right balance of ease and control
  • Invest in building an Account Vending Machine
  • Maintain a separate AWS Organizations organization for platform development.
  • Avoid provisioning any IAM users.