CI/CD with Docker and KubernetesContainers change how developers build, test, and deploy code. Adopting them takes time. Using them the wrong way can slow down your delivery process.
But you don't have a team of engineers to dedicate to this like Spotify or Netflix do. Maybe you're a startup CTO with features to ship - you can't spend hundreds of hours on internal systems.
Using this free ebook as a guide, you won't need a dedicated sysadmin to have a productive container-based CI/CD process.
By the end of this book you will understand:
- The key benefits of using Docker containers and how to attain them.
- How deployment to Kubernetes works.
- How both our culture and delivery tools need to change in order to fully benefit from the agility that containers and cloud can offer.
You will be able to:
- Execute a detailed roadmap to adopting containers.
- Build and test applications with Docker.
- Perform canary deployments to Kubernetes on the major cloud providers (AWS, DigitalOcean, Google Cloud).
- ...
Learning TypeScriptTypeScript has conquered the world of JavaScript: it's one of the world's fastest growing and most popular languages across developer surveys, widely used in consumer and business companies alike, and frequently credited for helping massive web applications scale. But what is TypeScript? How does it work, why does it work, and how can we use it?
Learning TypeScript takes beginner to intermediate JavaScript programmers from knowing nothing about "types" or a "type system" to full mastery of the fundamentals of TypeScript. It's more than a means to find bugs and typos - it's a useful system for declaring the way our JavaScript should work and helping us stick to it.
You'll learn how TypeScript: interacts with JavaScript; analyzes and understands code; augments your existing development pattern; helps you document your code; works with IDEs to provide refactoring tools; assists local development in refactoring code; helps you develop more quickly with fewer bugs. ...
Learn Enough JavaScript to Be DangerousJavaScript plays a key role in modern software development, not only because it is the only language that runs inside virtually all web browsers, but also because it has become widely used for back-end and general-purpose development as well. Although JavaScript is a big language, you don't need to learn "everything" about it to get started, just how to use it efficiently to solve real problems. In Learn Enough JavaScript to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need to be professionally productive.
Even if you've never programmed before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Treating JavaScript as a general-purpose language right from the start, Hartl offers examples for creating dynamic effects in browsers and for writing scripts and modules using Node.js. Focused exercises help you internalize what matters, without wasting time on details pros don't care a ...
Hands-On Selenium WebDriver with JavaGet started with Selenium WebDriver, the open source library for automating tests to ensure your web application performs as expected. In this practical hands-on book, author Boni Garcia takes Java developers through Selenium's main features for automating web navigation, browser manipulation, web element interaction, and more, with ready-to-be-executed test examples.
You'll start by learning the core features of Selenium (composed of WebDriver, Grid, and IDE) and its ecosystem. Discover why Selenium WebDriver is the de facto library for developing end-to-end tests on your web application. You'll explore ways to use advanced Selenium WebDriver features, including using web browsers in Docker containers or the DevTools protocol. Selenium WebDriver examples in this book are available on GitHub.
With this book, you'll learn how to: Set up a Java project containing end-to-end tests that use Selenium WebDriver; Conduct automated interaction with web applications; Use strategies for ma ...
Azure AI Services at Scale for Cloud, Mobile, and EdgeTake advantage of the power of cloud and the latest AI techniques. Whether you're an experienced developer wanting to improve your app with AI-powered features or you want to make a business process smarter by getting AI to do some of the work, this book's got you covered. Authors Anand Raman, Chris Hoder, Simon Bisson, and Mary Branscombe show you how to build practical intelligent applications for the cloud, mobile, browsers, and edge devices using a hands-on approach.
This book shows you how cloud AI services fit in alongside familiar software development approaches, walks you through key Microsoft AI services, and provides real-world examples of AI-oriented architectures that integrate different Azure AI services. All you need to get started is a working knowledge of basic cloud concepts.
Become familiar with Azure AI offerings and capabilities; Build intelligent applications using Azure Cognitive Services; Train, tune, and deploy models with Azure Machine Learning, PyTorch, ...
Modernizing Your Windows Applications with the Windows App SDK and WinUIIf you're a developer looking to improve and modernize your existing LOB applications to leverage modern Windows features without having to rewrite the entire application from scratch, this book is for you. You'll learn how to modernize your existing Windows Forms, WPF, and UWP applications and enrich them with the latest Windows features.
Starting with sample LOB applications that cover common scenarios, you'll learn the differences between various components and then focus on design features for improved visual aspects like accessibility and responsive layouts.
The book shows you how to enhance your existing applications using Windows App SDK components and various Windows APIs, resulting in deeper integration with the operating system. You'll be taking a closer look at WinML, which enables Windows applications to evaluate machine learning models offline and leverage the power of your machine, or notifications, to engage with your users in a more effective way. You'll also lear ...
Learn API TestingExplore software web application architecture, API testing, coding practices, and the standards for better API test automation development and management. This book focuses on aspiring software testing engineers currently working in API testing, and those starting their journey in the field of software testing.
You'll begin with an introduction to API testing and software web applications involving APIs. The book then moves on to the authentication standards used in the software industry, and the tools, the frameworks, and the libraries used in API testing. As the book progresses, you'll learn about the test pyramid, how to test an API, what makes a good test script, and various coding guidelines. Finally, you get to write your own API test script.
Learn API Testing is your pathway to understanding a typical software web application, its requests and responses, and the properties of a good test script. ...
Simplifying Android Development with Coroutines and FlowsCoroutines and flows are the new recommended way for developers to carry out asynchronous programming in Android using simple, modern, and testable code. This book will teach you how coroutines and flows work and how to use them in building Android applications, along with helping you to develop modern Android applications with asynchronous programming using real data.
The book begins by showing you how to create and handle Kotlin coroutines on Android. You'll explore asynchronous programming in Kotlin, and understand how to test Kotlin coroutines. Next, you'll learn about Kotlin flows on Android, and have a closer look at using Kotlin flows by getting to grips with handling flow cancellations and exceptions and testing the flows.
By the end of this book, you'll have the skills you need to build high-quality and maintainable Android applications using coroutines and flows. ...
High-Performance Programming in C# and .NETWriting high-performance code while building an application is crucial, and over the years, Microsoft has focused on delivering various performance-related improvements within the .NET ecosystem. This book will help you understand the aspects involved in designing responsive, resilient, and high-performance applications with the new version of C# and .NET.
You will start by understanding the foundation of high-performance code and the latest performance-related improvements in C# 10.0 and .NET 6. Next, you'll learn how to use tracing and diagnostics to track down performance issues and the cause of memory leaks. The chapters that follow then show you how to enhance the performance of your networked applications and various ways to improve directory tasks, file tasks, and more. Later, you'll go on to improve data querying performance and write responsive user interfaces. You'll also discover how you can use cloud providers such as Microsoft Azure to build scalable distributed solutio ...
Azure Web Apps for DevelopersAzure Web Apps is a fully managed platform that you can use to build mission-critical web applications that are highly available, secure, and scalable to global proportions. Combined with first-class tooling from Visual Studio and the Microsoft Azure Tools, the Azure Web Apps service is the fastest way to get your web application to production. Azure Web Apps is part of the Azure App Service that is designed to empower developers to build web and mobile applications for any device.
Developing web applications to host on Azure Web Apps is a familiar experience for developers accustomed to hosting web applications on Internet Information Services (IIS). Developers can use ASP.NET, Java, Node.js, PHP, and Python for their application development locally and easily deploy to Azure Web Apps. The environment supports continuous deployment to multiple staging environments, enabling development teams to deploy application updates rapidly and reliably.
Azure Web Apps is more than a host f ...