O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Amazon Web Services: Migrating your .NET Enterprise Application

Book Description

Evaluate your Cloud requirements and successfully migrate your .NET Enterprise Application to the Amazon Web Services Platform

  • Get to grips with Amazon Web Services from a Microsoft Enterprise .NET viewpoint
  • Fully understand all of the AWS products including EC2, EBS, and S3
  • Quickly set up your account and manage application security
  • Learn through an easy-to-follow sample application with step-by-step instructions
  • Ultimately map, migrate, and extend your .NET application with AWS

In Detail

Amazon Web Services is an Infrastructure as a Service (IaaS) platform in the Cloud, which businesses can take advantage of as their needs demand. The Amazon Cloud provides the enterprise with the flexibility to choose whichever solution is required to solve specific problems, ultimately reducing costs by only paying for what you use.

While enterprises understand moving their applications among infrastructure they own and manage, the differences in Amazon's infrastructure bring up specific business, legal, technical, and regulatory issues to get to grips with.

This step-by-step guide to moving your Enterprise .NET application to Amazon covers not only the concept, technical design, and strategy, but also enlightens readers about the business strategy and in-depth implementation details involved in moving an application to Amazon. You'll discover how to map your requirements against the Amazon Cloud, as well as secure and enhance your application with AWS.

This book helps readers achieve their goal of migrating a .NET Enterprise Application to the AWS cloud. It guides you through the process one step at a time with a sample enterprise application migration. After comparing the existing application with the newly migrated version, it then moves on to explain how to make the hosted application better. It covers how to leverage some of the scalability and redundancy built into the Cloud, and along the way you'll learn about all of the major AWS products like EC2, S3, and EBS.

