Grokking Continuous Delivery

Grokking Continuous Delivery

Author: Christie Wilson

Publisher: Simon and Schuster

Published: 2022-11-08

Total Pages: 422

ISBN-13: 1617298255

DOWNLOAD EBOOK

Build and use systems that safely automate software delivery from testing through release with this jargon-busting guide to Continuous Delivery pipelines. In Grokking Continuous Delivery you will learn how to: Design effective CD pipelines for new and legacy projects Keep your software projects release-ready Maintain effective tests Scale CD across multiple applications Ensure pipelines give the right signals at the right time Use version control as the source of truth Safely automate deployments with metrics Describe CD in a way that makes sense to your colleagues Grokking Continuous Delivery teaches you the design and purpose of continuous delivery systems that you can use with any language or stack. You’ll learn directly from your mentor Christie Wilson, Google engineer and co-creator of the Tekton CI/CD framework. Using crystal-clear, well-illustrated examples, Christie lays out the practical nuts and bolts of continuous delivery for developers and pipeline designers. In each chapter, you’ll uncover the proper approaches to solve the real-world challenges of setting up a CD pipeline. With this book as your roadmap, you’ll have a clear plan for bringing CD to your team without the need for costly trial-and-error experimentation. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Keep your codebase release-ready. A continuous delivery pipeline automates version control, testing, and deployment with minimal developer intervention. Master the tools and practices of continuous delivery, and you’ll be able to add features and push updates quickly and consistently. About the book Grokking Continuous Delivery is a friendly guide to setting up and working with a continuous delivery pipeline. Each chapter takes on a different scenario you’ll face when setting up a CD system, with real-world examples like automated scaling and testing legacy applications. Taking a tool-agnostic approach, author Christie Wilson guides you each step of the way with illustrations, crystal-clear explanations, and practical exercises to lock in what you’re learning. What's inside Design effective CD pipelines for new and legacy projects Ensure your pipelines give the right signals at the right times Version control as the source of truth Safely automate deployments About the reader For software engineers who want to add CD to their development process. About the author Christie Wilson is a software engineer at Google, where she co-created Tekton, a cloud-native CI/CD platform built on Kubernetes. Table of Contents PART 1 Introducing continuous delivery 1 Welcome to Grokking Continuous Delivery 2 A basic pipeline PART 2 Keeping software in a deliverable state at all times 3 Version control is the only way to roll 4 Use linting effectively 5 Dealing with noisy tests 6 Speeding up slow test suites 7 Give the right signals at the right times PART 3 Making delivery easy 8 Easy delivery starts with version control 9 Building securely and reliably 10 Deploying confidently PART 4 CD design 11 Starter packs: From zero to CD 12 Scripts are code, too 13 Pipeline design


Grokking Continuous Delivery

Grokking Continuous Delivery

Author: Christie Wilson

Publisher: Simon and Schuster

Published: 2022-12-06

Total Pages: 422

ISBN-13: 163835149X

DOWNLOAD EBOOK

