You are previewing Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to Deliver SaaS Solutions.
O'Reilly logo
Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to Deliver SaaS Solutions

Book Description

This book provides practical guidance for adopting a high velocity, continuous delivery process to create reliable, scalable, Software-as-a-Service (SaaS) solutions that are designed and built using a microservice architecture, deployed to the Azure cloud, and managed through automation. Microservices, IoT, and Azure offers software developers, architects, and operations engineers’ step-by-step directions for building SaaS applications—applications that are available 24x7, work on any device, scale elastically, and are resilient to change--through code, script, exercises, and a working reference implementation.

The book provides a working definition of microservices and contrasts this approach with traditional monolithic Layered Architecture. A fictitious, homebiomedical startup is used to demonstrate microservice architecture and automation capabilities for cross-cutting and business services as well as connected device scenarios for Internet of Things (IoT). Several Azure PaaS services are detailed including Storage, SQL Database, DocumentDb, Redis Cache, Cloud Services, Web API's, API Management, IoT Hub, IoT Suite, Event Hub, and Stream Analytics. Finally the book looks to the future and examines Service Fabric to see how microservices are becoming the de facto approach to building reliable software in the cloud.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Dedication
  5. Contents at a Glance
  6. Contents
  7. About the Author
  8. About the Technical Reviewer
  9. Acknowledgments
  10. Introduction
  11. Chapter 1: From Monolithic to Microservice
    1. Software as a Service
      1. Continuous Delivery
      2. Agile and Scrum
      3. Lean Engineering
      4. DevOps
      5. Cloud
      6. Microservices
    2. Summary
  12. Chapter 2: What Is a Microservice?
    1. Microservices Are…
      1. Autonomous and Isolated
      2. Elastic, Resilient, and Responsive
      3. Message-Oriented and Programmable
      4. Configurable
      5. Automated
    2. The Benefits of Microservices
      1. Evolutionary
      2. Open
      3. High Velocity
      4. Reusable and Composable
      5. Flexible
      6. Versionable and Replaceable
      7. Owned by One Team
    3. The Challenges of Microservices
      1. [re]Organization
      2. Platform
      3. Identification
      4. Testing
      5. Discoverability
    4. Summary
  13. Chapter 3: Microservice Architecture
    1. Layered Architecture
    2. A Microservice Approach
    3. Microservice Logical Architecture
      1. Models
      2. SDK Layer
      3. API Gateway Layer
      4. Protocol Layer
      5. Service Layer
      6. Data Access Layer
      7. Store
      8. Automation
    4. Summary
  14. Chapter 4: Azure, A Microservice Platform
    1. Data and Storage
      1. Azure Storage
      2. SQL Database
      3. DocumentDb
      4. Redis Cache
    2. Service Bus
      1. Queue
    3. API Management
      1. API Proxies
      2. API Subscriptions
      3. Policy Injection
    4. Containers
      1. Cloud Services and App Services
    5. Summary
  15. Chapter 5: Automation
    1. Azure PowerShell
      1. PowerShell Consoles
    2. Provisioning
      1. Azure Resource Groups
      2. The Home Biomedical Git Repository
      3. Provisioning Azure Resources
      4. Console Application Integration
      5. Provisioning Shared Services
      6. Collecting Connection Strings
      7. Provisioning Microservices
      8. Provisioning the Biometrics Microservice
    3. Build
      1. NuGet Packaging
      2. Build Scripts
    4. Deployment
      1. Deploy Data
      2. Generate Packages
      3. Deploy Packages
      4. Deploy Biometrics Microservice
      5. Verifying Data Deployment
      6. Verifying Microservice Deployment
      7. Verifying the Biometrics Microservice
    5. Summary
  16. Chapter 6: Microservice Reference Implementation
    1. The Product
      1. The Epic
      2. The Business Capabilities
      3. The Technical Capabilities
      4. The Azure Resources
      5. The Custom Microservices
    2. Microservice Reference Implementation
      1. One Microservice, Two APIs
      2. Common
      3. ConfigM - Configuration and Discoverability
    3. Summary
  17. Chapter 7: IoT and Microservices
    1. IoT Capabilities
    2. Azure IoT Services
      1. Custom Development
      2. Scripted Scenario
    3. The Reference Implementation IoT Capabilities
      1. Device Management
      2. Telemetry Ingestion
      3. Telemetry Transformation and Storage
      4. Real-Time Notifications
      5. Real-Time Data Visualization
    4. Summary
  18. Chapter 8: Service Fabric
    1. Concepts
    2. Platform Architecture
    3. Application Model
      1. Partitioning
    4. Programming Models
      1. Reliable Service
      2. Reliable Actor
    5. Service Fabric Example: Stateless Web API - RefM
      1. Getting Started
      2. Service Fabric Hosting Model
      3. Implement RefM Public Web API
      4. Testing the Service
    6. Summary
  19. Index