Book Image

Cloud Native programming with Golang

By : Mina Andrawos, Martin Helmich
Book Image

Cloud Native programming with Golang

By: Mina Andrawos, Martin Helmich

Overview of this book

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.
Table of Contents (19 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
AWS I – Fundamentals, AWS SDK for Go, and EC2

Using Travis CI


Travis CI is a hosted service for continuous integration. It is very tightly coupled to GitHub (which is why you will need a Git repository on GitHub to actually use Travis CI). It is free to use for open source projects, which, together with its good GitHub integration, makes it the go-to choice for many popular projects. For building private GitHub projects, there is a paid usage model.

The configuration of your Travis build is done by a .travis.yml file that needs to be present at the root level of your repository. Basically, this file can look like this:

language: go 
go: 
  - 1.6 
  - 1.7 
  - 1.8 
  - 1.9
env: 
  - CGO_ENABLED=0 
 
install: true 
script: 
  - go build

The language property describes which programming language your project is written in. Depending on whichever language you provide here, you will have different tools available in your build environment. The go property describes for which versions of Go your application should be built. Testing your code...