万本电子书0元读

万本电子书0元读

顶部广告

Effective DevOps with AWS电子书

售       价:¥

8人正在读 | 0人评论 9.8

作       者:Nathaniel Felsen

出  版  社:Packt Publishing

出版时间:2017-07-31

字       数:48.5万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Scale gracefully and maintain outstanding performance with your AWS-based infrastructure using DevOps principles About This Book ? Implement DevOps principles to take full advantage of the AWS stack and services ? Take expert look at solving problems faced by real developers and operation teams and learn to overcome them ? Learn from expert insights of the author who has worked with Silicon Valley’s most high-profile companies Who This Book Is For This book is for developers, DevOps engineers and teams who want to build and use AWS for their software infrastructure. Basic computer science knowledge is required for this book. What You Will Learn ? Find out what it means to practice DevOps and what its principles are ? Build repeatable infrastructures using templates and configuration management ? Deploy multiple times a day by implementing continuous integration and continuous deployment pipelines ? Use the latest technologies, including containers and serverless computing, to scale your infrastructure ? Collect metrics and logs and implement an alerting strategy ? Make your system robust and secure In Detail The DevOps movement has transformed the way modern tech companies work. AWS which has been on the forefront of the Cloud computing revolution has also been a key contributor of this DevOps movement creating a huge range of managed services that help you implement the DevOps principles. In this book, you’ll see how the most successful tech start-ups launch and scale their services on AWS and how you can too. Written by a lead member of Mediums DevOps team, this book explains how to treat infrastructure as code, meaning you can bring resources online and offline as necessary with the code as easily as you control your software. You will also build a continuous integration and continuous deployment pipeline to keep your app up to date. You’ll find out how to scale your applications to offer maximum performance to users anywhere in the world, even when traffic spikes with the latest technologies, such as containers and serverless computing. You will also take a deep dive into monitoring and alerting to make sure your users have the best experience when using your service. Finally, you’ll get to grips with ensuring the security of your platform and data. Style and approach This is a practical, hands-on, comprehensive guide to AWS, helping readers understand AWS in a step by step manner.
目录展开

Title Page

Copyright

Effective DevOps with AWS

Credits

About the Author

About the Reviewer

www.PacktPub.com

Why subscribe?

Customer Feedback

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Downloading the color images of this book

Errata

Piracy

Questions

The Cloud and the DevOps Revolution

Thinking in terms of cloud and not infrastructure

Deploying your own hardware versus in the cloud

Cost analysis

Just-in-time infrastructure

The different layers of building a cloud

Adopting a DevOps culture

The origin of DevOps

The developers versus operations dilemma

Too much code changing at once

Differences in the production environment

Communication

Key characteristics of a DevOps culture

Source control everything

Automate testing

Automate infrastructure provisioning and configuration

Automate deployment

Measure everything

Deploying in AWS

How to best take advantage of the AWS ecosystem

How AWS synergizes with a DevOps culture

Summary

Deploying Your First Web Application

Creating and configuring your account

Signing up

Enabling multi-factor authentication on the root account

Creating a new user in IAM

Installing and configuring the command-line interface (CLI)

Installing Windows Subsystem for Linux (Windows only)

Installing the AWS CLI package

Configuring the AWS CLI

Creating our first web server

AMI

Instance type

Security group

Generating your ssh keys

Launching an EC2 instance

Connecting to the EC2 instance using ssh

Creating a simple Hello World web application

Installing node.js

Running a node.js Hello World.

Turning our simple code into a service using upstart

Terminating our EC2 instance

Summary

Treating Your Infrastructure As Code

Managing your infrastructure with CloudFormation

Getting started with CloudFormation

AWS CloudFormation designer

CloudFormer

Recreating our helloworld example with CloudFormation

Using troposphere to create a Python script for our template

Creating the stack in the CloudFormation console

Adding our template to a source control system

Updating our CloudFormation stack

Updating our Python script

Updating our stack

Change sets

Deleting our CloudFormation stack

Adding a configuration management system

Getting started with Ansible

Installing Ansible on your computer

Creating our Ansible playground

Creating our Ansible repository

Executing modules

Running arbitrary commands

Ansible playbooks

Creating a playbook

Creating roles to deploy and start our web application

Creating the playbook file

Executing a playbook

Canary-testing changes

Running Ansible in pull mode

Installing Git and Ansible on our EC2 instance

Configuring Ansible to run on localhost

Adding a cronjob to our EC2 instance

Integrating Ansible with CloudFormation

Monitoring

Summary

Adding Continuous Integration and Continuous Deployment

Building a continuous integration pipeline

Creating a Jenkins server using Ansible and CloudFormation

Creating the Ansible playbook for Jenkins

Creating the CloudFormation template

Launching the stack and configuring Jenkins

Preparing our CI environment

Creating a new GitHub repository

Creating a GitHub personal access token

Adding the access token to the credentials in Jenkins

Creating the Jenkins job to automatically run the builds