Build and use systems that safely automate software delivery from testing through release with this jargon-busting guide to continuous delivery pipelines. In Grokking Continuous Delivery you will learn how to: Design effective CD pipelines for new and legacy projects Keep your software projects release-ready Maintain effective tests Scale CD across multiple applications Ensure pipelines give the right signals at the right time Use version control as the source of truth Safely automate deployments with metrics Describe CD in a way that makes sense to your colleagues Grokking Continuous Delivery teaches you the design and purpose of continuous delivery systems that you can use with any language or stack. You’ll learn directly from your mentor Christie Wilson, Google engineer and co-creator of the Tekton CI/CD framework. Using crystal-clear, well-illustrated examples, Christie lays out the practical nuts and bolts of continuous delivery for developers and pipeline designers. In each chapter, you’ll uncover the proper approaches to solve the real-world challenges of setting up a CD pipeline. With this book as your roadmap, you’ll have a clear plan for bringing CD to your team without the need for costly trial-and-error experimentation. About the technology Keep your codebase release-ready. A continuous delivery pipeline automates version control, testing, and deployment with minimal developer intervention. Master the tools and practices of continuous delivery, and you’ll be able to add features and push updates quickly and consistently. About the book Grokking Continuous Delivery is a friendly guide to setting up and working with a continuous delivery pipeline. Each chapter takes on a different scenario you’ll face when setting up a CD system, with real-world examples like automated scaling and testing legacy applications. Taking a tool-agnostic approach, author Christie Wilson guides you each step of the way with illustrations, crystal-clear explanations, and practical exercises to lock in what you’re learning. What's inside Design effective CD pipelines for new and legacy projects Ensure your pipelines give the right signals at the right times Version control as the source of truth Safely automate deployments About the reader For software engineers who want to add CD to their development process. About the author Christie Wilson is a software engineer at Google, where she co-created Tekton, a cloud-native CI/CD platform built on Kubernetes. Table of Contents PART 1 Introducing continuous delivery 1 Welcome to Grokking Continuous Delivery 2 A basic pipeline PART 2 Keeping software in a deliverable state at all times 3 Version control is the only way to roll 4 Use linting effectively 5 Dealing with noisy tests 6 Speeding up slow test suites 7 Give the right signals at the right times PART 3 Making delivery easy 8 Easy delivery starts with version control 9 Building securely and reliably 10 Deploying confidently PART 4 CD design 11 Starter packs: From zero to CD 12 Scripts are code, too 13 Pipeline design


Grokking Deep Learning

Grokking Deep Learning

Author: Andrew W. Trask

Publisher: Simon and Schuster

Published: 2019-01-23

Total Pages: 475

ISBN-13: 163835720X

DOWNLOAD EBOOK

Summary Grokking Deep Learning teaches you to build deep learning neural networks from scratch! In his engaging style, seasoned deep learning expert Andrew Trask shows you the science under the hood, so you grok for yourself every detail of training neural networks. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Deep learning, a branch of artificial intelligence, teaches computers to learn by using neural networks, technology inspired by the human brain. Online text translation, self-driving cars, personalized product recommendations, and virtual voice assistants are just a few of the exciting modern advancements possible thanks to deep learning. About the Book Grokking Deep Learning teaches you to build deep learning neural networks from scratch! In his engaging style, seasoned deep learning expert Andrew Trask shows you the science under the hood, so you grok for yourself every detail of training neural networks. Using only Python and its math-supporting library, NumPy, you'll train your own neural networks to see and understand images, translate text into different languages, and even write like Shakespeare! When you're done, you'll be fully prepared to move on to mastering deep learning frameworks. What's inside The science behind deep learning Building and training your own neural networks Privacy concepts, including federated learning Tips for continuing your pursuit of deep learning About the Reader For readers with high school-level math and intermediate programming skills. About the Author Andrew Trask is a PhD student at Oxford University and a research scientist at DeepMind. Previously, Andrew was a researcher and analytics product manager at Digital Reasoning, where he trained the world's largest artificial neural network and helped guide the analytics roadmap for the Synthesys cognitive computing platform. Table of Contents Introducing deep learning: why you should learn it Fundamental concepts: how do machines learn? Introduction to neural prediction: forward propagation Introduction to neural learning: gradient descent Learning multiple weights at a time: generalizing gradient descent Building your first deep neural network: introduction to backpropagation How to picture neural networks: in your head and on paper Learning signal and ignoring noise:introduction to regularization and batching Modeling probabilities and nonlinearities: activation functions Neural learning about edges and corners: intro to convolutional neural networks Neural networks that understand language: king - man + woman == ? Neural networks that write like Shakespeare: recurrent layers for variable-length data Introducing automatic optimization: let's build a deep learning framework Learning to write like Shakespeare: long short-term memory Deep learning on unseen data: introducing federated learning Where to go from here: a brief guide


Grokking Streaming Systems

Grokking Streaming Systems

Author: Josh Fischer

Publisher: Simon and Schuster

Published: 2022-04-19

Total Pages: 310

ISBN-13: 1638356491

DOWNLOAD EBOOK

