Contents

Foreword

Preface

Acknowledgments

About the Authors

1 Microservices

What are Microservices?

Autonomous Services

Small Services

Benefits of Microservices

Independent Deployments

Continuous Innovation

Improved Scale and Resource Utilization

Technology Diversity

Small Focused Teams

Fault Isolation

Challenges

Complexity

Network Congestion and Latency

Data Consistency

Testing

Integration and Versioning

Service Discovery and Routing

Monitoring and Logging

Skillset and Experience

Uptime Service Level Agreement

Best Practices

Encapsulation

DevOps Principles and Culture

Automation

Monitoring

Fault Tolerance

Summary

2 Containers on Azure Basics

VMs, Containers, and Processes

When Would We Use a Container Over a Virtual Machine or a Process?

Containers on Azure

Creating an Azure VM with Docker

Generating an SSH Public Key on Windows

Generating an SSH Public Key on Mac OS X

Choosing a Virtual Machine Image

Connecting to the VM Using SSH and Git Bash on Windows

Connecting to the VM Using SSH and Git Bash on Mac OS X

Docker Container Basics

Summary

3 Designing the Application

Determining Where to Start

Coarse-Grained Services

Starting with Microservices

Defining Services and Interfaces

Decomposing the Application

Service Design

Service to Service Communication

Synchronous Request/Response

Asynchronous Messaging

Monolith to Microservices

Flak.io e-Commerce Sample

Flak.io

Requirements

Architecture Overview

Considerations

Summary

4 Setting Up Your Development Environment

Using Docker for Local Development

Docker for Local Development

Docker for Production Validation

Docker as a Build/Test Host

Developer Configurations

Local Development

Local and Cloud

Cloud Only

Managing Docker Authentication

Choosing a Base Image

Build a Hierarchy of Images

Setting up your Local Dev Environment

Install Docker Tools

Install Developer Tools

Install Windows Utilities

Install OSX Utilities

Docker for Local Development

Local Development Settings

Starting your Local Docker Host

Connecting to a Docker Host

Cloning Samples

Enabling Live Reload in a Docker Container

Volumes

Preparing your Microservice for Production

Docker Compose

Debugging Docker Issues

Unable to Connect to the Docker Host

Containers That Won’t Start

Diagnosing a Running Container

Summary

5 Service Orchestration and Connectivity

Orchestration

Provisioning

Infrastructure as Code

Azure Resource Manager

Azure Container Service

Multivendor Provisioning

Scheduling and Cluster Management

Challenges

A Scheduling Solution

Docker Swarm

Kubernetes

Apache Mesos

Using Apache Mesos to Run Diverse Workloads

Service Discovery

Service Registration

Service Lookup

Service Registry

Technologies

Other Technologies

Application/API Gateway

Overlay Networking

Summary

6 DevOps and Continuous Delivery

DevOps Overview

Modern DevOps

DevOps Culture

Continuous Integration, Delivery, and Deployment

Creating Environments in Azure

Deploying a Microservice with Continuous Delivery

Application Configuration Changes Across Different Environments

Continuous Integration

Testing in a QA Environment

Deploying to Staging

Testing in Production

Choosing a Continuous Delivery Tool

On-Premises or Hosted?

On-Premises or Hosted Build Agents?

Best-of-breed or Integrated Solution?

Does the Tool Provide the Extensibility You Need?

Comparison of Jenkins, Team Services, Bamboo, and Tutum

Docker Cloud (Formerly Called Tutum)

Summary

7 Monitoring

Monitoring the Host Machine

Monitoring Containers

Monitoring Services

Monitoring Solutions

Azure Diagnostics

Application Insights

Operations Management Suite (OMS)

Recommended Solutions by Docker

Summary

8 Azure Service Fabric

Service Fabric Overview

Service Fabric Subsystems

Cluster Management

Resource Scheduling

Service Fabric Application

Custom Applications (Existing Applications)

Container Integration

Service Discovery

Programming Model

Stateless Services

Stateful Services

Reliable Actors

Reliable Services

Application Lifecycle

Service Updates

Application Upgrades

Testability Framework

Summary

A ASP.NET Core 1.0 and Microservices

A New Version of ASP.NET

Getting Started

Choosing the Right ASP.NET Docker Image

Visual Studio 2015 Tooling

ASP.NET Microservices Best Practices

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.189.186.109