Building Distributed Applications in Gin

Building Distributed Applications in Gin
Title Building Distributed Applications in Gin PDF eBook
Author Mohamed Labouardy
Publisher Packt Publishing Ltd
Pages 482
Release 2021-07-23
Genre Computers
ISBN 1801079552

Download Building Distributed Applications in Gin Book in PDF, Epub and Kindle

An effective guide to learning how to build a large-scale distributed application using the wide range of functionalities in Gin Key FeaturesExplore the commonly used functionalities of Gin to build web applicationsBecome well-versed with rendering HTML templates with the Gin engineSolve commonly occurring challenges such as scaling, caching, and deploymentBook Description Gin is a high-performance HTTP web framework used to build web applications and microservices in Go. This book is designed to teach you the ins and outs of the Gin framework with the help of practical examples. You'll start by exploring the basics of the Gin framework, before progressing to build a real-world RESTful API. Along the way, you'll learn how to write custom middleware and understand the routing mechanism, as well as how to bind user data and validate incoming HTTP requests. The book also demonstrates how to store and retrieve data at scale with a NoSQL database such as MongoDB, and how to implement a caching layer with Redis. Next, you'll understand how to secure and test your API endpoints with authentication protocols such as OAuth 2 and JWT. Later chapters will guide you through rendering HTML templates on the server-side and building a frontend application with the React web framework to consume API responses. Finally, you'll deploy your application on Amazon Web Services (AWS) and learn how to automate the deployment process with a continuous integration/continuous delivery (CI/CD) pipeline. By the end of this Gin book, you will be able to design, build, and deploy a production-ready distributed application from scratch using the Gin framework. What you will learnBuild a production-ready REST API with the Gin frameworkScale web applications with event-driven architectureUse NoSQL databases for data persistenceSet up authentication middleware with JWT and Auth0Deploy a Gin-based RESTful API on AWS with Docker and KubernetesImplement a CI/CD workflow for Gin web appsWho this book is for This book is for Go developers who are comfortable with the Go language and seeking to learn REST API design and development with the Gin framework. Beginner-level knowledge of the Go programming language is required to make the most of this book.

Building RESTful Web Services with Go

Building RESTful Web Services with Go
Title Building RESTful Web Services with Go PDF eBook
Author Naren Yellavula
Publisher
Pages 316
Release 2017-12-28
Genre Computers
ISBN 9781788294287

Download Building RESTful Web Services with Go Book in PDF, Epub and Kindle

Explore the necessary concepts of REST API development by building few real world services from scratch. Key Features Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service Leverage the Gin Framework to quickly implement RESTful endpoints Learn to implement a client library for a RESTful web service using Go Book Description REST is an architectural style that tackles the challenges of building scalable web services and in today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Go, makes it a breeze for developers to work with it to build robust Web APIs. This book takes you through the design of RESTful web services and leverages a framework like Gin to implement these services. The book starts with a brief introduction to REST API development and how it transformed the modern web. You will learn how to handle routing and authentication of web services along with working with middleware for internal service. The book explains how to use Go frameworks to build RESTful web services and work with MongoDB to create REST API. You will learn how to integrate Postgres SQL and JSON with a Go web service and build a client library in Go for consuming REST API. You will learn how to scale APIs using the microservice architecture and deploy the REST APIs using Nginx as a proxy server. Finally you will learn how to metricize a REST API using an API Gateway. By the end of the book you will be proficient in building RESTful APIs in Go. What you will learn Create HTTP handler and introspect the Gorilla Mux router OAuth 2 implementation with Go Build RESTFul API with Gin Framework Create REST API with MongoDB and Go Build a working client library and unit test for REST API Debug, test, and profile RESTful APIs with each of the frameworks Optimize and scale REST API using microservices Who this book is for This book is intended for those who want to learn to build RESTful web services with a framework like Gin. To make best use of the code samples included in the book, you should have a basic knowledge of Go programming.

Hands-On Software Architecture with Golang

Hands-On Software Architecture with Golang
Title Hands-On Software Architecture with Golang PDF eBook
Author Jyotiswarup Raiturkar
Publisher Packt Publishing Ltd
Pages 716
Release 2018-12-07
Genre Computers
ISBN 1788625102

Download Hands-On Software Architecture with Golang Book in PDF, Epub and Kindle

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling Key FeaturesGain knowledge of architectural approaches on SOA and microservices for architectural decisionsExplore different architectural patterns for building distributed applicationsMigrate applications written in Java or Python to the Go languageBook Description Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns. Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages. By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang. What you will learnUnderstand architectural paradigms and deep dive into MicroservicesDesign parallelism/concurrency patterns and learn object-oriented design patterns in GoExplore API-driven systems architecture with introduction to REST and GraphQL standardsBuild event-driven architectures and make your architectures anti-fragileEngineer scalability and learn how to migrate to Go from other languagesGet to grips with deployment considerations with CICD pipeline, cloud deployments, and so onBuild an end-to-end e-commerce (travel) application backend in GoWho this book is for Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.

