Home / Companies / Octopus Deploy / Blog / September 2019

September 2019 Summaries

12 posts from Octopus Deploy

Filter
Month: Year:
Post Summaries Back to Blog
Bob Walker discusses the process of running SQL Server on a development machine using Docker containers, highlighting the advantages over traditional installation methods such as reduced resource usage and simplified upgrades. He explains the steps required to set up SQL Server in a Docker container on a Windows system, emphasizing the importance of enabling CPU virtualization, configuring anti-virus settings, and using Docker volumes to persist data. Walker provides detailed instructions for pulling the SQL Server image, setting up the container, and connecting to it via SQL Server Management Studio (SSMS). He also covers the challenges of persisting databases across container restarts and recreations, suggesting the use of Docker volumes and the attach_dbs environment variable for bootstrapping databases. To streamline the process, he recommends using Docker Compose for easier configuration management. Walker concludes by expressing his surprise at the simplicity of the setup process and encourages developers to consider Docker for hosting SQL Server in development environments.
Sep 30, 2019 1,790 words in the original blog post.
Minikube simplifies the process of setting up a test Kubernetes cluster on Windows 10 by utilizing HyperV to create a virtual environment in just a few minutes. The setup involves configuring an external HyperV switch, installing kubectl and Minikube, and then launching Minikube to create a virtual machine. Once installed, users can interact with the cluster using kubectl, and the configuration details are stored in the ~/.kube/config file. Additionally, Minikube can be integrated with Octopus for further interaction, by creating a merged certificate file for authentication and using a Worker Tentacle on the local machine to communicate with the cluster. This allows the execution of commands through the Octopus Script Console, making it a convenient tool for testing and managing Kubernetes deployments.
Sep 25, 2019 866 words in the original blog post.
Matthew Casperson's blog post introduces a simplified sample application to explore Istio, a popular service mesh for Kubernetes. The example uses a minimalist Node.js proxy application to demonstrate how Istio can manipulate network requests, offering a clear view of its capabilities. Unlike the more complex Bookinfo application, this setup includes a basic Kubernetes deployment where a public-facing Node.js server proxies requests to internal and external web servers, allowing the examination of routing and network policies. The architecture involves multiple instances of web servers labeled with different versions, providing a basis for showcasing Istio's VirtualService and DestinationRule resources. This setup, while not reflecting a real-world scenario, serves as a foundational platform to add more advanced networking features in subsequent explorations of Istio.
Sep 23, 2019 1,112 words in the original blog post.
AWS Elastic Beanstalk is a Platform as a Service (PaaS) that simplifies the deployment of applications written in various programming languages by managing infrastructure details such as capacity, load balancing, and application health monitoring. The blog post explores the integration of Elastic Beanstalk with Octopus for deploying a .NET Core application, Random Quotes, highlighting the shared lifecycle characteristics and the unique packaging requirements of Beanstalk. It provides a detailed walkthrough of a deployment script using Octopus, focusing on creating a Beanstalk application version, uploading necessary files to S3, and handling environment-specific configurations without maintaining separate artifacts for each environment. The process leverages Octopus's features, such as JSON configuration variables, to customize deployments, ensuring environment-specific settings are applied effectively. The post also includes a practical example of deploying the application to different environments, showcasing the flexibility and efficiency of using Octopus and Elastic Beanstalk together.
Sep 18, 2019 3,084 words in the original blog post.
Cloud infrastructure management can be complex and requires multiple tools and credentials, a challenge that the Cloud Native Application Bundle (CNAB) specification aims to simplify. CNAB bundles all necessary components, such as Docker images, into a single deployable artifact, addressing issues like credential management, offline installations, and versioned installers. The blog post highlights the use of CNAB, particularly through the Duffle project, which serves as a reference implementation of the specification. While CNAB offers a streamlined process for creating self-contained installers, the tools supporting this specification, such as Duffle, Porter, and Docker App, are still in early development stages, resulting in potential challenges and manual installation processes for users. Despite these challenges, CNAB bundles provide a convenient solution for automating complex deployments, making them appealing for developers and DevOps professionals looking to simplify their workflows.
Sep 17, 2019 1,062 words in the original blog post.
Blue/green deployments offer a strategy for achieving zero-downtime deployments by maintaining two identical production environments, switching between them to minimize risk and ensure seamless transitions. The approach is particularly beneficial for applications that are more stateless and decoupled, though it can be complex when databases are involved. The article presents a detailed scenario involving a Single Page Application with database changes, illustrating the intricacies of implementing a blue/green deployment, especially when altering database schemas, such as combining columns. It emphasizes the importance of removing business logic from the database to facilitate these deployments and recommends several practices, including making non-destructive changes, using scripts to backfill data, and avoiding unnecessary versioning of stored procedures and views. Moreover, it highlights the flexibility that blue/green deployments provide, allowing database changes to be deployed separately from code, potentially reducing risk. However, it notes that this strategy requires careful planning, the right infrastructure, and an alignment of architecture, while also suggesting that the initial investment can lead to more frequent and less disruptive deployments.
Sep 16, 2019 5,523 words in the original blog post.
Octopus Deploy has enhanced its integration with Azure DevOps, offering improved end-to-end visibility in software pipelines from conception to production. This update aligns the Azure DevOps extension with existing TeamCity and Bamboo plugins, adding features such as build information, work item tracking, and the ability to view release details and changes in production environments. The integration now supports automatic generation and distribution of release notes via platforms like email and Slack, streamlining communication within teams and management. Additionally, the update includes improved support for Spaces, allowing teams to easily select their designated areas. The extension is available for free on the Visual Studio Marketplace, encouraging Azure DevOps users to upgrade to the latest version for enhanced deployment capabilities.
Sep 12, 2019 735 words in the original blog post.
Serverless computing is gaining traction as cloud providers, like AWS, offer platforms to manage numerous small applications, with AWS Serverless Application Model (AWS SAM) streamlining the deployment of serverless apps by reducing boilerplate code through CloudFormation. This blog post explores transitioning from AWS SAM's straightforward deployment to creating repeatable deployments over multiple environments using Octopus, starting with a Python "Hello World" app. The process involves packaging and uploading application code and templates using GitHub Actions and Octopus, ensuring readable and versioned filenames instead of SAM's default naming conventions. Octopus simplifies handling environment-specific configurations by using variables, making it easy to deploy applications to multiple environments, such as UAT and Prod. The article demonstrates creating a CI/CD pipeline that enhances the deployment process, replacing some SAM CLI commands with more flexible GitHub Actions and Octopus workflows, capable of scaling to meet production environment demands.
Sep 10, 2019 2,209 words in the original blog post.
A Service Mesh is an infrastructure layer designed to manage service-to-service communication in microservice applications, offering reliability, security, and visibility as part of the infrastructure rather than requiring each application to handle these concerns individually. This approach streamlines networking concerns across a Kubernetes cluster, allowing for consistent configuration and management through Kubernetes tools, while reducing the need for application-specific networking configurations. Although the line between Service Meshes and Ingress Controllers is blurred, with both providing network traffic management, Service Meshes tend to offer a more comprehensive set of features. As platforms continue to evolve, the distinction between these two concepts may become increasingly arbitrary, with more Service Mesh-like functionalities being integrated into Ingress Controllers.
Sep 09, 2019 1,022 words in the original blog post.
Octopus Deploy announced its sponsorship of DevOps Days London, held on September 26-27, 2019, at the QEII Centre in Westminster, highlighting its commitment to automation in software development, databases, and infrastructure. DevOps Days is a globally recognized community-driven conference that addresses the integration of software development and IT infrastructure operations. The event features a morning schedule of 30-minute talks and Ignite talks, followed by interactive Open Spaces in the afternoon, offering attendees the opportunity to engage with fellow participants and Octopus users. Octopus Deploy encourages attendees to register using a discount code and interact with their team at the event, where they will distribute stickers and T-shirts.
Sep 04, 2019 203 words in the original blog post.
In 2011, Shawn Sesna embarked on a challenging journey as a Configuration Manager at a small US state government agency, tasked with automating manual processes to enhance software deployment reliability and efficiency. Initially, he tackled the agency's problematic deployment processes by leveraging Microsoft Team Foundation Server for source control and developing console applications to automate web and database deployments, which significantly reduced errors and weekend work. Despite initial reluctance, the team eventually adopted Octopus Deploy, an off-the-shelf solution, which streamlined deployment further. As processes became more automated, collaboration between teams improved, reducing tensions and fostering a collaborative environment. Sesna also introduced Infrastructure as Code using PowerShell DSC, allowing for consistent server configurations and further decreasing friction between operations and development teams. By 2019, Sesna had implemented Continuous Integration and Continuous Delivery, automating various deployment tasks and receiving positive feedback, illustrating the potential for successful DevOps integration in a typically slow-moving government setting.
Sep 04, 2019 1,249 words in the original blog post.
GitHub Actions, introduced in beta by GitHub, enables developers to host and execute CI/CD pipelines directly within the platform, potentially reducing the need for separate CI servers. By allowing build environments to be composed of Docker containers and supporting workflows as code, GitHub Actions offers a streamlined approach, eliminating the need to maintain custom build agents. This is particularly beneficial for open-source projects, as contributors can run tests without needing to merge changes into the main project. However, challenges remain, such as difficulties with build versioning, sharing secrets across repositories, and capturing output variables, alongside a repository-centric UI that can be cumbersome for managing multiple projects. Despite these drawbacks, GitHub Actions exemplifies the trend of commoditizing software processes, with the potential for improvements as it evolves beyond its beta stage.
Sep 03, 2019 1,023 words in the original blog post.