万本电子书0元读

万本电子书0元读

顶部广告

Cloud Native programming with Golang电子书

售       价:¥

14人正在读 | 0人评论 9.8

作       者:Mina Andrawos,Martin Helmich

出  版  社:Packt Publishing

出版时间:2017-12-28

字       数:47.5万

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

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Discover practical techniques to build cloud-native apps that are scalable, reliable, and always available. About This Book ? Build well-designed and secure microservices. Enrich your microservices with continous integration and monitoring. ? Containerize your application with Docker ? Deploy your application to AWS. Learn how to utilize the powerful AWS services from within your application Who This Book Is For This book is for developers who want to begin building secure, resilient, robust, and scalable Go applications that are cloud native. Some knowledge of the Go programming language should be sufficient.To build the front-end application, you will also need some knowledge of JavaScript programming. What You Will Learn ? Understand modern software applications architectures ? Build secure microservices that can effectively communicate with other services ? Get to know about event-driven architectures by diving into message queues such as Kafka, Rabbitmq, and AWS SQS. ? Understand key modern database technologies such as MongoDB, and Amazon’s DynamoDB ? Leverage the power of containers ? Explore Amazon cloud services fundamentals ? Know how to utilize the power of the Go language to access key services in the Amazon cloud such as S3, SQS, DynamoDB and more. ? Build front-end applications using ReactJS with Go ? Implement CD for modern applications In Detail Cloud computing and microservices are two very important concepts in modern software architecture. They represent key skills that ambitious software engineers need to acquire in order to design and build software applications capable of performing and scaling. Go is a modern cross-platform programming language that is very powerful yet simple; it is an excellent choice for microservices and cloud applications. Go is gaining more and more popularity, and becoming a very attractive skill.. The book will take you on a journey into the world of microservices and cloud computing with the help of Go. It will start by covering the software architectural patterns of cloud applications, as well as practical concepts regarding how to scale, distribute, and deploy those applications. You will also learn how to build a JavaScript-based front-end for your application, using TypeScript and React. From there, we dive into commercial cloud offerings by covering AWS. Finally, we conclude our book by providing some overviews of other concepts and technologies that the reader can explore to move from where the book leaves off. Style and approach This book provides practical techniques, code examples, and architectural patterns required to build cloud native microservices in the Go language. It progresses through the subjects in a step-by-step manner. In each step, we cover the technical concepts behind it, the design considerations, and the code needed to build it.
目录展开

Title Page

Copyright

Cloud Native programming with Golang

Credits

About the Authors

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

Modern Microservice Architectures

Why Go?

Basic design goals

Cloud service models

Cloud application architecture patterns

The twelve-factor app

What are microservices?

Deploying microservices

REST web services and asynchronous messaging

The MyEvents platform

Summary

Building Microservices Using Rest APIs

The background

So, what are microservices?

Microservices internals

RESTful Web APIs

Gorilla web toolkit

Implementing a Restful API

Persistence layer

MongoDB

MongoDB and the Go language

Implementing our RESTful APIs handler functions

Summary

Securing Microservices

HTTPS

Symmetric cryptography

Symmetric-key algorithms in HTTPS

Asymmetric cryptography

Asymmetrical cryptography in HTTPS

Secure web services in Go

Obtaining a certificate

OpenSSL

generate_cert.go

Building an HTTPS server in Go

Summary

Asynchronous Microservice Architectures Using Message Queues

The publish/subscribe pattern

Introducing the booking service

Event collaboration

Implementing publish/subscribe with RabbitMQ

The Advanced Message Queueing Protocol

RabbitMQ quickstart with Docker

Advanced RabbitMQ setups

Connecting RabbitMQ with Go

Publishing and subscribing to AMQP messages

Building an event emitter

Building an event subscriber

Building the booking service

Event sourcing

Implementing publish/subscribe and event sourcing with Apache Kafka

Kafka quickstart with Docker

Basic principles of Apache Kafka

Connecting to Kafka with Go

Publishing messages with Kafka

Consuming messages from Kafka

Summary

Building a Frontend with React

Getting started with React

Setting up Node.js and TypeScript

Initializing the React project

Basic React principles

Kick-starting the MyEvents frontend

Implementing the event list

Bringing your own client

Building the event list components

Enabling CORS in the backend services

Testing the event list

Adding routing and navigation

Implementing the booking process

Summary

Deploying Your Application in Containers

What are containers?

Introduction to Docker

Running simple containers

Building your own images

Networking containers

Working with volumes

Building containers

Building containers for the backend services

Using static compilation for smaller images

Building containers for the frontend

Deploying your application with Docker Compose

Publishing your images

Deploying your application to the cloud

Introduction to Kubernetes

Setting up a local Kubernetes with Minikube

Core concepts of Kubernetes

Services

Persistent volumes

Deploying MyEvents to Kubernetes

Creating the RabbitMQ broker

Creating the MongoDB containers

Making images available to Kubernetes

Deploying the MyEvents components

Configuring HTTP Ingress

Summary

AWS I – Fundamentals, AWS SDK for Go, and EC2

AWS fundamentals

The AWS console

AWS command-line interface (CLI)

AWS regions and zones

AWS tags

AWS Elastic Beanstalk

AWS services

AWS SDK for Go

Configuring the AWS region

Configuring AWS SDK authentication

Creating IAM Users

Creating IAM Roles

The fundamentals of the AWS SDK for Go

Sessions

Service clients

Native datatypes

Shared configuration

Pagination methods

Waiters

Handling Errors

Elastic Compute Cloud (EC2)

Creating EC2 instances

Accessing EC2 instances

Accessing EC2 instances from a Linux or macOS machine

Accessing EC2 from Windows

Security groups

Summary

AWS II–S3, SQS, API Gateway, and DynamoDB

Simple Storage Service (S3)

Configuring S3

Simple Queue Service (SQS)

AWS API gateway

DynamoDB

DynamoDB components

Attribute value data types

Primary keys

Secondary indexes

Creating tables

The Go language and DynamoDB

Summary

Continuous Delivery

Setting up your project

Setting up version control

Vendoring your dependencies

Using Travis CI

Deploying to Kubernetes

Using GitLab

Setting up GitLab

Setting up GitLab CI

Summary

Monitoring Your Application

Setting up Prometheus and Grafana

Prometheus's basics

Creating an initial Prometheus configuration file

Running Prometheus on Docker

Running Grafana on Docker

Exporting metrics

Using the Prometheus client in your Go application

Configuring Prometheus scrape targets

Exporting custom metrics

Running Prometheus on Kubernetes

Summary

Migration

What is a monolithic application?

What are microservices?

Migrating from monolithic applications to microservices

Humans and technology

Cutting a monolithic application to pieces

How do we break the code?

Glue code

Microservices design patterns

Sacrificial architecture

A four-tier engagement platform

Bounded contexts in domain-driven designs

Data consistency

Event-driven architecture for data consistency

Events sourcing

CQRS

Summary

Where to Go from Here?

Microservices communications

Protocol buffers

GRPC

More on AWS

DynamoDB streams

Autoscaling on AWS

Amazon Relational Database Service

Other cloud providers

Microsoft Azure

Google Cloud Platform

OpenStack

Running containers in the cloud

Serverless architectures

Summary

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部