Pipeline as Code

Pipeline as Code
Title Pipeline as Code PDF eBook
Author Mohamed Labouardy
Publisher Simon and Schuster
Pages 750
Release 2021-11-23
Genre Computers
ISBN 163835037X

Download Pipeline as Code Book in PDF, Epub and Kindle

Start thinking about your development pipeline as a mission-critical application. Discover techniques for implementing code-driven infrastructure and CI/CD workflows using Jenkins, Docker, Terraform, and cloud-native services. In Pipeline as Code, you will master: Building and deploying a Jenkins cluster from scratch Writing pipeline as code for cloud-native applications Automating the deployment of Dockerized and Serverless applications Containerizing applications with Docker and Kubernetes Deploying Jenkins on AWS, GCP and Azure Managing, securing and monitoring a Jenkins cluster in production Key principles for a successful DevOps culture Pipeline as Code is a practical guide to automating your development pipeline in a cloud-native, service-driven world. You’ll use the latest infrastructure-as-code tools like Packer and Terraform to develop reliable CI/CD pipelines for numerous cloud-native applications. Follow this book's insightful best practices, and you’ll soon be delivering software that’s quicker to market, faster to deploy, and with less last-minute production bugs. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Treat your CI/CD pipeline like the real application it is. With the Pipeline as Code approach, you create a collection of scripts that replace the tedious web UI wrapped around most CI/CD systems. Code-driven pipelines are easy to use, modify, and maintain, and your entire CI pipeline becomes more efficient because you directly interact with core components like Jenkins, Terraform, and Docker. About the book In Pipeline as Code you’ll learn to build reliable CI/CD pipelines for cloud-native applications. With Jenkins as the backbone, you’ll programmatically control all the pieces of your pipeline via modern APIs. Hands-on examples include building CI/CD workflows for distributed Kubernetes applications, and serverless functions. By the time you’re finished, you’ll be able to swap manual UI-based adjustments with a fully automated approach! What's inside Build and deploy a Jenkins cluster on scale Write pipeline as code for cloud-native applications Automate the deployment of Dockerized and serverless applications Deploy Jenkins on AWS, GCP, and Azure Grasp key principles of a successful DevOps culture About the reader For developers familiar with Jenkins and Docker. Examples in Go. About the author Mohamed Labouardy is the CTO and co-founder of Crew.work, a Jenkins contributor, and a DevSecOps evangelist. Table of Contents PART 1 GETTING STARTED WITH JENKINS 1 What’s CI/CD? 2 Pipeline as code with Jenkins PART 2 OPERATING A SELF-HEALING JENKINS CLUSTER 3 Defining Jenkins architecture 4 Baking machine images with Packer 5 Discovering Jenkins as code with Terraform 6 Deploying HA Jenkins on multiple cloud providers PART 3 HANDS-ON CI/CD PIPELINES 7 Defining a pipeline as code for microservices 8 Running automated tests with Jenkins 9 Building Docker images within a CI pipeline 10 Cloud-native applications on Docker Swarm 11 Dockerized microservices on K8s 12 Lambda-based serverless functions PART 4 MANAGING, SCALING, AND MONITORING JENKINS 13 Collecting continuous delivery metrics 14 Jenkins administration and best practices

Hands-On Dependency Injection in Go

Hands-On Dependency Injection in Go
Title Hands-On Dependency Injection in Go PDF eBook
Author Corey Scott
Publisher Packt Publishing Ltd
Pages 338
Release 2018-11-27
Genre Computers
ISBN 1789131758

Download Hands-On Dependency Injection in Go Book in PDF, Epub and Kindle

