
- 404 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Cloud Native Programming with Golang
About this book
Discover practical techniques to build cloud-native apps that are scalable, reliable, and always available.
Key Features
- 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
Book Description
Awarded as one of the best books of all time by BookAuthority, Cloud Native Programming with Golang will take you on a journey into the world of microservices and cloud computing with the help of Go.
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.
This book starts 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 you can explore, to move from where the book leaves off.
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
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.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
AWS II–S3, SQS, API Gateway, and DynamoDB
- The AWS S3 storage service
- The SQS message queue service
- The AWS API gateway service
- The DynamoDB database service
Simple Storage Service (S3)
Configuring S3




The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Cloud-Native-Programming-with-Golang.
aws s3 cp s3://<my_bucket>/<my_folder>/events my_local_events_copy
chmod u+x <my_executable_file>
Simple Queue Service (SQS)



- Obtaining or creating a session object
- Creating a service client for our desired AWS service
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-west-1"),
})
if err != nil {
log.Fatal(err)
}
sqsSvc := sqs.New(sess) QUResult, err := sqsSvc.GetQueueUrl(&sqs.GetQueueUrlInput{
QueueName: aws.String("eventqueue"),
})
if err != nil {
log.Fatal(err)
} Table of contents
- Title Page
- Copyright
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- Modern Microservice Architectures
- Building Microservices Using Rest APIs
- Securing Microservices
- Asynchronous Microservice Architectures Using Message Queues
- Building a Frontend with React
- Deploying Your Application in Containers
- AWS I – Fundamentals, AWS SDK for Go, and EC2
- AWS II–S3, SQS, API Gateway, and DynamoDB
- Continuous Delivery
- Monitoring Your Application
- Migration
- Where to Go from Here?