Table of Contents

  1. Amazon Web Services: Migrating your .NET Enterprise Application
    1. Amazon Web Services: Migrating your .NET Enterprise Application
    2. Credits
    3. About the Author
    4. Acknowledgement
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
          1. Free Access for Packt account holders
          2. Instant Updates on New Packt Books
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Understanding Amazon Web Services
      1. What AWS is
      2. What AWS isn't
        1. PaaS
        2. SaaS
      3. So why AWS
        1. What you should know about AWS
        2. What to watch out for with AWS
        3. Drivers of Enterprise Adoption of AWS
      4. What application models work/don't work in AWS
        1. One-Tier
        2. Two-Tier
        3. Three-Tier
        4. N-Tier
        5. Common issues across all architecture models
      5. Legalities of Cloud Computing
      6. A brief technical overview of AWS
        1. Public or Virtual Private Cloud
        2. The technology behind AWS
      7. Our sample enterprise application
        1. Rules of engagement
        2. What will our sample enterprise application look like
        3. What will our sample enterprise application do
      8. Summary
    9. 2. Mapping your Enterprise Requirements Against Amazon's Offerings
      1. AWS offerings
      2. Simple Storage Service (S3)
        1. General roles of S3 in the architecture
        2. Using S3
        3. S3 features
          1. Data storage
          2. Availability
          3. Data consistency
          4. Object access
        4. Using S3 for backup, archiving, and recovery
      3. Elastic Compute Cloud (EC2)
        1. General roles of EC2 in the architecture
        2. Using EC2
        3. Features of EC2
          1. Starting instances
          2. Accessing instances after they have been started
          3. Types of hardware to run an instance on
            1. Types of billed instances
          4. Billing and data transfer
          5. Elastic IP addresses
        4. Instance types
          1. Standard instances
          2. Micro instances
          3. High memory instances
          4. High-CPU instances
          5. Cluster compute instances
          6. Cluster GPU instances
          7. Putting these instances in perspective
      4. Elastic Block Store (EBS)
        1. Some things to know about EBS
          1. Attaching a two TB of disk to an EC2 instance
      5. Security Groups
        1. Implementing an example security group for a web application
          1. Management security group
          2. Web server security group
          3. Application server security group
          4. Database server security group
          5. Using the AWS console tools
      6. Virtual Private Cloud (VPC)
        1. Using AWS for testing
          1. Management servers
          2. Test servers
        2. Storage servers
          1. Storage server security group
      7. Basic CloudWatch
      8. Detailed CloudWatch
      9. Elastic Load balancing (ELB)
      10. Amazon Relational Database Service (RDS)
        1. Replication and availability
        2. Backups and recovery
      11. Amazon Simple Notification Service (SNS)
        1. Publish and subscribe
        2. General role in the architecture
      12. Mapping of AWS offerings to our sample application
        1. Load balancing
        2. Hardware (Servers)
        3. Hard disk storage
        4. Firewall security
        5. Performance monitoring
        6. Database servers
        7. Recapping our sample application's architecture
      13. Mapping of AWS offerings to other requirements
        1. Business requirements
          1. Financial requirements
          2. Functional requirements
        2. Security, legal, and regulatory requirements
      14. Summary
    10. 3. Getting Started with AWS and Amazon EC2
      1. Creating your first AWS account
        1. Multi-factor authentication
        2. Registration and privacy details
        3. AWS customer agreement
          1. Section 10.2 - Your Applications, Data, and Content
          2. Section 14.2 - Governing Law
          3. Section 11.2 - Applications and Content
      2. Signing in
        1. Signing up for Amazon S3
        2. Signing up for EC2
      3. Starting an EC2 instance
        1. Creating a security group
        2. Starting the EC2 instance
        3. Accessing your EC2 instance
        4. Configuring your instance
        5. Starting new EC2 instances from our base image
        6. Saving your new instances as AMIs
      4. Using the command line
        1. Installing the AWS command-line tools
          1. Installing Java
          2. Creating a location to store your data
          3. Getting your security keys
          4. Downloading and installing the AWS tools
          5. Creating a file to set up the AWS environment
        2. Using the command line
          1. Starting an EC2 instance
          2. Stopping an EC2 instance
      5. Summary
    11. 4. How Storage Works on Amazon
      1. Getting started with S3
        1. Creating a S3 bucket with logging
        2. Using the S3 command-line tools
          1. Setting up your credentials with S3.exe
          2. Copying files to S3 using S3.exe
          3. Retrieving files from S3 using S3.exe
        3. Importing and exporting large amounts of data in and out of S3
          1. Setting up the Import/Export service
          2. Using the Import/Export service
            1. Confirming your device specifications
            2. Downloading and installing the command-line service tool
            3. Creating a job
            4. Copying the data to your disk device
            5. Sending your disk device
            6. Managing your Import/Export jobs
        4. Accessing S3 using third-party tools
      2. Getting started with EBS
        1. Creating an EBS volume
        2. Creating an EBS snapshot
        3. An important note about EBS
        4. Using the EBS command-line tools
      3. Setting up storage for our sample application
        1. Backup storage on S3
      4. Summary
    12. 5. Amazon's Approach to Networking
      1. An overview of AWS networking
        1. Examining internal versus external IP addresses
        2. Allocating elastic IPs
        3. Security groups and internal versus external IP addresses
          1. Handling domain controllers in AWS
      2. Amazon VPC
        1. Creating the AWS VPC
        2. Starting servers in your VPC
      3. AWS elastic load balancing
        1. Using ELB for HTTPS
      4. Amazon CloudFront networking
      5. Setting up the networking for our sample application
        1. The database layer
        2. The application server layer
        3. The web server layer
      6. Summary
    13. 6. Putting Databases in the Cloud
      1. Examining SQL Server
        1. SQL Server AMI
          1. SQL Server costs
        2. Setting up SQL Server
        3. Managing the SQL Server
        4. Connecting to SQL Server
          1. Integrated security versus mixed mode security
          2. Windows firewall
        5. Importing data to the SQL instance
          1. Using the AWS console on your new SQL Server instance
      2. Oracle
        1. Oracle AMIs
          1. Licensing
        2. Setting up Oracle
        3. Managing the Oracle instance
        4. Importing data to the Oracle instance
      3. Other Amazon database services
        1. Amazon RDS
          1. Setting up the RDS service
          2. RDS pricing
          3. Creating an RDS instance
          4. Connecting to the RDS instance
          5. Security for RDS
          6. Managing the RDS instance
          7. Connect using client tools
          8. Importing data into the RDS instance
        2. Amazon SimpleDB
          1. Getting started with SimpleDB
      4. Summary
    14. 7. Migrating your Data and Deploying your Code
      1. Sample application code
      2. Installing the pre-requisites
        1. Disabling Internet explorer enhanced security configuration
        2. Installing IIS
        3. Installing .Net 4.0 and the MVC extensions
        4. Configuring IIS
        5. Installing the Application
          1. Installing the database servers
            1. Security
            2. Mirroring and failover
          2. Application Servers
          3. Web Servers
      3. Testing our sample application
      4. Troubleshooting our application
      5. Summary
    15. 8. Amazon's Queuing and Notification Options
      1. Simple Queue Service (SQS)
        1. Getting started
          1. SQS Scratchpad
          2. AWS SDK for .Net library and sample code
        2. An overview of how SQS works
        3. Creating your first queue
        4. Testing the full SQS lifecycle of a message
        5. SQS pricing and limits
      2. Simple Notification Service (SNS)
        1. An overview of how SNS works
        2. Getting started
        3. Creating a subscription
          1. Creating an e-mail subscription
          2. Testing our SNS subscription
          3. Testing a HTTP subscription
        4. SNS pricing and limits
      3. Applying SQS and SNS to our sample application
      4. Summary
    16. 9. Monitoring and Scaling My Application
      1. Autoscaling
        1. Installing the AWS Autoscaling tools
          1. Installing the CloudWatch API tools
        2. Architecture changes to Waaah for autoscaling
          1. Creating the application server load balancer
        3. Creating the autoscaling configuration
          1. Creating the launch configuration
          2. Creating the autoscaling group
          3. Creating an autoscale policy
          4. Creating the CloudWatch metric
          5. Checking our autoscaling
          6. Final configuration changes
      2. Pricing for autoscaling
      3. Using Amazon CloudWatch to monitor our application
        1. CloudWatch in the AWS console
      4. Pricing for CloudWatch
      5. Summary
    17. 10. Testing and Maintaining the Application
      1. Post deployment
      2. Load testing
        1. Grinder — an open source load test tool
          1. Starting the AMI
          2. Using grinder
            1. Modifying the registry values on all of your servers
            2. Starting the remote agents
            3. Creating/Editing the test scripts
            4. Running the test
          3. Re-running the test
      3. Patch Management, Quality Assurance (QA), and backups
        1. The problem to be solved
        2. The solution
        3. Solving the problem, step-by-step
          1. Bundling the existing production EC2 instances
          2. Creating new running EC2 instances
          3. Configuring the new instances
            1. Allocating a new elastic IP addresses and modifying the DNS settings
            2. Creating new load balancers
            3. Modifying the web.config files
            4. Modifying the security groups
            5. Applying the relevant patches and service packs
            6. Re-running the functional tests
            7. Re-run the Grinder load test
        4. The solution for the next steps
      4. Summary
    18. A. AWS Reference
      1. List of AWS terms and keywords
        1. Chapter 1
        2. Chapter 2
        3. Chapter 3
        4. Chapter 4
        5. Chapter 5
        6. Chapter 6
        7. Chapter 7
        8. Chapter 8
        9. Chapter 9
        10. Chapter 10
      2. AWS products covered in this book
        1. Amazon Elastic Compute Cloud (EC2)
          1. Command-line tools
            1. Environment variables used
            2. Commands used in the book:
          2. Summary of instance types and costs
        2. Amazon Simple Storage Service (S3)
          1. Command-line tools
            1. Commands used in the book
          2. Approximate costs
        3. Amazon Elastic Block Store (EBS)
          1. Command-line tools
            1. Commands used in the book:
          2. Available EBS Devices
          3. Approximate costs
        4. Amazon Autoscaling
          1. Command-line tools
            1. Commands used in the book:
          2. Approximate costs
        5. Amazon CloudFront
          1. Approximate costs
        6. Amazon SimpleDB
          1. Tools are located at
          2. Approximate costs
        7. Amazon Relational Database Service (RDS)
          1. Command-line tools
        8. Amazon Simple Queue Service (SQS)
          1. Command-line tools
          2. Approximate pricing
        9. Amazon Simple Notification Service (SNS)
          1. Command-line tools
          2. Subscription options
          3. Approximate pricing
        10. Amazon CloudWatch
          1. Command-line tools
            1. Commands used in the book:
          2. Approximate pricing
        11. Amazon Virtual Private Cloud (VPC)
          1. Command-line tools
          2. AWS console
          3. Approximate pricing
        12. Amazon Elastic Load Balancing
          1. Command-line tools
          2. Approximate pricing
        13. Amazon Import/Export
          1. Command-line tools
            1. Commands used in the book:
          2. Approximate pricing
      3. List of AWS data centers and regions
      4. Location of CloudFront edge locations