A friendly, framework-agnostic tutorial that will help you grok how streaming systems work—and how to build your own! In Grokking Streaming Systems you will learn how to: Implement and troubleshoot streaming systems Design streaming systems for complex functionalities Assess parallelization requirements Spot networking bottlenecks and resolve back pressure Group data for high-performance systems Handle delayed events in real-time systems Grokking Streaming Systems is a simple guide to the complex concepts behind streaming systems. This friendly and framework-agnostic tutorial teaches you how to handle real-time events, and even design and build your own streaming job that’s a perfect fit for your needs. Each new idea is carefully explained with diagrams, clear examples, and fun dialogue between perplexed personalities! About the technology Streaming systems minimize the time between receiving and processing event data, so they can deliver responses in real time. For applications in finance, security, and IoT where milliseconds matter, streaming systems are a requirement. And streaming is hot! Skills on platforms like Spark, Heron, and Kafka are in high demand. About the book Grokking Streaming Systems introduces real-time event streaming applications in clear, reader-friendly language. This engaging book illuminates core concepts like data parallelization, event windows, and backpressure without getting bogged down in framework-specific details. As you go, you’ll build your own simple streaming tool from the ground up to make sure all the ideas and techniques stick. The helpful and entertaining illustrations make streaming systems come alive as you tackle relevant examples like real-time credit card fraud detection and monitoring IoT services. What's inside Implement and troubleshoot streaming systems Design streaming systems for complex functionalities Spot networking bottlenecks and resolve backpressure Group data for high-performance systems About the reader No prior experience with streaming systems is assumed. Examples in Java. About the author Josh Fischer and Ning Wang are Apache Committers, and part of the committee for the Apache Heron distributed stream processing engine. Table of Contents PART 1 GETTING STARTED WITH STREAMING 1 Welcome to Grokking Streaming Systems 2 Hello, streaming systems! 3 Parallelization and data grouping 4 Stream graph 5 Delivery semantics 6 Streaming systems review and a glimpse ahead PART 2 STEPPING UP 7 Windowed computations 8 Join operations 9 Backpressure 10 Stateful computation 11 Wrap-up: Advanced concepts in streaming systems


Developer Testing

Developer Testing

Author: Alexander Tarlinder

Publisher: Addison-Wesley Professional

Published: 2016-09-07

Total Pages: 629

ISBN-13: 0134291085

DOWNLOAD EBOOK

How do successful agile teams deliver bug-free, maintainable software—iteration after iteration? The answer is: By seamlessly combining development and testing. On such teams, the developers write testable code that enables them to verify it using various types of automated tests. This approach keeps regressions at bay and prevents “testing crunches”—which otherwise may occur near the end of an iteration—from ever happening. Writing testable code, however, is often difficult, because it requires knowledge and skills that cut across multiple disciplines. In Developer Testing, leading test expert and mentor Alexander Tarlinder presents concise, focused guidance for making new and legacy code far more testable. Tarlinder helps you answer questions like: When have I tested this enough? How many tests do I need to write? What should my tests verify? You’ll learn how to design for testability and utilize techniques like refactoring, dependency breaking, unit testing, data-driven testing, and test-driven development to achieve the highest possible confidence in your software. Through practical examples in Java, C#, Groovy, and Ruby, you’ll discover what works—and what doesn’t. You can quickly begin using Tarlinder’s technology-agnostic insights with most languages and toolsets while not getting buried in specialist details. The author helps you adapt your current programming style for testability, make a testing mindset “second nature,” improve your code, and enrich your day-to-day experience as a software professional. With this guide, you will Understand the discipline and vocabulary of testing from the developer’s standpoint Base developer tests on well-established testing techniques and best practices Recognize code constructs that impact testability Effectively name, organize, and execute unit tests Master the essentials of classic and “mockist-style” TDD Leverage test doubles with or without mocking frameworks Capture the benefits of programming by contract, even without runtime support for contracts Take control of dependencies between classes, components, layers, and tiers Handle combinatorial explosions of test cases, or scenarios requiring many similar tests Manage code duplication when it can’t be eliminated Actively maintain and improve your test suites Perform more advanced tests at the integration, system, and end-to-end levels Develop an understanding for how the organizational context influences quality assurance Establish well-balanced and effective testing strategies suitable for agile teams