Explore various dependency injection methods in Go such as monkey patching, constructor injection, and method injection Key FeaturesLearn to evaluate Code UX and make it betterExplore SOLID principles and understand how they relate to dependency injectionUse Google's wire framework to simplify dependence managementBook Description Hands-On Dependency Injection in Go takes you on a journey, teaching you about refactoring existing code to adopt dependency injection (DI) using various methods available in Go. Of the six methods introduced in this book, some are conventional, such as constructor or method injection, and some unconventional, such as just-in-time or config injection. Each method is explained in detail, focusing on their strengths and weaknesses, and is followed with a step-by-step example of how to apply it. With plenty of examples, you will learn how to leverage DI to transform code into something simple and flexible. You will also discover how to generate and leverage the dependency graph to spot and eliminate issues. Throughout the book, you will learn to leverage DI in combination with test stubs and mocks to test otherwise tricky or impossible scenarios. Hands-On Dependency Injection in Go takes a pragmatic approach and focuses heavily on the code, user experience, and how to achieve long-term benefits through incremental changes. By the end of this book, you will have produced clean code that’s easy to test. What you will learnUnderstand the benefits of DIExplore SOLID design principles and how they relate to GoAnalyze various dependency injection patterns available in GoLeverage DI to produce high-quality, loosely coupled Go codeRefactor existing Go code to adopt DIDiscover tools to improve your code’s testability and test coverageGenerate and interpret Go dependency graphsWho this book is for Hands-On Dependency Injection in Go is for programmers with a few year s experience in any language and a basic understanding of Go. If you wish to produce clean, loosely coupled code that is inherently easier to test, this book is for you.

Elasticsearch: The Definitive Guide

Elasticsearch: The Definitive Guide
Title Elasticsearch: The Definitive Guide PDF eBook
Author Clinton Gormley
Publisher "O'Reilly Media, Inc."
Pages 659
Release 2015-01-23
Genre Computers
ISBN 1449358500

Download Elasticsearch: The Definitive Guide Book in PDF, Epub and Kindle

Whether you need full-text search or real-time analytics of structured data—or both—the Elasticsearch distributed search engine is an ideal way to put your data to work. This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships. If you’re a newcomer to both search and distributed systems, you’ll quickly learn how to integrate Elasticsearch into your application. More experienced users will pick up lots of advanced techniques. Throughout the book, you’ll follow a problem-based approach to learn why, when, and how to use Elasticsearch features. Understand how Elasticsearch interprets data in your documents Index and query your data to take advantage of search concepts such as relevance and word proximity Handle human language through the effective use of analyzers and queries Summarize and group data to show overall trends, with aggregations and analytics Use geo-points and geo-shapes—Elasticsearch’s approaches to geolocation Model your data to take advantage of Elasticsearch’s horizontal scalability Learn how to configure and monitor your cluster in production

Hands-On RESTful Web Services with Go

Hands-On RESTful Web Services with Go
Title Hands-On RESTful Web Services with Go PDF eBook
Author Naren Yellavula
Publisher Packt Publishing Ltd
Pages 393
Release 2020-02-28
Genre Computers
ISBN 1838647546

Download Hands-On RESTful Web Services with Go Book in PDF, Epub and Kindle

Design production-ready, testable, and maintainable RESTful web services for the modern web that scale easily Key FeaturesEmploy a combination of custom and open source solutions for application program interface (API) developmentDiscover asynchronous API and API security patterns and learn how to deploy your web services to the cloudApply design patterns and techniques to build reactive and scalable web servicesBook Description Building RESTful web services can be tough as there are countless standards and ways to develop API. In modern architectures such as microservices, RESTful APIs are common in communication, making idiomatic and scalable API development crucial. This book covers basic through to advanced API development concepts and supporting tools. You’ll start with an introduction to REST API development before moving on to building the essential blocks for working with Go. You’ll explore routers, middleware, and available open source web development solutions in Go to create robust APIs, and understand the application and database layers to build RESTful web services. You’ll learn various data formats like protocol buffers and JSON, and understand how to serve them over HTTP and gRPC. After covering advanced topics such as asynchronous API design and GraphQL for building scalable web services, you’ll discover how microservices can benefit from REST. You’ll also explore packaging artifacts in the form of containers and understand how to set up an ideal deployment ecosystem for web services. Finally, you’ll cover the provisioning of infrastructure using infrastructure as code (IaC) and secure your REST API. By the end of the book, you’ll have intermediate knowledge of web service development and be able to apply the skills you’ve learned in a practical way. What you will learnExplore the fundamentals of API development and web servicesUnderstand the various building blocks of API development in GoUse superior open source solutions for representational state transfer (REST) API developmentScale a service using microservices and asynchronous design patternsDeliver containerized artifacts to the Amazon Web Services (AWS) CloudGet to grips with API security and its implementationWho this book is for This book is for all the Go developers who are comfortable with the language and seeking to learn REST API development. Even senior engineers can enjoy this book, as it discusses many cutting-edge concepts, such as building microservices, developing API with GraphQL, using protocol buffers, asynchronous API design, and Infrastructure as a Code. Developers who are already familiar with REST concepts and stepping into the Go world from other platforms, such as Python and Ruby, can also benefit a lot.