- 404 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Learning Windows Server Containers
About This Book
Build, package, and deploy applications as easily manageable and shippable containers. About This Book⢠Discover the secret to building highly portable apps that run on any machine with Windows Server 2016 anywhere, from laptops, desktop servers, and public or private clouds, without any changes to the code⢠Build your company cost-effective, container-based apps that support large-scale, virtual cloud environments⢠The most up-to-date help on the market, offering developers expert guidance in building and shipping high-quality apps, and also helping admins create infrastructure that's simple to maintainWho This Book Is ForThis book is for application developers with a basic programming knowledge of C#, ASP.NET, and PowerShell. IT Administrators or DevOps engineers with basic PowerShell experience can benefit by extending their learning to use PowerShell to manage containers on Windows environments and use additional management tools.What You Will Learn⢠Build and deploy ASP.NET web applications as Windows Containers on Windows 10 (Desktop) and Azure using Visual Studio 2015, Docker, and PowerShell⢠Build and manage custom images using Windows Server Core base OS image and Docker CLI, publish images to Docker, tag images, author Docker files, and so on⢠Create enterprise-scale, production-grade container environments using Redis Cache containers and SQL Server containers with storage volumes, set up custom container networks, continuous integration, and deployment pipelines using VSTS, Azure, and Git⢠Deploy a composite container environment using Docker Compose on Windows⢠Learn to build applications using Microsoft's thinnest server platform - Nano Servers. Build custom Nano Server images and Nano Containers using Windows PowerShell and configure using PowerShell Core, DSCIn DetailWindows Server Containers are independent, isolated, manageable and portable application environments which are light weight and shippable. Decomposing your application into smaller manageable components or MicroServices helps in building scalable and distributed application environments. Windows Server Containers have a significant impact on application developers, development operations (DevOps) and infrastructure management teams. Applications can be built, shipped and deployed in a fast-paced manner on an easily manageable and updatable environment.Learning Windows Server Containers teaches you to build simple to advanced production grade container based application using Asp.Net Core, Visual Studio, Azure, Docker and PowerShell technologies. The book teaches you to build and deploy simple web applications as Windows and Hyper-V containers on Windows 10 and Windows Server 2016 on Azure. You will learn to build on top of Windows Container Base OS Images, integrate with existing images from Docker Hub, create custom images and publish to Hub. You will also learn to work with storage containers built using Volumes and SQL Server as container, create and configure custom networks, integrate with Redis Cache containers, configure continuous integration and deployment pipelines using VSTS and Git Repository. Further you can also learn to manage resources for a container, setting up monitoring and diagnostics, deploy composite container environments using Docker Compose on Windows and manage container clusters using Docker Swarm. The last chapter of the book focuses on building applications using Microsoft's new and thinnest server platform â Nano Servers.Style and approachThis hands-on tutorial helps you get started with Windows Server containers, the new trend in the container market. This example-driven guide is packed with real-world scenarios of Windows Server containers in production environments.
Frequently asked questions
Information
Continuous Integration and Delivery
- Introducing Visual Studio Team Services
- Continuous integration
- Sign up for a VSTS account
- Uploading code to a VSTS code repository
- Creating and configuring custom agents
- Configuring automated builds
- Automating Docker publish with CI
- Continuous delivery
- Creating environment(s) using ARM templates
- Deploying containers to Azure VMs and configuring SPN
- Integration tests and web performance tests
- Promoting deployments and code promotion workflow
Introduction to Visual Studio Team Services
- Work item management: VSTS can be used as a repository for storing product backlogs, user stories, tasks, bugs and even test cases. It can be used as a single repository for product owners to groom a single product backlog, prioritize work items, plan sprints, track execution, and deliver and collect feedback on the product from customers. VSTS supports multiple process templates such as agile, scrum and CMMI. It integrates seamlessly with other Microsoft Office products including MS Excel, Power BI and Project for bulk operations and custom reporting.
- Source control: At the heart of VSTS is the single code repository which can be used to store code of any language. VSTS supports two types of source control methods called Team Foundation Version Control (TFVC), which is Microsoft's legacy source control engine and Git (from version 2013). Git is the recommended engine since it is supported across various operating systems, has amazing tool support and excellent versioning support. Conventional Git management tools or command line interfaces can still be used to manage VSTS with Git as source control engine. VSTS and Git provide an option to store multiple versions of the code base using the killer branching system introduced by Git. Git's branching model is extremely lightweight and makes branching operations easy and fast.
- Continuous integration: VSTS comes with a hosted build agent which can build the code as soon as the new code is checked in (continuous integration), apply policies, run analysis and tests, package and publish. It can also be used to publish reports on the overall health of the code, such as code metrics, tests results, code coverage, and versioning details. VSTS allows build customization using custom build executables (.exe) files which can be used added as part of the code and run as part of the build. Apart from the hosted agent, it also allows us to configure custom agents (a windows machine with VSTS agent installed) and agent pools for running customized builds.
- Release management: VSTS helps us to manage releases to various environments, each environment can be configured and managed independently. We can deploy applications to cloud or on-premise environments. Without VSTS, the approval and notification process during regular product release cycle is quite tedious, and VSTS eases these tasks by automating the approval process. At each stage a release to an environment can be reviewed using the various types of tests before promoting the deployment to the next stage. At every stage, approvers or environment owners are notified by e-mails and by using a live dashboard. It is also possible to revoke the approval and enable a continuous delivery pipeline to lower environments (for example, development) for every code that is checked-in.
- Testing: VSTS assists in building software with great quality using continuous testing and advanced testing mechanisms, such as exploratory testing. For regular coded ...
Table of contents
- Title Page
- Copyright
- Credits
- Foreword
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- Exploring Virtualization
- Deploying First Container
- Working with Container Images
- Developing Container Applications
- Deploying Container Applications
- Storage Volumes
- Redis Cache Containers
- Container Network
- Continuous Integration and Delivery
- Manage Resource Allocation and REST API
- Composite Containers and Clustering
- Nano Server