Grokking Machine Learning

Grokking Machine Learning

Author: Luis Serrano

Publisher: Simon and Schuster

Published: 2021-12-14

Total Pages: 510

ISBN-13: 1617295914

DOWNLOAD EBOOK

Grokking Machine Learning presents machine learning algorithms and techniques in a way that anyone can understand. This book skips the confused academic jargon and offers clear explanations that require only basic algebra. As you go, you'll build interesting projects with Python, including models for spam detection and image recognition. You'll also pick up practical skills for cleaning and preparing data.


Securing DevOps

Securing DevOps

Author: Julien Vehent

Publisher: Simon and Schuster

Published: 2018-08-20

Total Pages: 642

ISBN-13: 1638355991

DOWNLOAD EBOOK

Summary Securing DevOps explores how the techniques of DevOps and security should be applied together to make cloud services safer. This introductory book reviews the latest practices used in securing web applications and their infrastructure and teaches you techniques to integrate security directly into your product. You'll also learn the core concepts of DevOps, such as continuous integration, continuous delivery, and infrastructure as a service. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology An application running in the cloud can benefit from incredible efficiencies, but they come with unique security threats too. A DevOps team's highest priority is understanding those risks and hardening the system against them. About the Book Securing DevOps teaches you the essential techniques to secure your cloud services. Using compelling case studies, it shows you how to build security into automated testing, continuous delivery, and other core DevOps processes. This experience-rich book is filled with mission-critical strategies to protect web applications against attacks, deter fraud attempts, and make your services safer when operating at scale. You'll also learn to identify, assess, and secure the unique vulnerabilities posed by cloud deployments and automation tools commonly used in modern infrastructures. What's inside An approach to continuous security Implementing test-driven security in DevOps Security techniques for cloud services Watching for fraud and responding to incidents Security testing and risk assessment About the Reader Readers should be comfortable with Linux and standard DevOps practices like CI, CD, and unit testing. About the Author Julien Vehent is a security architect and DevOps advocate. He leads the Firefox Operations Security team at Mozilla, and is responsible for the security of Firefox's high-traffic cloud services and public websites. Table of Contents Securing DevOps PART 1 - Case study: applying layers of security to a simple DevOps pipeline Building a barebones DevOps pipeline Security layer 1: protecting web applications Security layer 2: protecting cloud infrastructures Security layer 3: securing communications Security layer 4: securing the delivery pipeline PART 2 - Watching for anomalies and protecting services against attacks Collecting and storing logs Analyzing logs for fraud and attacks Detecting intrusions The Caribbean breach: a case study in incident response PART 3 - Maturing DevOps security Assessing risks Testing security Continuous security


GitOps and Kubernetes

GitOps and Kubernetes

Author: Billy Yuen

Publisher: Simon and Schuster

Published: 2021-02-25

Total Pages: 342

ISBN-13: 1638350728

DOWNLOAD EBOOK

GitOps and Kubernetes teaches you how to use Git and the GitOps methodology to manage a Kubernetes cluster. Summary GitOps and Kubernetes introduces a radical idea—managing your infrastructure with the same Git pull requests you use to manage your codebase. In this in-depth tutorial, you’ll learn to operate infrastructures based on powerful-but-complex technologies such as Kubernetes with the same Git version control tools most developers use daily. With these GitOps techniques and best practices, you’ll accelerate application development without compromising on security, easily roll back infrastructure changes, and seamlessly introduce new team members to your automation process. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology With GitOps you use the Git version control system to organize and manage your infrastructure just like any other codebase. It’s an excellent model for applications deployed as containers and pods on Kubernetes. About the book GitOps and Kubernetes teaches you how to use Git and the GitOps methodology to manage a Kubernetes cluster. The book interleaves theory with practice, presenting core Ops concepts alongside easy-to-implement techniques so you can put GitOps into action. Learn to develop pipelines that trace changes, roll back mistakes, and audit container deployment. What's inside Managing secrets the GitOps way Controlling access with Git, Kubernetes, and Pipeline Branching, namespaces, and configuration About the reader For developers and operations engineers familiar with continuous delivery, Git, and Kubernetes. About the author Billy Yuen, Alexander Matyushentsev, Todd Ekenstam, and Jesse Suen are principal engineers at Intuit. They are widely recognized for their work in GitOps for Kubernetes. Table of Contents PART 1 - BACKGROUND 1 Why GitOps? 2 Kubernetes & GitOps PART 2 - PATTERNS & PROCESSES 3 Environment Management 4 Pipelines 5 Deployment Strategies 6 Access Control & Security 7 Secrets 8 Observability PART 3 - TOOLS 9 Argo CD 10 Jenkins X 11 Flux


