Optimizing and Managing Distributed Systems on AWS

In this course, we look at how to deploy, monitor, and tune distributed systems at cloud scale.
Course info
Rating
(83)
Level
Intermediate
Updated
Aug 30, 2013
Duration
3h 10m
Table of contents
Monitoring cloud systems with Amazon CloudWatch
Deploying web application stacks
Placing content close to users with CDNs
Improving Application Performance with ElastiCache
Description
Course info
Rating
(83)
Level
Intermediate
Updated
Aug 30, 2013
Duration
3h 10m
Description

This course shows how to improve the performance and maintainability of cloud systems on AWS. We look at effectively monitoring systems with CloudWatch, easily deploying systems with Elastic Beanstalk and CloudFormation, and improving performance through the use of the CloudFront CDN and ElastiCache caching service.

About the author
About the author

Richard Seroter is the VP of Product Marketing at Pivotal, with a master’s degree in Engineering from the University of Colorado. He’s also an 11-time Microsoft MVP for cloud, an instructor for Pluralsight, the lead InfoQ.com editor for cloud computing, and author of multiple books. As Vice President at Pivotal, Richard leads product, customer, technical, and partner marketing teams. Richard maintains a regularly updated blog on topics of architecture and solution design and can be found on Twitter as @rseroter.

More from the author
Serverless Computing: The Big Picture
Beginner
59m
Apr 17, 2019
DevOps: The Big Picture
Beginner
1h 21m
Jan 23, 2019
More courses by Richard Seroter
Section Introduction Transcripts
Section Introduction Transcripts

Monitoring cloud systems with Amazon CloudWatch
Hi, my name is Richard Seroter and welcome to this first module on a course on Optimizing and Managing Distributed Systems on Amazon Web Services. This course is a continuation of a previous course I've done on architecting highly available systems on AWS, this is a part two if you will. This course is expecting that you've already completed that course; we're going to pick up right where we left off. Obviously if you haven't already watched that one, you can still definitely follow along and keep up, but this is a good logical extension of that; I'm not going to do a lot of introductory modules for this. We're going to jump right in and talk about how once you've got a system running, how can you make sure you're monitoring, managing, deploying efficiently and using the Cloud effectively. In this module, we're going to look at monitoring a distributed system with CloudWatch Service. By the end of this module, you should be pretty comfortable configuring alarms and scaling systems based on usage. We're going to start off by looking at where we are in the reference architecture, specifically I'll walk through exactly what we've done so far from the first course so you have good context about where we are today, so we can see where we're picking up. We'll talk about the role of monitoring in a distributed cloud system. We'll dig into what Amazon CloudWatch actually is. We'll talk about some of the system monitors that are available for you and actually look at those. Then we'll discuss creating and publishing custom metrics and how we can use that to really make this repository even richer and full of more metrics that we can use for our business. We'll talk about how we can use Auto Scaling policies with CloudWatch alerts and do true scaling based on demand, where in the previous modules in the previous course we did it purely based on an ideal count of servers, now actually doing it based on what the demand of the server is. We'll talk about some best practices before we summarize.

Deploying web application stacks
Hi there, my name is Richard Seroter and welcome to this next module in the course on Optimizing and Managing Application Stacks in the Amazon Web Services Platform. In the last module, we looked at doing monitoring in distributed systems. In this one we're going to be looking at how do you actually deploy Web Application Stacks to distributed environments. By the end of this module you should be pretty familiar with Elastic Beanstalk, CloudFormation, and the new one, OpsWorks. So we're going to start off by looking at again where we are in the reference architecture that we've been building so far. We'll talk about the role of deployment frameworks in distributed cloud systems. We'll dig into Elastic Beanstalk and when you would use that and how it works. We'll talk specifically then about how you deploy. NET applications with Elastic Beanstalk and do some demonstrations of that. We'll talk about some best practices when working with Elastic Beanstalk. Next we'll jump into CloudFormation and see some of the differentiators between that and Beanstalk. We'll discuss how you deploy complex systems with CloudFormation and again do a demonstration of generating such templates. We'll review some best practices when working with CloudFormation. Then we'll jump into OpsWorks and what it is and how again it differentiates from CloudFormation and Elastic Beanstalk. We'll talk about how you'd deploy systems with OpsWorks and what are some considerations with that. We'll review some best practices and then discuss the right deployment framework for a given situation given you do have these sort of options. And then finally we'll summarize.

Placing content close to users with CDNs
Hello, my name is Richard Seroter and welcome to this next module on a course on Optimizing and Monitoring and Deploying Systems on Amazon Web Services. In this particular module we're going to talk about CDNs or Content Delivery Networks and how to use those to decrease latency and improve the application performance of systems running on AWS. We're going to start by looking at where we are in the reference architecture, what we've continued to build so far. Discuss the role of CDNs in a distributed cloud system. I'll then explain a little bit about what Amazon CloudFront is, we'll build an Amazon CloudFront distribution and see what it means to set one up. We'll talk about how you reference that distribution from. NET code, as well as see how you do that, demonstrate it and deploy that. We'll talk about some CloudFront best practices before summarizing.

Improving Application Performance with ElastiCache
Hi, my name is Richard Seroter. Welcome to this final module on a course on Optimizing and Managing Systems on AWS. This particular module focuses on application caching and how to set up cache clusters for our web application. At the end of this module, you should be pretty comfortable with ElastiCache as a service and how they incorporate application caching in your web app. We're going to start off by once again looking at our reference architecture and seeing where caching fits in. We're going to talk about in general the role of caching in a distributed cloud system. We'll talk about Memcached and how it works. Then we'll steer into what ElastiCache is from Amazon. We'll discuss and demonstrate creating and scaling cache clusters. We'll review how failure is handled within a cache cluster. Then we'll talk about how do you access ElastiCache from. NET code and demonstrate that as well. We'll talk about some best practices, there's a lot of them around caching, so that'll be some fun discussion, and then finally we'll summarize this particular module.