Home / Companies / Octopus Deploy / Blog / October 2021

October 2021 Summaries

10 posts from Octopus Deploy

Filter
Month: Year:
Post Summaries Back to Blog
Bob Walker explores rollback strategies that can be implemented without the need for advanced deployment patterns like blue/green or canary deployments, which, while making rollbacks easier, can be time-intensive and sometimes unnecessary. He focuses on code-only rollbacks, excluding database changes due to their complexity, and explains how skipping certain deployment steps can expedite the rollback process, especially in testing environments. By introducing the concept of "deployment mode," Walker suggests modifying existing deployment processes to support rollbacks by distinguishing between a new deployment, a rollback, and a redeployment. He presents tools and templates such as Calculate Deployment Mode and Block Release Progression to streamline this process within Octopus Deploy, emphasizing the importance of testing rollback procedures regularly. Despite advocating for rolling forward in some scenarios, Walker acknowledges the value of a rollback process as part of a CI/CD pipeline, highlighting how simple adjustments and automated steps can facilitate effective rollbacks when necessary.
Oct 27, 2021 2,751 words in the original blog post.
Kubernetes (K8s) is a robust container orchestration tool that uses YAML files to define resources for deployment, and a new tool has been released to simplify the process of creating these YAML files. This tool offers live updates and two-way sync, allowing users to easily edit and generate YAML configurations for Kubernetes cluster deployments. The tool is user-friendly, with options displayed on the left side and the editable YAML file on the right. It links to official Kubernetes documentation for detailed explanations of configurable options. The article also provides a practical example of using the tool to deploy a web application on Azure Kubernetes Service (AKS) using Octopus Deploy. It guides users through configuring an Azure account, setting up a Kubernetes cluster, and deploying the application, culminating in accessing the deployed web app through a public IP address.
Oct 26, 2021 1,498 words in the original blog post.
Lee Meyer discusses a common pattern in front-end development involving the creation of a shared JavaScript library to be used across multiple projects maintained by different teams, highlighting the challenges and solutions in managing its deployment. Using a Vue JS bundle deployed to Amazon S3 as an example, Meyer describes a deployment process in Octopus that addresses these challenges through steps such as creating an S3 bucket, setting CORS policy, and uploading the bundle. The process also involves configuring Vue to optimize the bundle into a single file and using Octopus to manage configuration files and variable substitutions, ensuring that projects can reference the latest version of the bundle easily. Meyer emphasizes the importance of treating servers like cattle, using scoped variables, and maintaining a library variable set to allow seamless updates and cache-busting strategies. The approach has reportedly been successful in production environments, with positive feedback from front-end specialists, although it requires users to release consumer projects to upgrade to the latest bundle version.
Oct 25, 2021 1,557 words in the original blog post.
Terence Wong's guide provides a step-by-step walkthrough for deploying a sample application to an Azure web application using Octopus Deploy, focusing on the Export/Import feature introduced in Octopus 2021.1. The process involves setting up an Octopus Deploy instance, importing an existing project, configuring an Azure account, uploading a deployment package, and establishing deployment targets. Wong emphasizes the ease of importing projects to avoid manual configuration and highlights the need to configure Azure accounts and permissions carefully. The guide concludes by encouraging users to share their deployment experiences and reach out for support if needed, offering insights into the integration of Octopus Deploy with Azure for streamlined application deployment.
Oct 20, 2021 1,515 words in the original blog post.
In this blog post, Alex Yates discusses the practical steps for provisioning development and test environments as part of a series on safe schema updates. He emphasizes the importance of creating rapidly deployable and disposable dev/test environments to enhance testing capabilities and reduce lead times, advocating for self-service environments that mirror production settings. Yates outlines a process that includes infrastructure as code, automated SQL Server installation, data privacy handling, and the use of database cloning to manage large datasets efficiently. He highlights the need for environments to be easy to set up and maintain, enabling developers to work without long delays or dependencies on operations teams. This approach facilitates smaller, safer, and more frequent deployments while preparing the groundwork for near-zero downtime deployment strategies and breaking up monolithic systems into more modular architectures.
Oct 18, 2021 3,814 words in the original blog post.
Octopus Deploy leverages telemetry data to enhance user experience by tracking the performance of its features, such as the dashboard, release creation, and infrastructure runbooks. This telemetry, collected through API calls and database operations, is analyzed using a custom engineering dashboard called Crow's Nest, which provides insights into how users interact with the product. A key metric used is the Apdex score, which translates performance measurements into a user satisfaction index, focusing on the speed of web requests. The Apdex score helps identify performance issues by comparing different versions and licenses, with a higher score indicating a more positive user experience. By visualizing Apdex scores, Octopus Deploy can pinpoint areas of concern, such as poorly performing routes, and address them to enhance responsiveness and satisfaction. Crow's Nest also allows for historical performance analysis, which assists in planning future improvements by highlighting critical areas needing attention.
Oct 13, 2021 845 words in the original blog post.
In Octopus Deploy 2021.2, the addition of the Lightweight Directory Access Protocol (LDAP) authentication provider allows users to authenticate via Active Directory while using the Octopus Linux Container. This integration benefits those who prefer or require non-Microsoft directory servers, as LDAP is vendor-neutral and widely supported. The article outlines the process of configuring the LDAP authentication provider, emphasizing the importance of securing LDAP traffic due to its unencrypted nature by default. It explains the use of distinguished names (DNs) in LDAP for directory navigation and details the necessary information for setting up the authentication provider, such as the fully qualified domain name, port number, and security protocol. The flexibility of LDAP over Active Directory authentication is highlighted, noting that the former does not require domain-joined servers and offers a consistent experience across different client operating systems. The article stresses the importance of testing configurations in a controlled environment before full deployment to ensure reliability and suggests using tools like LDAP explorers to troubleshoot connection issues. Overall, LDAP provides a more adaptable authentication method, particularly when using the Octopus Linux Container, and simplifies certain complexities inherent in Active Directory configurations.
Oct 11, 2021 1,509 words in the original blog post.
In this blog post, Alex Yates explores the human challenges in software and database architecture, emphasizing the importance of addressing communication patterns and team dynamics as outlined by concepts like Conway's Law. Yates argues that complex architectures can lead to bureaucratic and toxic work cultures, creating a cycle that hinders problem-solving and innovation. He advocates for breaking down monolithic systems into smaller, loosely coupled services to foster accountability and reduce finger-pointing when issues arise. This approach aligns with DevOps principles, encouraging cross-functional teams to balance speed and stability objectives through clearly defined Service Level Objectives (SLOs) and downtime budgets. By doing so, organizations can enhance collaboration, focus on delivering high-quality services, and maintain psychological safety. The post sets the stage for upcoming discussions on transitioning to such architectures, promising technical guidance on provisioning dev/test environments, achieving near-zero downtime deployments, and safely deconstructing monoliths.
Oct 06, 2021 2,386 words in the original blog post.
Kubernetes is increasingly becoming the primary operating system for cloud environments, supported by all major cloud providers and adaptable through on-premises deployment, with Helm serving as its package manager. While Kubernetes offers considerable flexibility, it can be challenging to maintain a production cluster without effective controls, as its Role-Based Access Controls (RBAC) only provide limited resource management. Admission controllers like Kubewarden enhance control by allowing teams to inspect and modify resources before deployment, ensuring compliance with specific requirements. Kubewarden supports admission policies written in various languages compiled to WebAssembly, enabling fine-grained control over resource properties. The installation of Kubewarden is simplified through its Helm chart, and it can prevent undesirable resource configurations by implementing policies like psp-capabilities, which can, for instance, block pods with the SYS_TIME capability. This approach provides a higher level of security and control over resource deployment than standard RBAC, as demonstrated through practical deployment scenarios.
Oct 05, 2021 845 words in the original blog post.
Shawn Sesna's article explores the process of containerizing applications on various cloud platforms using Kubernetes services offered by Azure, AWS, and Google Cloud Platform. He explains how Octopus Deploy facilitates the migration of applications between these Kubernetes environments by utilizing its Runbooks and Execution Containers features. The article provides step-by-step instructions for creating Kubernetes clusters on each cloud platform and registering them as deployment targets within Octopus Deploy, highlighting the platform's ability to deploy applications across different providers without altering the deployment process. Sesna illustrates this with an example of migrating an application from AWS's EKS to GCP's GKE, demonstrating Octopus Deploy's flexibility in managing Kubernetes deployments irrespective of the underlying cloud provider.
Oct 04, 2021 2,123 words in the original blog post.