Implementing the helloworld application using our CI environment

Initializing the project

Creating a functional test using mocha

Developing the remaining of the application

Creating the CI pipeline in Jenkins

Productionizing the CI pipeline

Building a continuous deployment pipeline

Creating new web servers for continuous deployment

Importing a custom library to Ansible for AWS CodeDeploy

Creating a CodeDeploy Ansible role

Creating the web server CloudFormation template

Launching our web server

Integrating our helloworld application with CodeDeploy

Creating the IAM service role for CodeDeploy

Creating the CodeDeploy application

Adding the CodeDeploy configuration and scripts to our repository

Building our deployment pipeline with AWS CodePipeline

Creating a continuous deployment pipeline for staging

Integrating Jenkins to our CodePipeline pipeline

Updating the IAM profile through CloudFormation

Installing and using the CodePipeline Jenkins plugin

Adding a test stage to our pipeline

Building a continuous delivery pipeline for production

Creating the new CloudFormation stack for production

Creating a CodeDeploy group to deploy to production

Adding a continuous delivery step to our pipeline

Strategies to practice continuous deployments in production

Fail fast

Canary Deployment

Feature flags

Summary

Scaling Your Infrastructure

Scaling a monolithic application

Using Auto Scaling Groups to scale web servers

Updating our CloudFormation template

Removing the instance creation

Adding an ELB to our stack

Adding an auto scaling capability

Launching our new stack

Updating CodeDeploy

Basics of scaling a traditional database

Improving performance and cost saving

ElastiCache

CloudFront

Architecting your application to handle massive amounts of traffic

Load balancers

Elastic Load Balancer

Application Load Balancer

Offline processing with SQS and Kinesis

Serverless architecture

AWS Lambda

API Gateway

Data stores at scale

Multi-region applications

Summary

Running Containers in AWS

Dockerizing our helloworld application

Getting started with Docker

Docker fundamentals

Docker in action

Creating our Dockerfile

Using the EC2 container service

Creating an ECR repository to manage our Docker image

Creating an ECS cluster

Creating an ALB

Creating our ECS hello world service

Creating a CI/CD pipeline to deploy to ECS

Creating our production ECS cluster

Automating the creation of containers with CodeBuild

Creating our deployment pipeline with CodePipeline

Adding the CloudFormation template to our code base

Creating a CloudFormation template for CodePipeline

Starting and configuring our CloudFormation stack

Summary

Monitoring and Alerting

Instrumenting our application for monitoring

AWS CloudWatch

Metrics

Logs

Events

Using CloudWatch to monitor our helloworld application

Adding logs to our application

Creating a custom logger for our application

Making changes to provide the version and save the console log

Making changes to CodeDeploy to better handle logging

Adding metrics and events to our application

Sending logs, events, and metrics to CloudWatch from EC2

Creating an Ansible role for CloudWatch logs

Updating our CloudFormation template

Handling logs, events, and metrics in ECS

Advanced logging infrastructure with ElasticSearch, Kibana, and Firehose

Creating and launching an ElasticSearch cluster

Creating and launching a Kinesis Firehose stream

Updating our application to send logs to the Firehose endpoint

Adding permissions to EC2 to communicate with Firehose

Changing the logging transport to send logs to Firehose

Using Kibana to visualize logs

Monitoring our infrastructure

Monitoring EC2

Providing custom metrics to CloudWatch

Updating our CloudFormation template

Creating a CloudWatch role in Ansible

Monitoring ECS clusters

Monitoring ECS hosts

Monitoring the ECS service

Monitoring your containers

Monitoring ALB and ELB instances

Creating alarms using CloudWatch and SNS

AWS Simple Notification Service (SNS)

Creating an alert of an elevated error rate in our application

Using CloudWatch events and Lambda to create alerts on custom metrics

Monitoring and alerting with AWS health

Summary

Hardening the Security of Your AWS Environment

Understanding where to focus your effort

The shared responsibility model

Auditing the security in your cloud

AWS trusted advisor

AWS Inspector

Scout2

AWS CloudTrail

Enabling CloudTrail using CloudFormation

Validating CloudTrail logs integrity

Using CloudTrail logs

Sending CloudTrail logs to ElasticSearch using Lambda

Creating a Kibana Dashboard for our CloudTrail logs

Improving the security of the IAM layer

Managing users in AWS

Configuring a user password policy

Creating groups for users and operators

Creating proper IAM policies to empower users to do their work securely

Empowering users to manage their accounts

Enforcing the use of MFA devices

Using a script to create an MFA session

Managing service permissions in AWS

Strengthening the security at the network level

Creating a VPC with public and private subnets

Recreating our helloworld stack using our new VPC

Recreating our application to take advantage of private subnets

Creating our helloworld application in the new VPC

Creating a VPN connection to our VPC

Deploying a VPN server to AWS

Configuring your computer to use this VPN

Protecting against targeted attacks

Protecting against DOS and DDOS attacks

Protecting against ransomware

Summary

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部