Publishing Python Packages

Publishing Python Packages

Author: Dane Hillard

Publisher: Simon and Schuster

Published: 2023-02-28

Total Pages: 369

ISBN-13: 1638351686

DOWNLOAD EBOOK

Create masterful, maintainable Python packages! This book includes pro tips for design, automation, testing, deployment, and even release as an open source project! In Publishing Python Packages you will learn how to: Build extensions and console script commands Use tox to automate packaging, installing, and testing Build a continuous integration pipeline using GitHub Actions Improve code quality and reduce manual review using black, mypy, and flake8 Create published documentation for your packages Keep packages up to date with pyupgrade and Dependabot Foster an open source community using GitHub features Publishing Python Packages teaches you how to easily share your Python code with your team and the outside world. Learn a repeatable and highly automated process for package maintenance that’s based on the best practices, tools, and standards of Python packaging. This book walks you through creating a complete package, including a C extension, and guides you all the way to publishing on the Python Package Index. Whether you’re entirely new to Python packaging or looking for optimal ways to maintain and scale your packages, this fast-paced and engaging guide is for you. Foreword by David Beazley. About the technology Successful Python packages install easily, run flawlessly, and stay reliably up to date. Publishing perfect Python packages requires a rigorous process that supports systematic testing and review, along with excellent documentation. Fortunately, the Python ecosystem includes tools and techniques to automate package creation and publishing. About the book Publishing Python Packages presents a practical process for sharing Python code in an automated and scalable way. Get hands-on experience with the latest packaging tools, and learn the ins and outs of package testing and continuous integration. You’ll even get pro tips for setting up a maintainable open source project, including licensing, documentation, and nurturing a community of contributors. What's inside Build extensions and console script commands Improve code quality with automated review and testing Create excellent documentation Keep packages up to date with pyupgrade and Dependabot About the reader For intermediate Python programmers. About the author Dane Hillard has spent the majority of his development career using Python to build web applications. Table of Contents PART 1 FOUNDATIONS 1 The what and why of Python packages 2 Preparing for package development 3 The anatomy of a minimal Python package PART 2 CREATING A VIABLE PACKAGE 4 Handling package dependencies, entry points, and extensions 5 Building and maintaining a test suite 6 Automating code quality tooling PART 3 GOING PUBLIC 7 Automating work through continuous integration 8 Authoring and maintaining documentation 9 Making a package evergreen 10 Scaling and solidifying your practices 11 Building a community


Continuous Delivery

Continuous Delivery

Author: Jez Humble

Publisher: Pearson Education

Published: 2010-07-27

Total Pages: 956

ISBN-13: 0321670221

DOWNLOAD EBOOK

Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours— sometimes even minutes–no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes • Automating all facets of building, integrating, testing, and deploying software • Implementing deployment pipelines at team and organizational levels • Improving collaboration between developers, testers, and operations • Developing features incrementally on large and distributed teams • Implementing an effective configuration management strategy • Automating acceptance testing, from analysis to implementation • Testing capacity and other non-functional requirements • Implementing continuous deployment and zero-downtime releases • Managing infrastructure, data, components and dependencies • Navigating risk management, compliance, and auditing Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever—so you can deliver value to your business rapidly and reliably.