<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ada Powers</title>
    <description>The latest articles on DEV Community by Ada Powers (@ada_pow).</description>
    <link>https://dev.to/ada_pow</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F845596%2F68a3fe99-b1af-42ac-b5d0-834d881d9b8c.jpg</url>
      <title>DEV Community: Ada Powers</title>
      <link>https://dev.to/ada_pow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ada_pow"/>
    <language>en</language>
    <item>
      <title>Top 10 Best Media Asset Management (MAM) Software 2023</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Mon, 28 Nov 2022 17:23:49 +0000</pubDate>
      <link>https://dev.to/ada_pow/top-10-best-media-asset-management-mam-software-2022-44bg</link>
      <guid>https://dev.to/ada_pow/top-10-best-media-asset-management-mam-software-2022-44bg</guid>
      <description>&lt;p&gt;Not to be confused with digital asset management software (DAM), &lt;a href="https://evolphin.com/media-asset-management" rel="noopener noreferrer"&gt;media asset management (MAM) software&lt;/a&gt; helps media production teams store, manage, organize, and access rich multimedia digital assets more efficiently. &lt;/p&gt;

&lt;p&gt;Specifically, MAM software is used by organizations and teams that handle rich multimedia files like voice-over tracks, linked footage, animation, processed MP4, and more. These technologies are critical for optimizing complex media production workflows, allowing teams to manage extensive media libraries from one reliable, centralized source. Organizations can drastically transform their media production workflows by leveraging the technological capabilities of specialized MAM software. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Media Asset Management Software?
&lt;/h2&gt;

&lt;p&gt;Media asset management software offers several benefits to teams, media asset managers and content creators. Some of these benefits are:&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved Productivity
&lt;/h2&gt;

&lt;p&gt;MAM software improves your media team's productivity by automating arduous manual tasks and managing digital assets more effectively. Advanced functions like AI search helps teams spend less time searching through digital assets and more time on creative tasks. This simplifies content management, helping teams to complete collaborative projects faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Effective Collaboration
&lt;/h2&gt;

&lt;p&gt;The best MAM solution should fit well into other cogs in the media production machine - project sharing, check-in/check-outs, reviews, and processes, helping teams collaborate effortlessly from anywhere. MAM software also represents a single source of truth for media assets, allowing users to manage every part of the media production workflow seamlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Archive Management
&lt;/h2&gt;

&lt;p&gt;MAM software efficiently handles voluminous content archives with no size threshold penalties or restrictions on file types. This saves large organizations the pain of recreating content due to an ineffective asset management system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Asset Security
&lt;/h2&gt;

&lt;p&gt;The best asset management software must use enterprise-level security to protect digital assets. Increased security comes from strong access controls and the ability to store media assets in one secure, accessible central location rather than relying on fragmented, easily misplaced drives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flexibility
&lt;/h2&gt;

&lt;p&gt;Modern MAM software must go beyond accommodating various asset formats and sizes. Smooth management of high-volume video and multimedia files is the distinguishing feature that qualifies modern MAM solutions to optimize post-production workflows and meet growing consumer demand for video content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Search and Discovery
&lt;/h2&gt;

&lt;p&gt;MAM software must save users time otherwise spent searching for assets. It must use modern technology like metadata to accurately categorize file types and more importantly, use artificial intelligence (AI) to automate metadata on sub-clips or video timelines in order to offer the ability to scrub through a video timeline and extract relevant clips within files.&lt;/p&gt;

&lt;p&gt;You will find several feature-rich MAM software options in the market. These ten tools are the most impressive, but first, here are some definitions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Definitions&lt;/strong&gt;&lt;br&gt;
Our seasoned testers assessed each of these options pretty rigorously. So for clarity, here’s a brief guide showing how we defined the following for the purpose of this assessment:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desktop app&lt;/strong&gt;:  By this, we refer to MAMs with desktop apps that are not limited to just one function (file transfers only, for example). By “desktop app”, we mean fully-functional desktop apps that are compatible with diverse editing suites such as Avid Media Composer, Adobe Premiere Pro, and more. These desktop apps allow multiple roles - editors, studio operators, archivists to use the MAM features including file transfers natively without a web app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: For this assessment, multi-tenant security is a negative feature because of the security risks that shared resources pose by design. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deduplication&lt;/strong&gt;: By this, we refer to front-end deduplication - the capability to natively provide block-level deduplication and work with both cloud and on-premises storage. This assessment distinguishes between lazy on-premises-only storage vendor-provided deduplication and content deduplication that starts at ingestion right from the client's desktop, aka front-end. &lt;/p&gt;

&lt;p&gt;Duplicate detection that uses hashes and doesn't deal with common file blocks inside two files whose checksums vary (and therefore are not the same file, yet share substantial data) is not considered as deduplication. &lt;/p&gt;

&lt;p&gt;For example, an editor renders an After Effects animation 5 times, with a different version for each rendered file, while 90% of the data stays identical. A MAM system that understands this can take advantage of its deduplication at the source before storing it on the cloud or on-prem. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Version control&lt;/strong&gt;: Our testers assessed each MAM for industrial-level version management. MAM systems that can create a non-repudiable version history and do not allow tampering (by manually deleting older versions, for example) rank highly for version control in this assessment. Manual deletion of older versions (thus, compromising audit changes) breaks the fundamental tenet of version control. This level of version control is only possible in DAM or MAMs that have been fundamentally architected from the beginning with in-built version control. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Motion graphics capabilities&lt;/strong&gt;: Beyond standard motion graphics capabilities available through integrated software, our stringent testing specifically assessed the listed options for extensive image sequence management that many MAMs offer as part of their motion graphics support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud storage costs and setup&lt;/strong&gt;: For this review, we assess the need for on-premise servers, technical system integrators, and additional deployment costs. This is because today’s post-production teams tend to avoid on-premise server management due to the associated requirements for IT expertise and system integrators to securely set up and manage Windows or Linux servers on-premise with backups and DR.  &lt;/p&gt;

&lt;h2&gt;
  
  
  10 Best Media Asset Management Tools
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Evolphin Zoom&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjxrenhlu2sr9r22a37e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjxrenhlu2sr9r22a37e.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Evolphin Zoom Media Asset Management is next-generation, AI-powered MAM software with robust features and integrations for post-production teams of all sizes. It’s designed for efficient collaboration and handles not just video but every kind of rich media asset handled by media teams. Evolphin Zoom also integrates with editing tools such as Adobe Premiere, Apple Final Cut Pro, Avid Media Composer, DaVinci Resolve, and more.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Key Features *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Patented front-end deduplication technology that saves server space (and money!) and keeps your team organized &lt;/li&gt;
&lt;li&gt;Built-in, smart version control that ensures that your project collaborators always work on the right project files&lt;/li&gt;
&lt;li&gt;More Adobe app plugins than any other MAM software (complete with panels)&lt;/li&gt;
&lt;li&gt;Single source of truth for all your multimedia assets. Parent assets and produced exported files are stored in the same place so your team can easily trace the relationships between individual assets and finished projects &lt;/li&gt;
&lt;li&gt;All components come from one vendor, so you interact with the subject matter experts if you have an issue&lt;/li&gt;
&lt;li&gt;True single-tenant setup for maximum security. Each client has its own AWS account with a virtual private cloud (VPC)&lt;/li&gt;
&lt;li&gt;Native AWS S3 ingest by way of any client application (desktop, web, or plugin) &lt;/li&gt;
&lt;li&gt;Resume-able, multipart S3 upload &amp;amp; download capabilities &lt;/li&gt;
&lt;li&gt;Automatic sync in Adobe Premiere Pro panel&lt;/li&gt;
&lt;li&gt;Motion graphics capability with automatic file linking into a single composite sequence&lt;/li&gt;
&lt;li&gt;Collaboration apps (multi-device)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://help.evolphin.com/deployment/pre-deployment/out-of-the-box-integrations" rel="noopener noreferrer"&gt;Multiple app integrations&lt;/a&gt; and over 3000 automations (via Zapier)&lt;/li&gt;
&lt;li&gt;Creative app plugins supporting video, vector art, web design, and more&lt;/li&gt;
&lt;li&gt;AWS high-resolution transfer management&lt;/li&gt;
&lt;li&gt;Rules-driven AI hub &lt;/li&gt;
&lt;li&gt;Image sequences including motion graphic, render queue, Cinema 4D, and more&lt;/li&gt;
&lt;li&gt;Data migration capabilities &lt;/li&gt;
&lt;li&gt;Tiered archive management &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Markers don’t update live in the Adobe Premiere Pro panel. (While import &amp;amp; sync is available for data timelines, live sync is not.)&lt;/li&gt;
&lt;li&gt;Users can’t add a proxy stream on the timeline, although it’s possible to stream them for hover scrub or viewing.&lt;/li&gt;
&lt;li&gt;Sequences from one Premiere Pro project can’t be imported into another.&lt;/li&gt;
&lt;li&gt;Teams need to provide their own third-party project management solutions, but integrations are possible with Trello, Asana, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$-$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; After Effects, Illustrator, InCopy, InDesign, Photoshop, Premiere Pro&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; Yes&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Post-production teams of all sizes looking for a high-powered, versatile MAM solution with all the bells and whistles.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Iconik&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32zqdheag0ia1gs7wf40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32zqdheag0ia1gs7wf40.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Iconik is a cloud-based MAM tool that combines cloud and on-site file storage. This “hybrid cloud” tool allows users to bring their own storage while indexing searchable proxy files in the cloud for remote teams. Users can invite key stakeholders to be part of post-production through Iconik’s collaboration tools. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Media management tools, including file transfers, bulk actions, and metadata tagging&lt;/li&gt;
&lt;li&gt;Remote file access and video editing &lt;/li&gt;
&lt;li&gt;Iconik Storage Gateway to manage on-site storage and automate media ingest&lt;/li&gt;
&lt;li&gt;AI transcriptions and tagging&lt;/li&gt;
&lt;li&gt;Review &amp;amp; Approval Workflows&lt;/li&gt;
&lt;li&gt;Cloud-based proxy workflow&lt;/li&gt;
&lt;li&gt;Users can invite anyone to collaborate &lt;/li&gt;
&lt;li&gt;Review tools with comments and annotations features &lt;/li&gt;
&lt;li&gt;API for integrations and automations like the webhooks, custom actions,  and more &lt;/li&gt;
&lt;li&gt;Flexible pricing model &lt;/li&gt;
&lt;li&gt;Email and Telephone Support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No single-tenant security. Multiple customers are hosted in the same Google cloud account with shared resources. While customer accounts are firewalled, one hacked account could open up access to multiple accounts, resulting in costly consequences for organizations that must protect programs set to air or other assets from hacks and contamination. &lt;/li&gt;
&lt;li&gt;No front-end deduplication capabilities.&lt;/li&gt;
&lt;li&gt;Some panels for Adobe Photoshop, Illustrator, or AfterEffects with varying levels of functionality. For example, the Iconik Premiere Pro plugin lists 14+ features. Our research suggests that other plugins like Photoshop have around 3-4 features. &lt;/li&gt;
&lt;li&gt;Some version control. Iconik’s version control feature helps you manage file versions interchangeably. However, the ability to delete older file versions creates a repudiable history that might not stand up to stringent auditing. &lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors.&lt;/li&gt;
&lt;li&gt;No auto-sync in Adobe Premiere Pro panel. That means producers can’t mark up footage which automatically syncs with their editor ( saving a massive amount of time in the editing process). However, the manual sync functionality makes time-based comments and annotations visible in Adobe Premiere Pro as markers when imported via the Iconik panel. &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities apart from standard Adobe Premiere Pro MOGRTs..&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$$-$$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; Photoshop, Illustrator, Premiere Pro, After Effects, Audition CC&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No. However, the Iconik agent is a companion app for file transfers. &lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Teams who want a file storage setup only in the cloud and are less concerned about a “hybrid cloud” MAM software.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Orange Logic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsdrqcrdmjm7zm5ztdrx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsdrqcrdmjm7zm5ztdrx.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Orange Logic is technically a digital asset management (DAM) tool–(not a MAM) that allows customers to organize, store, and utilize their digital assets. Unlike media asset management software, Orange Logic isn’t tailored for editing and post-production teams. Instead, it’s a DAM platform that supports customized metadata, permissions, collaboration, and sharing, and offers an advanced search tool that makes finding files quick and simple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Archiving and file preservation&lt;/li&gt;
&lt;li&gt;Economical, unlimited cloud storage &lt;/li&gt;
&lt;li&gt;Automatic and manual workflows, including time-saving AI tools&lt;/li&gt;
&lt;li&gt;Fast bulk uploading and downloading&lt;/li&gt;
&lt;li&gt;Multiple app integrations, including Adobe, Microsoft, Dropbox, Google Cloud, and more&lt;/li&gt;
&lt;li&gt;Safe, HIPAA compliant file protection and security &lt;/li&gt;
&lt;li&gt;Cons&lt;/li&gt;
&lt;li&gt;DAM software. Doesn’t offer the MAM functionality that a video editing team requires. While Orange Logic has more video-related capabilities than other DAMs on the market, it’s not designed to handle the requirements of the full video production process.&lt;/li&gt;
&lt;li&gt;Multi-tenant security keeps all users simultaneously secure&lt;/li&gt;
&lt;li&gt;No deduplication capabilities.&lt;/li&gt;
&lt;li&gt;Some Adobe panels available, but not all.&lt;/li&gt;
&lt;li&gt;No version control.&lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors.&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync. &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; After Effects, Illustrator, InDesign, Lightroom, Photoshop, Premiere Pro&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Teams who need a robust tool for managing their digital assets (images, graphic, marketing material, etc) and securing private information (such as data that’s covered by HIPAA regulations).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Brandfolder&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6bvl0vqggia8vf5e7n66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6bvl0vqggia8vf5e7n66.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Brandfolder is a DAM software designed for collaborative creative teams and customers looking to manage finished or finalized asset portfolios. It is not optimized for raw media or video post-production, but it better serves teams who need to store, share, and utilize finalized multimedia assets. It is great for customers that want to track the performance of their assets across campaigns. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intuitive asset search &lt;/li&gt;
&lt;li&gt;Brand intelligence asset insights &lt;/li&gt;
&lt;li&gt;Customizable sharing, collaboration, and asset distribution tools &lt;/li&gt;
&lt;li&gt;Multiple integrations, including Adobe, Figma, Getty Images, Microsoft Active Directory, and more&lt;/li&gt;
&lt;li&gt;Web-to-print capabilities&lt;/li&gt;
&lt;li&gt;Custom API integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAM software, not MAM&lt;/li&gt;
&lt;li&gt;Finished asset stores only (Brandfolder doesn’t store large production assets such as native videos from camera cards)&lt;/li&gt;
&lt;li&gt;Assets are stored separately from finished files, making specific assets challenging to trace&lt;/li&gt;
&lt;li&gt;Multi-tenant security&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No version control&lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities &lt;/li&gt;
&lt;li&gt;Support function (local/ 3rd party/ off shore??)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$-$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; Photoshop, Illustrator, InDesign&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Marketing professionals, agencies, and businesses that want their DAM with a side of analytics and aren’t looking for media asset management tools.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Widen&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wgycl2cblpx620j6g22.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wgycl2cblpx620j6g22.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Widen is a DAM solution targeted toward content creators. Like Orange Logic and Brandfolder, Widen is not media asset management software. The workflows associated with content creation and publishing are often heavy in scope and can involve multiple visual, graphic, and video assets. The Widen platform benefits teams who need support with not only DAM tasks but also with the overall brand, marketing asset, and product management. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrates with Acquia DXP (Digital Experience Platform)&lt;/li&gt;
&lt;li&gt;Web design, cloud storage, multimedia, image licensing, and many other integrations&lt;/li&gt;
&lt;li&gt;Digital asset organization&lt;/li&gt;
&lt;li&gt;E-commerce product information management &lt;/li&gt;
&lt;li&gt;Analytics to track content performance &lt;/li&gt;
&lt;li&gt;Collaborative workflow and review management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAM software, not MAM&lt;/li&gt;
&lt;li&gt;Finished asset stores like other DAMs on the marketplace&lt;/li&gt;
&lt;li&gt;Multi-tenant security&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No version control&lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities &lt;/li&gt;
&lt;li&gt;Support is offered by a web form &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$-$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; InDesign, Premiere Pro, Illustrator, Photoshop, After Effects, InCopy&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Sales, e-commerce, and marketing teams who are looking for a DAM with powerful search, workflow coordination, and content publication capabilities. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Celum&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43n8e4n0u3jvrgromdjq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43n8e4n0u3jvrgromdjq.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Celum is a DAM software solution created primarily for content management purposes. It’s not media asset management software, but it does store digital assets and documents related to the content marketing process. The platform also integrates with several CMS options such as WordPress and Sitecore. &lt;br&gt;
*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Content Hub to store digital content assets&lt;/li&gt;
&lt;li&gt;Online workrooms for collaboration &lt;/li&gt;
&lt;li&gt;Task automation and tools for building workflows&lt;/li&gt;
&lt;li&gt;Tools for feedback, annotation, and approval&lt;/li&gt;
&lt;li&gt;Secure file storage and sharing capabilities. GDPR compliant&lt;/li&gt;
&lt;li&gt;Over 100 third-party app integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAM software, not MAM&lt;/li&gt;
&lt;li&gt;Finished asset stores &lt;/li&gt;
&lt;li&gt;Assets are stored separately from finished files&lt;/li&gt;
&lt;li&gt;Multi-tenant security&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No version control&lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; None&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; Yes&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Marketing and sales teams who want to use DAM software in their overall marketing asset management strategy. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Imagen&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1efdlr49xphau0ebbbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1efdlr49xphau0ebbbc.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Imagen is DAM software with two primary offerings: Imagen Go for basic digital asset management and Imagen Pro for a more comprehensive, dynamic DAM experience. This platform works well for organizations focusing on multimedia assets. However, like the aforementioned solutions, this doesn’t offer MAM capabilities like collaborative video editing. If you’re operating on a tight budget and need a DAM solution, however, Imagen Go might be ideal for your team. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Digital asset management for rich media content and video &lt;/li&gt;
&lt;li&gt;Content distribution tools, including media logistics &lt;/li&gt;
&lt;li&gt;Archiving capabilities for long-term digital asset storage (including social media)&lt;/li&gt;
&lt;li&gt;Asset management for your overall brand&lt;/li&gt;
&lt;li&gt;Tools that allow for collaboration, reviews, and approvals &lt;/li&gt;
&lt;li&gt;Video, image, audio, and document storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAM software, not MAM&lt;/li&gt;
&lt;li&gt;Finished asset stores &lt;/li&gt;
&lt;li&gt;Assets are stored separately from finished files&lt;/li&gt;
&lt;li&gt;Multi-tenant security&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No version control&lt;/li&gt;
&lt;li&gt;Deployment process can involve multiple vendors&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $+&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; N/A&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; Yes&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Imagen Go could work well for marketing professionals and small businesses on a budget, while Imagen Pro is more scalable and geared toward larger media companies and sports organizations. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dalet Galaxy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4374ga77c6py9xh72e0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4374ga77c6py9xh72e0.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Dalet Galaxy is media asset management software that serves organizations such as news and media companies, sports organizations, and other broadcast-centric businesses. It’s primarily for companies that want a MAM to manage their media ingest workflows in the context of broadcast operations.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One multimedia catalog, with digital assets all in one place&lt;/li&gt;
&lt;li&gt;Workflow configuration, task automation, and custom API&lt;/li&gt;
&lt;li&gt;Media asset, metadata, and workflow management&lt;/li&gt;
&lt;li&gt;Mobile user interface &lt;/li&gt;
&lt;li&gt;Collaborative and completely integrated news wire system for media companies and news publications &lt;/li&gt;
&lt;li&gt;Over 300 app integrations&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Highly customizable &lt;br&gt;
&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dalet is broadcast-centric software built on an infrastructure that predates the current digital video editing model. While its broadcast capabilities work well for customers still using a historical broadcast model, it is not current for the needs of today’s post-production using apps like Adobe CC. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Complex cloud deployment. Not designed for the cloud.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IT support-heavy deployment models can be expensive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No deduplication capabilities. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No Adobe panels.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No version control.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deployment process can involve multiple vendors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No Premiere Pro auto-sync.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No motion graphics capabilities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$$$-$$$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; Not available&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; Yes&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Dalet is a MAM tool that’s great for media teams and creative companies built around broadcast workflows. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Vidispine&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnc5jqzxhmb9pehcgq6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnc5jqzxhmb9pehcgq6b.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
VidiCore by Vidispine is a cloud-based API that allows users to build custom media asset management tools for their organizations. It can be used to build a custom solution for integration with an existing content supply chain or to create something entirely new. In other words, if your company has the resources, budget, and desire to create a MAM system that is fully customized to fit your needs,  VidiCore offers the exact tools you need.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completely customized solution for each customer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Cons&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build not Buy solution&lt;/li&gt;
&lt;li&gt;API for building your own MAM &lt;/li&gt;
&lt;li&gt;Capabilities are limited to what your developers can build&lt;/li&gt;
&lt;li&gt;Costly and unpredictable support model&lt;/li&gt;
&lt;li&gt;No seamless integration into your existing workflows. Building a custom MAM would mean building out a software testing process, multiple updates, and multiple software versions before a smoothly-operating MAM solution is complete&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; Custom &lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Organizations with the budget and capability to create a completely custom MAM from the Vidicore API. In fact, many of the MAMs on the marketplace use their SDKs (Software Development Kits)!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bynder&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57l495chza67r9oka6jr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57l495chza67r9oka6jr.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Bynder is a digital asset management (DAM) tool, and not media asset management software. The product is well known for its easy-to-use UX, which makes the tool easily accessible to individuals of all tech skill levels. Beyond DAM operations, Bynder seeks to help organizations integrate their brand strategy and guidelines all in one place, making it easy for collaborators to stay on brand at all times. &lt;br&gt;
*&lt;em&gt;Key Features &lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finished asset platform&lt;/li&gt;
&lt;li&gt;Great interface for basic digital assets management needs&lt;/li&gt;
&lt;li&gt;Built-in brand guideline tools&lt;/li&gt;
&lt;li&gt;One place to create content, then review and approve&lt;/li&gt;
&lt;li&gt;Studio space for video creation, asset storage, and distribution&lt;/li&gt;
&lt;li&gt;Data and analytics tools&lt;/li&gt;
&lt;li&gt;Automation tools to optimize and scale digital assets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DAM software; not MAM&lt;/li&gt;
&lt;li&gt;Finished asset stores &lt;/li&gt;
&lt;li&gt;Assets are stored separately from finished files&lt;/li&gt;
&lt;li&gt;Multi-tenant security&lt;/li&gt;
&lt;li&gt;No deduplication capabilities &lt;/li&gt;
&lt;li&gt;No Adobe panels&lt;/li&gt;
&lt;li&gt;No Premiere Pro auto-sync &lt;/li&gt;
&lt;li&gt;No motion graphics capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; $$$&lt;br&gt;
&lt;strong&gt;Adobe CC Integrations:&lt;/strong&gt; Available, but unspecified&lt;br&gt;
&lt;strong&gt;Desktop App Available?&lt;/strong&gt; No&lt;br&gt;
&lt;strong&gt;Who It’s For:&lt;/strong&gt; Mid-size to large businesses and organizations that need a DAM with a simplistic interface. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Not Use a DAM for Media Asset Management?
&lt;/h2&gt;

&lt;p&gt;While digital asset management (DAM) software is often mistaken for media asset management software, the difference lies in their distinct capabilities.&lt;/p&gt;

&lt;p&gt;The best digital asset management software would be well-suited for marketing teams with relatively low volumes of published content, with a capacity to manage around 100,000 assets averaging 100MB each. Modern DAM systems usually have advanced features like cloud compatibility, metadata search, and download capabilities. These would primarily be used to execute marketing and sales tasks, especially illustrations, graphics, product images, etc.&lt;/p&gt;

&lt;p&gt;MAM software, however, offers a broader range of capabilities, and must be scalable with greater capacity for larger media files and assorted asset types. MAM software can typically manage millions of assets, with individual media assets several terabytes in size. This capacity is crucial for media operations teams, including media asset managers, art directors, video editors, etc., who manage vast volumes of rich media assets on-premises or in the cloud.&lt;/p&gt;

&lt;p&gt;The best DAM software would likely struggle to handle work-in-progress media workflows. However, modern MAM software can efficiently orchestrate and streamline several processes in complex high-res video post-production workflows.&lt;/p&gt;

&lt;p&gt;In practice, production teams in the film, broadcast, or video industry would use MAM software to manage, store, and work with video files for an efficient video post-production workflow. But, to handle brand and marketing materials such as photos, graphics, or texts, DAM software would be an OK choice. &lt;/p&gt;

&lt;h2&gt;
  
  
  Selection Criteria to Consider when Choosing MAM Software
&lt;/h2&gt;

&lt;p&gt;There are several MAM software options available in today’s market. Choose wisely by checking the capabilities of your options against specific criteria:&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;p&gt;First, identify the problems that your company is facing. Then assess the must-have features that address them, and choose a MAM solution that offers these. The primary role of your selected MAM software is to manage your team’s inefficiencies, so picking a  tool with the right features will help you achieve this.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost
&lt;/h3&gt;

&lt;p&gt;MAMs can be expensive, more so than DAMs. List your qualifying MAMs and compare the prices of your shortlisted solutions. Choose one that balances cost with your desired features. &lt;/p&gt;

&lt;h3&gt;
  
  
  Customer Support
&lt;/h3&gt;

&lt;p&gt;MAMs often have a longer deployment cycle than a typical DAM. Check that your selected MAM offers a reliable customer support system to resolve technical &amp;amp; workflow issues you might face during a roll-out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Proof of Concept
&lt;/h3&gt;

&lt;p&gt;Investing in new software for your team can be expensive, so MAM software with a  proof of concept option will help you test the waters before you commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuration
&lt;/h3&gt;

&lt;p&gt;Check that your prospective MAM software offers customization using built-in configuration options to fit your business needs. The software should be flexible and helpful in managing media and video files within your unique workflow without requiring additional software development by your system integrators.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Media Asset Management Software Best Features
&lt;/h2&gt;

&lt;p&gt;When choosing the best media asset management software for your organization, look out for these key competitive features:&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud compatibility
&lt;/h3&gt;

&lt;p&gt;Is your prospective solution cloud-compatible? Most modern-day MAMs make digital assets accessible from any internet-enabled device through cloud technology. &lt;/p&gt;

&lt;h3&gt;
  
  
  Third-party integrations
&lt;/h3&gt;

&lt;p&gt;According to research, context switching (switching from one task to another) steals up to 23 minutes of work time. Robust MAM solutions integrate with third-party tools using APIs to allow teams to execute their workflows without distraction. Choose a deeply integrated MAM solution with extended capabilities that supports diverse media production tasks from one user-friendly interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scalability
&lt;/h3&gt;

&lt;p&gt;Because MAMs are usually designed to handle huge volumes (Petabytes) of data, they help organizations scale their operations by replicating the same performance capabilities across vast volumes of data. This is useful for companies of all sizes - small or large.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multiplatform accessibility and security
&lt;/h3&gt;

&lt;p&gt;The best MAM software should be accessible from various platforms and devices to  support hybrid teams. It must also provide this support while keeping user and asset security paramount. Choose a MAM solution that allows team managers to change user access controls and securely regulates access to your creative assets.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Capabilities
&lt;/h3&gt;

&lt;p&gt;Modern MAMs leverage AI capabilities to perform time-consuming tasks in seconds. Tasks like transcoding, automatic logging, subtitling in various languages, etc., can traditionally take days or even weeks to complete manually. However, introducing AI-powered workflow automation can be a game-changer for teams looking to shorten production time or increase output. &lt;/p&gt;

&lt;p&gt;And there you have it. These are the ten best media asset management systems of 2023. Hope you found this useful in selecting the best software for your team. &lt;/p&gt;

</description>
      <category>media</category>
      <category>productivity</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Self-hosted workflow automation: How to self-host n8n on Convox</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Fri, 19 Aug 2022 08:38:00 +0000</pubDate>
      <link>https://dev.to/ada_pow/self-hosted-workflow-automation-how-to-self-host-n8n-on-convox-3265</link>
      <guid>https://dev.to/ada_pow/self-hosted-workflow-automation-how-to-self-host-n8n-on-convox-3265</guid>
      <description>&lt;p&gt;Automation tools improve the flow and productivity of business processes, however, they can be pricey and inflexible. The cost of using Zapier for business process automation can run into thousands of dollars, yet, it does not support self-hosting or workflow exports/imports, which ultimately limits control.&lt;/p&gt;

&lt;p&gt;To circumvent these limitations, businesses of all sizes opt for cost-effective, self-hosted Zapier alternatives like &lt;a href="https://n8n.io/"&gt;&lt;span&gt;n8n&lt;/span&gt;&lt;/a&gt;. N8n is fair code (i.e source available), relatively easy-to-use, feature-rich workflow automation tool that supports over 220 integrations. Its cloud version costs somewhere between $20 and $120 per month.&lt;/p&gt;

&lt;p&gt;Even better, the self-hosted &amp;amp; desktop version of n8n is completely &lt;b&gt;free&lt;/b&gt; If you’re wondering how to&lt;br&gt;
self-host n8n on Convox, read on to learn more about n8n, why &lt;a href="https://convox.com/"&gt;&lt;span&gt;Convox&lt;/span&gt;&lt;/a&gt; is the best platform for self-hosting n8n, and how to host it step-by-step.&lt;/p&gt;

&lt;h2&gt;What is n8n?&lt;/h2&gt;

&lt;p&gt;n8n is a free self-hosted automation tool that can be added to your cloud infrastructure to power your business process management. You can run it as a workflow engine on Convox or any similar platform to create a powerful workflow management system.&lt;/p&gt;

&lt;p&gt;Thanks to the efficiency of the “fair-code work automation platform” the project received &lt;a href="https://techcrunch.com/2020/03/13/n8n-a-fair-code-workflow-automation-platform-raises-seed-from-sequoia-as-vc-firm-steps-up-in-europe/"&gt;seed funding of $1.5 million&lt;/a&gt; within its first year of business. The self-hosted workflow management software is great for marketing and sales automation. n8n is the best choice if you want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Cost savings:&lt;/b&gt;The self-hosted version is free, while the cloud-based alternative is priced competitively.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Simplicity of use:&lt;/b&gt; The cloud tool is really simple to use, and the self-hosted version is also easy to use once installed.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Versatility:&lt;/b&gt; It allows 220+ integrations focusing on process diversity, so you can get more things done with fewer integrations enabled.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Flexibility:&lt;/b&gt; You can design/program nodes from scratch using JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Automation Workflows in n8n&lt;/h2&gt;

&lt;p&gt;A workflow in n8n is like a directed flow chart connecting various nodes to perform a task. Its starting point is always a trigger node that initiates the process, automating the workflow. However, there can be more than one trigger node for added flexibility.&lt;/p&gt;

&lt;p&gt;You think of the nodes in an automation workflow as apps/integrations with previous and next actions specified. See a quick example of how n8n automation works below.&lt;/p&gt;

&lt;h3&gt;Lead Email Validation in Mautic CRM&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;A Contact is identified in Mautic. Is it a new contact?&lt;/li&gt;
&lt;li&gt;If it’s not a new contact, do nothing. Otherwise, use the ‘Item Lists’ integration to extract the information of the new contact.&lt;/li&gt;
&lt;li&gt;Use the ‘One Simple API’ integration to check whether the email is suspicious or not.&lt;/li&gt;
&lt;/ol&gt;




&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;span&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MSLf1x1P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/HqITRfXqcfNuP8YgUmmlQUYkdlfDzSvwBnaBIxSbGZGUaqAp6SWoTgh1k2hlTNcuGSIFSUliyWkycL7oVabpDcN2VQLjSqeHb_kgc_Y-QPTdG93IQl9jFGn0MWvnEDYFxii2dIiG1uaOcu-LGr20giU" class="article-body-image-wrapper"&gt;&lt;img title="n8n Workflow to Validate Email of New Contacts in CRM (Mautic)" src="https://res.cloudinary.com/practicaldev/image/fetch/s--MSLf1x1P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/HqITRfXqcfNuP8YgUmmlQUYkdlfDzSvwBnaBIxSbGZGUaqAp6SWoTgh1k2hlTNcuGSIFSUliyWkycL7oVabpDcN2VQLjSqeHb_kgc_Y-QPTdG93IQl9jFGn0MWvnEDYFxii2dIiG1uaOcu-LGr20giU" alt="Source: n8n.io" width="880" height="404"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://n8n.io/workflows/1462/"&gt;&lt;span&gt;Source&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Why Automate Workflows?&lt;/h2&gt;

&lt;p&gt;The simple answer is: Because you want  higher productivity with fewer resources.&lt;/p&gt;

&lt;p&gt;Automating your workflows will speed up your processes, reduce operations costs, and save you a lot of money. Automation also removes human intervention from business processes and improves the quality of work.&lt;/p&gt;

&lt;p&gt;Automation can reduce your teams’ workload, transforming them into more efficient, organized, and productive professionals.&lt;/p&gt;

&lt;h2&gt;What can n8n help you automate?&lt;/h2&gt;

&lt;p&gt;Right, you’re probably wondering how automation can help you.&lt;/p&gt;

&lt;p&gt;Let’s explain.&lt;/p&gt;

&lt;p&gt;While n8n requires more technical knowledge and lacks in-built integrations, it still matches the capabilities of top tools in its domain, like Zapier.&lt;/p&gt;

&lt;p&gt;First, have a look at various integrations it works with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Core Nodes: &lt;/b&gt;Compression, image editing, error triggering, item list fetching, date, time, encryption, HTML extraction, Merging, workflow execution, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Marketing and Content:&lt;/b&gt;Mailchimp, SendInBlue, Strapi, SendGrid, SurveyMonkey, MS Dynamics CRM, Google Slides, Iterable, Facebook, Bannerbear, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Communication and Sales:&lt;/b&gt; AWS SNS, ClickUp, ConvertKit, Discord, Freshdesk, Discourse, Freshworks, Hubspot, Intercom, LinkedIn, Mailchimp, Mandrill, MS Teams, MS Outlook, PayPal, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Data and Storage:&lt;/b&gt;Airtable, AWS S3, Dropbox, Google Drive, Google Sheets, MS Excel, OneDrive, Supabase, Odoo, Postgres, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Finance and Accounting:&lt;/b&gt;InvoiceNinja, PayPal, Stripe, CoinGecko, Xero, Wise, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Utility and Productivity: &lt;/b&gt;Asana, Bitbucket, Calendly, Flow, Freshservice, Google Calendar, Jira, Monday.com, One Simple API, Notion, Jira, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Development and Analytics:&lt;/b&gt;Github, Google Analytics, AWS SQS, CircleCI, Bubble, DHL, MongoDB, MQTT, Orbit, Twilio, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Misc.:&lt;/b&gt;BambooHR, Google Docs, Onfleet, Spotify, Workable, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that you know about integrations that work with n8n, you can assess your existing workflows to identify areas where you can combine and automate business operations. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable PayPal invoice creation when an invoice is created in Invoice Ninja and has a valid PayPal ID of the client.&lt;/li&gt;
&lt;li&gt;Add new orders in Shopify to your CRM.&lt;/li&gt;
&lt;li&gt;Send email addresses of your Mailchimp subscribers to an Excel sheet.&lt;/li&gt;
&lt;li&gt;Send order confirmation emails to customers for your FB Campaigns.&lt;/li&gt;
&lt;li&gt;Send tasks to your employees in Slack every day.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also create more complex workflows with any number of nodes as your business demands.&lt;/p&gt;

&lt;h2&gt;n8n Vs. Zapier&lt;/h2&gt;

&lt;p&gt;How best can we appreciate the benefits of n8n than viewing it side by side with some of the most popular automation tools? Let’s compare and contrast n8n vs Zapier in the table below:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;colgroup&gt;
&lt;col&gt;
&lt;col&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Zapier&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;n8n&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Zapier allows more integrations (170+).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;n8n.io has more diverse integrations available (220+ at present)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Zapier cannot be self-hosted and costs up to $599.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Self-hosted n8n is free. The cloud version costs up to $120.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Doesn’t support custom integrations (e.g., of your own scripts).&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Allows custom integrations. &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Easy to set up&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Complex installation process when self-hosted.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Low code platform automates workflows, so execution takes the least time. However, the controls are not very customizable.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;Custom (not in-built) scripts and integrations automate various workflows.. Tougher than Zapier, but more customizable.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;How to self-host n8n on Convox&lt;/h2&gt;

&lt;p&gt;To get started, sign up with &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt;, then follow these steps next:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;You should have a V2 (ECS) Rack up and running in your Convox Configuration. &lt;a href="https://docs.convox.com/getting-started/introduction/"&gt;Follow these steps&lt;/a&gt; until the “Install a Rack” step is completed.&lt;/p&gt;

&lt;p&gt;*With a specific note before the “Install a Rack” step advising to ensure the Rack is being created on ECS (Version 2) engine.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--niouTPSK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/giXKsFGiaTToWbvGAcLIAU3khy9HCSfU1WSc1hRmBzc7ea_O-TcYrAAlDMmCaf2rIGaubLE5ZyE-Ka2CNHyEHBVhe5n4n1tsGWQyxZBI2piuRPz_uderrByqFbYWkjkIPi7pFC2rKmSRe7d85FvbY1A" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--niouTPSK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/giXKsFGiaTToWbvGAcLIAU3khy9HCSfU1WSc1hRmBzc7ea_O-TcYrAAlDMmCaf2rIGaubLE5ZyE-Ka2CNHyEHBVhe5n4n1tsGWQyxZBI2piuRPz_uderrByqFbYWkjkIPi7pFC2rKmSRe7d85FvbY1A" width="792" height="217"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In the CLI, address the new rack with the command: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;convox switch [Rack Name]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In this example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;convox switch staging&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Step 3:&lt;/p&gt;

&lt;p&gt;***This step could be followed earlier too.***&lt;/p&gt;

&lt;p&gt;Get the n8n example repository from &lt;a href="https://github.com/convox-examples/n8n"&gt;this GitHub repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 4:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Edit the &lt;code&gt;convox.yml&lt;/code&gt; file to define environment variables for n8n:&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;convox.yml&lt;/code&gt;in the example repository comes with the required env var for functional user management and invite features via SMTP listed:&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--71LB7bG_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/UK2y0kmWJ42Am0O9UzUo_Nc29R2HCSK6BXd3VyxOFauOLmq7woL1cVtixbfET7NeggswcLX5TSKozVlMxJBHXtWeGyHX79DeQTR5fobSltMf5UxZy2mXwlppeMIZI10Usj5-4zpScvScHXIZSr2Ws1I" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--71LB7bG_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/UK2y0kmWJ42Am0O9UzUo_Nc29R2HCSK6BXd3VyxOFauOLmq7woL1cVtixbfET7NeggswcLX5TSKozVlMxJBHXtWeGyHX79DeQTR5fobSltMf5UxZy2mXwlppeMIZI10Usj5-4zpScvScHXIZSr2Ws1I" width="535" height="586"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;If you would prefer to manually manage users or simply to not setup SMTP you should use:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;N8N_USER_MANAGEMENT_DISABLED=true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This configuration would look like this:&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I82kz7t8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/y5Tonpty7mI9UYcRkR-EoTb--oUuB0i7nooXQyBuUm50vaAYd2EIQMvIYpQF3IwEmyRguBj7y_9ZW1Ri7iQ0mEQudJDuU9pmZbZ3AeRNCJV-gk29tVRxiYxEKGnVxpcFcWfwKkI67ed2fHa16Cg6Lkg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I82kz7t8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/y5Tonpty7mI9UYcRkR-EoTb--oUuB0i7nooXQyBuUm50vaAYd2EIQMvIYpQF3IwEmyRguBj7y_9ZW1Ri7iQ0mEQudJDuU9pmZbZ3AeRNCJV-gk29tVRxiYxEKGnVxpcFcWfwKkI67ed2fHa16Cg6Lkg" width="464" height="431"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;For a full list of the available n8n environment variables, including their: type, default value, and description, visit: &lt;a href="https://docs.n8n.io/hosting/environment-variables/"&gt;&lt;span&gt;https://docs.n8n.io/hosting/environment-variables/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;b&gt;Step 5:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Once desired variables are set, return to the CLI and execute the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;convox apps create n8n&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sG4Iu4de--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/UGPd8BCZBIv7l3nXz1sCplWXepFdz7VJJEujW-e42A_FmlgesvhFru26qv4Q-7HmhUVv9vIm0WuSbuRxewIZaolaZp9pRoySNAJzxvx7toPpSWIA6zIGS9vuZeVSeOS5oUF1nfE-jLfnIm4efP892_E" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sG4Iu4de--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/UGPd8BCZBIv7l3nXz1sCplWXepFdz7VJJEujW-e42A_FmlgesvhFru26qv4Q-7HmhUVv9vIm0WuSbuRxewIZaolaZp9pRoySNAJzxvx7toPpSWIA6zIGS9vuZeVSeOS5oUF1nfE-jLfnIm4efP892_E" width="240" height="78"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Once built, deploy the app with command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;convox deploy&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Deployment may take a few minutes and will complete with a final message: OK &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 6:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Now to show the DNS resolution for your running app execute the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;convox services&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--76YItG4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/8H4bxzeNy0BchpjBjoFoGfLm3artnouYe1CNImky9xKVqpUjUSDgwh1P_z2N5JTZ6j4vwOTmVlsZPy-S0GZ2U0YYWtcOdjgUnxIUsaz4gewk3Z9EU4yKBchVWz4roI8lOWhluZKOzV7TuMDirwNwquk" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--76YItG4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/8H4bxzeNy0BchpjBjoFoGfLm3artnouYe1CNImky9xKVqpUjUSDgwh1P_z2N5JTZ6j4vwOTmVlsZPy-S0GZ2U0YYWtcOdjgUnxIUsaz4gewk3Z9EU4yKBchVWz4roI8lOWhluZKOzV7TuMDirwNwquk" width="880" height="38"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Copy and paste the &lt;span&gt;DOMAIN &lt;/span&gt;into your web browser to view your new self-hosted n8n instance.&lt;/p&gt;

&lt;p&gt;The initial account setup will be the OWNER. &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---N4WEhK6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/t_GEz2ZyyTgi_YWb9BshPatmKaoLez3sthmZDiRbOzZoz2ZBZ1K9OhnAKZcBHH7WGsYzvM6YcxOnXWZsjAjdS3V-_ClXtzjeYpTWBz9xJNZIQxvB9vp9dITGKeEhoCy_waoqL6uR46yYAZpFLV6DWpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---N4WEhK6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/t_GEz2ZyyTgi_YWb9BshPatmKaoLez3sthmZDiRbOzZoz2ZBZ1K9OhnAKZcBHH7WGsYzvM6YcxOnXWZsjAjdS3V-_ClXtzjeYpTWBz9xJNZIQxvB9vp9dITGKeEhoCy_waoqL6uR46yYAZpFLV6DWpg" width="315" height="372"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Additional users can be invited via SMTP or manually configured in the settings menu.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K2mtPHwE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/vJXO5Aa8tW2A_ET5N5vktDUWm2JMUoxfAzC1Ro2L0zgVbACv6qqkjn6d9L0MAM_ppy3PscTsYZgxEQ5XOyTYpKGvbycq_z0dlO47gbUTs616kPQykWtlMwIV_jxce9OqkVOgv_4pFmUlgPwI1AkDWCg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K2mtPHwE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/vJXO5Aa8tW2A_ET5N5vktDUWm2JMUoxfAzC1Ro2L0zgVbACv6qqkjn6d9L0MAM_ppy3PscTsYZgxEQ5XOyTYpKGvbycq_z0dlO47gbUTs616kPQykWtlMwIV_jxce9OqkVOgv_4pFmUlgPwI1AkDWCg" width="880" height="307"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Now, you can start using your self-hosted n8n as you prefer.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ci8uBPoH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/c2xDtlVDVFehbGgXBq8Az8KIT88SiakSjpppK8MoQxJgFNtd_gd-rxd_33LGFbU-f83Nq24oAM8UwXU0dpWvwBnjM14EgfTsQo2gpMAxVulm0lrgFr5EN2Y2vdWy4-KpM-s2_v97u5iq_ObuciS_f2E" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ci8uBPoH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/c2xDtlVDVFehbGgXBq8Az8KIT88SiakSjpppK8MoQxJgFNtd_gd-rxd_33LGFbU-f83Nq24oAM8UwXU0dpWvwBnjM14EgfTsQo2gpMAxVulm0lrgFr5EN2Y2vdWy4-KpM-s2_v97u5iq_ObuciS_f2E" width="381" height="435"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Why Convox?&lt;/h2&gt;

&lt;p&gt;n8n is a more cost-convenient and customizable automation solution when self-hosted. For self-hosting, we have suggested using Convox for many reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Uptime: Convox gives you  &lt;a href="https://convox.com/blog/rolling-deploys/"&gt;zero downtime promise&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Developer-friendly: Its K8s-based deployment allows you to customize your n8n installation and workflows easily.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cloud: It is &lt;a href="https://convox.com/product/"&gt;production-ready &lt;/a&gt;and supports DigitalOcean, AWS, Google Cloud, and Microsoft Azure. So, it can fulfill your cloud requirements for n8n very easily.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt; Convox allows auto-scaling and lets your n8n deployment grow without hassles.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cost-convenience: &lt;a href="https://convox.com/pricing/"&gt;Convox’s cost&lt;/a&gt; will amaze you when compared  with other options available.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Final Word&lt;/h2&gt;

&lt;p&gt;n8n is a  powerful workflow automation tool that every business can use to work more efficiently. However, self-hosting this solution in an efficient infrastructure platform like &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; is the only way to explore the full potential of n8n’s capabilities. With this tutorial, you should have a step-by-step practical guide showing you how to do this.&lt;/p&gt;



</description>
      <category>automation</category>
      <category>tutorial</category>
      <category>hosting</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to host PHP in your Digital Ocean account with Convox</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Fri, 29 Jul 2022 14:29:00 +0000</pubDate>
      <link>https://dev.to/ada_pow/how-to-host-php-in-your-digital-ocean-account-with-convox-2j3m</link>
      <guid>https://dev.to/ada_pow/how-to-host-php-in-your-digital-ocean-account-with-convox-2j3m</guid>
      <description>&lt;p&gt;Cloud servers such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and DigitalOcean (DO) are an integral aspect of every developer’s practice. They are virtual servers that reside and run in a cloud computing environment. &lt;/p&gt;

&lt;p&gt;By hosting or deploying your apps in the cloud, you can ensure better scalability, faster performance, auto-updates, and integrations, and unlimited storage capacity, all at a competitive price. Many top enterprises have migrated to the cloud so as to reduce costs and complexity—and you should too.&lt;/p&gt;

&lt;p&gt;PHP is one of the most popular programming languages among software engineers and developers, with over 22% of respondents using it in the past year, according to a 2021 survey on &lt;a href="http://statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/"&gt;Statista&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As a developer, knowing how to deploy your PHP applications across multiple cloud services such as AWS, GCP, and Digital Ocean DO is important. &lt;/p&gt;

&lt;p&gt;This article will guide you on how to host PHP applications in your own account on the Digital Ocean environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Host PHP in Your DigitalOcean (DO) Account
&lt;/h2&gt;

&lt;p&gt;DigitalOcean provides Virtual Private Servers (VPS), which are called Droplets. At their core, Droplets run on DigitalOcean hardware as Linux virtual machines (VMs).&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In the following section, you’ll find out how you can host a PHP website on DigitalOcean Server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 : DigitalOcean Registration
&lt;/h2&gt;

&lt;p&gt;Registration at DigitalOcean is straightforward. It only asks for your name, email, and password. &lt;/p&gt;

&lt;p&gt;Also, you can register with your Google account. You can register on DigitalOcean with &lt;a href="https://cloud.digitalocean.com/welcome"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Configuring the Droplet
&lt;/h2&gt;

&lt;p&gt;As soon as you log in to your DigitalOcean account, the homepage or “ControlPanel” in this case will greet you. Our next step will be to create the first instance of the DigitalOcean droplet.&lt;/p&gt;

&lt;p&gt;To do that, click on the “Create” button that is located in the top left corner and then click on “Droplets” (create cloud servers). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--II2Zcm82--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/th4hjfx4gc9tpwdosijj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--II2Zcm82--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/th4hjfx4gc9tpwdosijj.png" alt="Image description" width="512" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From Marketplace, we can select the LAMP image with version 18.04 or the latest version which is available. This way, DigitalOcean will deploy the latest versions of Linux, Apache, PHP, and MySql installed on a given virtual machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B4Xkso81--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m3qhhgq7c8row72ep3pr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B4Xkso81--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m3qhhgq7c8row72ep3pr.png" alt="Image description" width="512" height="175"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, you need to choose a plan for DigitalOcean. Choose the plan size you need here or, for demo purposes, select the "Standard plan" and then select the data center closest to your users.&lt;/p&gt;

&lt;p&gt;After this, you will also need to set up authentication that will be used to administer and communicate with DigitalOcean Droplet. &lt;/p&gt;

&lt;p&gt;In the Authentication section, select the option “SSH keys”. These SSH keys provide a secure way to login into your server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aQ8FjILD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7v7s11kj19iuv6c4xwr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aQ8FjILD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7v7s11kj19iuv6c4xwr.png" alt="Image description" width="512" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click on the new SSH keys. The next window requires the public keys from the local system. If the public ssh key is absent use the following command to create:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After entering the command, confirm the path and passphrase. Once it has been executed successfully, it will create a private/public key pair in your local system. In the subsequent step, we need to place the public key on the DigitalOcean server so users can use SSH-key-based authentication to log in from their local system. &lt;/p&gt;

&lt;p&gt;This can be achieved by running the following command. This will copy the public key to the clipboard.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pbcopy &amp;lt; ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, paste it to DigitalOcean and add the public SSH key option as below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6h0STM_V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9utuo2tqxjldojcfolt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6h0STM_V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9utuo2tqxjldojcfolt.png" alt="Image description" width="512" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can then create a droplet by clicking the "create a droplet".&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Entering the Droplet
&lt;/h2&gt;

&lt;p&gt;Once the Droplet is created, it becomes visible on the resources screen on the homepage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eZsLEtC8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iz12cczbpm22ezgxixwv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eZsLEtC8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iz12cczbpm22ezgxixwv.png" alt="Image description" width="512" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using the IP address shown in the Resources tab,  you can access the droplet through the web console provided by DigitalOcean. But, for a security issue, I recommend that you do it through a terminal if your computer has Linux or Mac since they come with SSH installed. If you have Windows, you can use  Windows PowerShell or Putty.&lt;br&gt;
On the terminal you can run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh root@&amp;lt;ip address&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you connect with the host for the first time, you might see something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4VeQJRll--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vel2p3um8rzkqsrnz8sw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4VeQJRll--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vel2p3um8rzkqsrnz8sw.png" alt="Image description" width="512" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Type Yes and continue.&lt;/p&gt;

&lt;p&gt;Once we enter our droplet, we are going to update the operating system with the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Deploy Website to VM instance
&lt;/h2&gt;

&lt;p&gt;This step is important for our website routes to work properly. We execute the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw allow in "Apache Full"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will open port 80 and port 443 for our income website traffic.&lt;/p&gt;

&lt;p&gt;Next, we can verify that everything went as planned by visiting the droplet server’s public IP address in the web browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://your_public_server_ip_from_droplet

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should display the default apache page:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dgS9zI1n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/39e512wfzx63e0b3gwja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dgS9zI1n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/39e512wfzx63e0b3gwja.png" alt="Image description" width="414" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This confirms that the web server is installed and firewall settings are allowing incoming connections.&lt;/p&gt;

&lt;p&gt;Apache on Ubuntu by default is configured to serve webpages from the /var/www/html folder. &lt;/p&gt;

&lt;p&gt;So next, we change permission for the Apache website hosting folder i.e HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ~
cd var/www
sudo chmod 777 html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, reload Apache so these changes take effect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl reload apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your new website configuration is active, but the webroot /var/www/html is still empty. Here we can a basic PHP-based “index.php” file to test that the virtual host works as expected:&lt;/p&gt;

&lt;p&gt;Create the file “index.php” and add the following content in this .php file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
   &amp;lt;body&amp;gt;
      &amp;lt;html&amp;gt;
         &amp;lt;head&amp;gt;
            &amp;lt;?php
               echo '&amp;lt;title&amp;gt;My PHP Website Hosted on Cloud&amp;lt;/title&amp;gt;';
               ?&amp;gt;
         &amp;lt;/head&amp;gt;
         &amp;lt;body&amp;gt;
            &amp;lt;?php
               echo '&amp;lt;p&amp;gt;This content was generated by PHP Code&amp;lt;/p&amp;gt;';
               ?&amp;gt;
            &amp;lt;p&amp;gt;You are at myownwebsite.com&amp;lt;/p&amp;gt;
         &amp;lt;/body&amp;gt;
      &amp;lt;/html&amp;gt;
   &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save and close the file, then go to your browser and access your server’s IP address:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://public_IP_address
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should display the following PHP page. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rsPZdM_B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufevd5xiuyiog1gftl0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rsPZdM_B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufevd5xiuyiog1gftl0j.png" alt="Image description" width="512" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it - you've successfully hosted PHP in your Digital Ocean account using Convox! While it’s impossible to cover all the different cloud servers available, this article covers the deployment procedures for a PHP application to Digital Ocean. Since PHP is such a popular language, it’s unlikely that any PHP site will be as simple, and the deployment process as strenuous and complex as the one described in this article. &lt;/p&gt;

&lt;p&gt;In that case, there’s a need for more efficient methods for hosting PHP apps from the local machine directly to the production environment. Using a modern and user-friendly Platform as a Service (PaaS) solution like &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; helps you easily deploy and manage PHP applications on all infrastructures, including AWS, Google Cloud, Azure, and DigitalOcean. &lt;/p&gt;

&lt;p&gt;With just a few clicks, &lt;a href="https://convox.com/blog/convox-multi-cloud/"&gt;Convox Multi-Cloud&lt;/a&gt; enables you to manage these apps in multiple cloud environments at the same time from a single console, and move between different clouds, taking the term “build once, deploy anywhere” to a whole other level.&lt;/p&gt;

&lt;p&gt;Interested in hosting your PHP app on Convox? Get started now &lt;a href="https://docs.convox.com/getting-started/introduction/"&gt;in just a few clicks&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>php</category>
      <category>devops</category>
      <category>tutorial</category>
      <category>cloud</category>
    </item>
    <item>
      <title>What is a Kubernetes deployment (and how can I create one? )</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Thu, 02 Jun 2022 06:51:00 +0000</pubDate>
      <link>https://dev.to/ada_pow/what-is-a-kubernetes-deployment-and-how-can-i-create-one--38ng</link>
      <guid>https://dev.to/ada_pow/what-is-a-kubernetes-deployment-and-how-can-i-create-one--38ng</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;It is almost impossible to avoid the intriguing world of deployments if you’re running applications on a Kubernetes cluster.&lt;/p&gt;

&lt;p&gt;A Kubernetes deployment is what enables you to roll out, roll back and scale various versions of your applications. In other words, a Kubernetes deployment is a resource object used for releasing declarative app updates. You specify your desired app state through a deployment, and the deployment controller takes action to change the current state to the desired state.&lt;/p&gt;

&lt;p&gt;For example, you can specify how many duplicates of a Pod you want running and the deployment makes this happen.&lt;/p&gt;

&lt;p&gt;Acting as a means for Pod performance management, a Kuberenetes (or K8s) deployment can speed up application launches and updates with no downtime. Software development teams and managers often use deployments for auto-rolling updates to prevent downtime and the challenges that manual updates are notorious for.&lt;/p&gt;

&lt;p&gt;The rest of this article will delve into Kubernetes deployments in detail so that you can learn how to use them smoothly. We’ll also show you a more efficient way to manage your Kubernetes clusters (and multi-cluster deployments) so that you can use your time and resources more efficiently. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Kubernetes Deployment?
&lt;/h2&gt;

&lt;p&gt;A Kubernetes deployment is the vehicle that you use to provide declarative updates to a containerized application. Updates are sent to the Pods and ReplicaSets using manifestation files, i.e., YAML. On receiving an input, the current state of the application is set to “declared” by the controller.&lt;/p&gt;

&lt;p&gt;To understand the above definition better, let us individually ‘unpack’ the three terms used above: Pod, ReplicaSet, and Deployment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Pods&lt;br&gt;
Within a K8s cluster, we cannot run containers directly. So, the Docker image needs a layer of abstraction over containers, and this is where the Pod comes in. In other words, &lt;a href="https://convox.com/blog/how-to-restart-pod-in-kubernetes/"&gt;Pods&lt;/a&gt; are used to encapsulate your containers so that you can perform deployments efficiently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ReplicaSet&lt;br&gt;
If your application requires more than one Pod,  grouping is performed by ReplicaSet. This component of Kubernetes enables you to create various instances for each Pod, which helps when you have to scale  applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deployment&lt;br&gt;
Alright. So, you’ve got a Pod when you need to deploy an app and a ReplicaSet when you need to deploy it. Why do we need a Kubernetes Deployment then?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Valid question. Let’s explain.&lt;/p&gt;

&lt;p&gt;Deployment adds flexibility to your Kubernetes cluster and eventually, to your application. Whether you’re rolling an update or rollbacking one, using the deployment helps you handle Pod instances better. So, keeping a Pod(s) inside the ReplicaSet inside the Deployment makes for a highly effective hierarchy layer in Kubernetes.&lt;/p&gt;

&lt;p&gt;Here’s an image to help you understand this concept better: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tsKfMnq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/62zwd73qx0lmybh8duze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tsKfMnq8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/62zwd73qx0lmybh8duze.png" alt="Image description" width="565" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why use Kubernetes Deployment?
&lt;/h2&gt;

&lt;p&gt;In the DevOps universe, efficiency is key. And manually updating Pods within containerized apps is not a smart use of developer resources. Imagine upgrading services, stopping old versions, waiting for new launches, verifying versions’ validity, rolling changes, rolling back the changes when a failure occurs by your hands. Not a pretty sight. &lt;/p&gt;

&lt;p&gt;Added to this is your potential to rack up errors, reduce productivity, build up idle time for your resources, and other issues too numerous to mention. &lt;/p&gt;

&lt;p&gt;Deployments solve this problem by enabling you to use repeatable pre-designed patterns (or workflows) to automate processes. &lt;/p&gt;

&lt;p&gt;You can use a K8s deployment or cluster object to specify your desired outcome(s), as the system then emphasizes maintaining your deployment’s “desired” state. This is a better approach for managing Pod status, availability, pausing, rolling, rollbacks, versioning, and management on the server-side.&lt;/p&gt;

&lt;p&gt;By using deployment in Kubernetes, you’re better positioned to leverage the following benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster instance updates resulting from individual updates generated by the rolling concept.&lt;/li&gt;
&lt;li&gt;Better control over unsavory situations. This means that in the event of an error, rollbacks to previous working versions can be performed seamlessly.&lt;/li&gt;
&lt;li&gt;The ability to 'force' stop updates for your Pods or ReplicaSets. &lt;/li&gt;
&lt;li&gt;Smoother application scaling for  Pods with multiple instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Create a Kubernetes Deployment
&lt;/h2&gt;

&lt;p&gt;Now that we’ve answered the question: “what is a Kubernetes deployment?” - let’s move on to how a deployment functions. Here, you will learn how to create and use deployments efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Kubernetes Deployment
&lt;/h2&gt;

&lt;p&gt;The first step to creating a Kubernetes deployment is creating a YAML file for this deployment. The structure of this object's information is similar to ReplicaSet, but its type should be "Deployment". &lt;/p&gt;

&lt;p&gt;Here’s an example deployment object named "deployment-explainer" :&lt;/p&gt;

&lt;p&gt;File Name: deployment-explainer.yaml&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apiVersion: apps/v1&lt;br&gt;
kind: Deployment&lt;br&gt;
metadata:&lt;br&gt;
name: deployment-explainer # It is the name of your deployment&lt;br&gt;
spec:&lt;br&gt;
replicas: 5 # Total number of copies&lt;br&gt;
Selector: # For 5 replicas, your cluster must have 5 pods with the same label running&lt;br&gt;
matchLabels:&lt;br&gt;
app: webserver&lt;br&gt;
version: v101&lt;br&gt;
template: #&lt;br&gt;
metadata:&lt;br&gt;
labels:&lt;br&gt;
app: webserver&lt;br&gt;
Version: v101&lt;br&gt;
spec:&lt;br&gt;
containers:&lt;br&gt;
 name: explainer&lt;br&gt;
image: explainer/latest # Path of the image goes here&lt;br&gt;
ports:&lt;br&gt;
 containerPort: 80&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Once you have created the YAML file, it's time to execute. Use the following command for this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl apply -f deployment-explainer.yaml --record&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here are a few more useful commands to help you manage your Kubernetes deployment smoothly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To check if your deployment was created:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl get deployments&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To see a detailed description of this deployment:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl describe deployment deployment-explainer&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As a deployment will create a ReplicaSet, use this to perform a check:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl get replicaset&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After creating the replica set, a deployment should create pods. To verify pods created and their status:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl get pods&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S In the example case used above, you should have 5 replicas of the Pod.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the following command to delete a deployment:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl delete -f deployment-explainer.yaml&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get running services using the below command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl get services&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You may set the image or update the YAML file to perform a rolling update.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl set image deployment deployment-explainer explainer=explainer:2.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;OR&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl edit deployment deployment-explainer&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The rollout status can be checked using:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;kubectl rollout status deployment deployment-explainer explainer=explainer:2.0&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Application Management Strategies using Kubernetes Deployment
&lt;/h2&gt;

&lt;p&gt;Some features might demand thorough and detailed testing while some UX/UI changes might just need quick updates. Depending on what your development goals are, you can employ various K8s deployment strategies. Two popular strategies are -&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rolling Update Strategy &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the default Kubernetes deployment strategy that enables you to replace pods in a controlled way. &lt;/p&gt;

&lt;p&gt;The rolling update strategy does not just stage the application launch. It also optimizes the Pods count by maintaining the minimum number of Pods in the deployment. However, for short time periods, this strategy could create 2 versions of the same Pod run for your application - creating problems for the service consumers.&lt;/p&gt;

&lt;p&gt;The strategy ensures that at least 25% of pods are in the desired state and not more than 25% of total pods are made unavailable. This implies that the rolling update won’t cause any downtime if your application is architectured for good fault tolerance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recreate Strategy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With this strategy, all previous Pods are deleted, and new ones are created. New containers are executed after complete termination of the old ones. While this might cause downtime, it also means that you won't have to deal with incorrect handling of service consumers' requests. &lt;/p&gt;

&lt;p&gt;When old containers are stopped and new versions are being configured, there are no active containers for your applications. So, requests by service consumers won’t be processed during this time.&lt;/p&gt;
&lt;h2&gt;
  
  
  Using workflows for deployment in Convox
&lt;/h2&gt;

&lt;p&gt;First, here’s how this is done in K8s.&lt;/p&gt;

&lt;p&gt;Kubernetes lets you release containerized applications to various cloud-based hosts. For example, you can add AKS, Google GKE, and Amazon EKS clusters - all to your  pipeline, making multi-cloud development and  deployments easier.&lt;/p&gt;

&lt;p&gt;To achieve this in K8s, you will usually need to create an environment, set up resources, and create K8s jobs. Then, you will need to create the YAML file for parallel deployment across multiple clouds using Kubernetes namespaces. &lt;/p&gt;

&lt;p&gt;Running these commands and preparing a lengthy YAML isn’t all. You still have to take care of various background and prerequisite activities. Managing new deployments (especially when dealing with a multi-cloud situation) can be complex and time-consuming with these necessary tasks. &lt;/p&gt;

&lt;p&gt;But we don’t recommend this method, as there’s a better way. &lt;/p&gt;

&lt;p&gt;Convox acts as a Kubernetes deployment controller, doing the heavy-lifting for your team by helping you &lt;a href="https://docs.convox.com/management/direct-k8s-access/"&gt;access and manage K8s directly&lt;/a&gt; in a few clicks. &lt;/p&gt;

&lt;p&gt;You can do this by using  Deployment Workflows.&lt;/p&gt;

&lt;p&gt;A Deployment Workflow lets you easily handle the staging and production tasks related to your regular applications. Whenever you add code to a particular repository or branch on Github/Gitlab, it triggers an update to your application deployed in Convox. If required, you can trigger workflows manually instead of on merges.&lt;/p&gt;

&lt;p&gt;Creating &lt;a href="https://console-docs.convox.com/console/workflows#deployment-workflows"&gt;Deployment Workflows&lt;/a&gt; is easy with Convox. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--40mDydKi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3epj6v382vmilptpwxu2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--40mDydKi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3epj6v382vmilptpwxu2.png" alt="Image description" width="880" height="284"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  How to create a Kubernetes deployment with Convox as a deployment controller
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mx_l0MTI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/clg2dnwrjmf6ftz7o636.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mx_l0MTI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/clg2dnwrjmf6ftz7o636.png" alt="Image description" width="512" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Convox, handling Kubernetes deployments and managing your Kubernetes cluster is a smooth operation. Convox empowers developers and their team managers to deploy applications easily by automating the complex, lengthy parts of the deployment process.&lt;/p&gt;

&lt;p&gt;Convox provides an API proxy that is accessible from your Convox racks. With Convox’s easy-to-use interface, problems with the management of Kubernetes credentials have become a thing of the past.  &lt;/p&gt;

&lt;p&gt;The detailed how-to video shows how you can easily manage multiple deployments with Convox:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/18y161ZZkTw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Word
&lt;/h2&gt;

&lt;p&gt;Kubernetes object deployment features are enabled on clusters for faster development, deployment, and scaling. However, single and multi-cloud environment users might find the complex deployment process discouraging and difficult in practical terms. Acting as a deployment controller, Convox is the perfect solution for these users and their development teams to speed up their production processes and create more robust containerized applications.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>docker</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What DevOps engineer jobs does Convox automation make easier?</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Thu, 02 Jun 2022 05:38:22 +0000</pubDate>
      <link>https://dev.to/ada_pow/what-devops-engineer-jobs-does-convox-automation-make-easier-471p</link>
      <guid>https://dev.to/ada_pow/what-devops-engineer-jobs-does-convox-automation-make-easier-471p</guid>
      <description>&lt;p&gt;Successful DevOps teams have a lot to account for. First, they need organized processes that streamline the delivery of core services - builds, internal tooling, quality checks, testing, deployments, and automation. But this need also creates a gap for powerful DevOps tools to support engineer roles and empower  them to manage dynamic workflows.&lt;/p&gt;

&lt;p&gt;When it comes to DevOps engineer roles, coding isn't all there is to the part. The job also involves workflows and processes such as releasing to web servers, load balancing, testing, version control systems, etc. These processes are time-consuming and require utmost precision. One mistake and the TTM (time-to-market) increases significantly. &lt;/p&gt;

&lt;p&gt;So, how can Convox help to reduce the time spent on each task while increasing operational efficiency? Let’s find out:&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Convox?
&lt;/h2&gt;

&lt;p&gt;Convox is a cloud-agnostic PaaS (Platform-as-a-Service) that DevOps engineers can use to deploy applications to the cloud more efficiently. Convox streamlines the entire deployment lifecycle by integrating cloud providers' services with other open-source tools to make up a highly reliable platform. This gives you your own PaaS with total privacy and control without the unpredictable pricing structure typical of other platforms. &lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Convox:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open-source platform &lt;/li&gt;
&lt;li&gt;Cloud-agnostic, supporting AWS, Digital Ocean, Google Cloud, etc.&lt;/li&gt;
&lt;li&gt;Accelerates &lt;a href="https://convox.com/blog/kubernetes-deployment/"&gt;deployment&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;As the build engineer pushes to GitHub, it automatically triggers the creation of new cloud services and containers for branch testing.&lt;/li&gt;
&lt;li&gt;As the engineer merges to GitHub, it automatically triggers the rollout of new images and containers toward production.&lt;/li&gt;
&lt;li&gt;The app automatically scales up or down depending on the load.&lt;/li&gt;
&lt;li&gt;Cloud services automatically replace or discard components of the cloud stack due to detection of failure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Choose Convox?
&lt;/h2&gt;

&lt;p&gt;DevOps is an automation culture that bridges the gap between developers and operations teams. A good DevOps culture promotes the execution of parallel development and testing workflows within the development lifecycle.&lt;/p&gt;

&lt;p&gt;Today, the DevOps culture is embraced by many businesses to streamline workflows, keep up with market demands, speed-up upgrades and accelerate software delivery for cloud applications. But, manually running this procedure is complicated and time-consuming. &lt;/p&gt;

&lt;p&gt;Enter automation. &lt;/p&gt;

&lt;p&gt;Automation helps to take the efficacy of DevOps processes to a whole new level by facilitating faster software releases. With the help of tool integrations, DevOps automation reduces the time spent in the software development lifecycle (SDLC) and allows for more precision, consistency, reliability, and acceleration in deliveries.&lt;/p&gt;

&lt;p&gt;Now, why should you choose Convox to streamline your DevOps tasks?&lt;/p&gt;

&lt;p&gt;Convox solves two of the main bottlenecks that arise within the internal tooling of businesses:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building a tailored system is costly and distracts you from core business goals, as you have to manage hiring, R &amp;amp; D, maintenance, and so on.&lt;/li&gt;
&lt;li&gt;Private solutions offered in the market are based on experimental software.  These platforms also lack maturity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These problems often demand substantial upfront investments and may uncover new issues in the long run for the DevOps team.&lt;/p&gt;

&lt;p&gt;Here's where Convox excels.&lt;/p&gt;

&lt;p&gt;Convox replaces lengthy and complex code development processes and simplifies various DevOps engineer jobs by automating repetitive tasks related to code deployment, testing, upgrades, maintenance, and more. &lt;/p&gt;

&lt;h2&gt;
  
  
  What DevOps Engineer jobs does Convox make easier?
&lt;/h2&gt;

&lt;p&gt;Convox is a PaaS solution that addresses DevOps pain points and vitally reduces time spent managing cloud resources. It retains your standard processes and tasks while causing minimal disruption. Not only does it substantially save the number of hours spent in monitoring, but it also reduces costs, enhances resource management, and more.&lt;/p&gt;

&lt;p&gt;Here’s how Convox simplifies DevOps Engineer jobs:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Faster deploys to aid the build and release engineers.
Convox can install ‘’&lt;a href="https://convox.com/blog/multi-cloud-deployments-with-github-actions/"&gt;Convox Rack&lt;/a&gt;”- a power-packed PaaS into your cloud account in just a few minutes. It efficiently manages your servers, data, and networks, which means that you deploy and scale applications using just one command.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r_-ClVqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/684kr42hcaz5wyrqhr34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r_-ClVqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/684kr42hcaz5wyrqhr34.png" alt="Image description" width="512" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;convox install&lt;/code&gt; command will configure a production-ready infrastructure with the best and latest AWS services for your applications. EC2, ASG, CloudFormation, S3, Lambda, ELB, VPC, etc., play a vital role within the system. Convox manages the tasks of testing, researching, and integrating all of these services, thereby reducing complexity.&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;convox deploy&lt;/code&gt; command to deploy any twelve-factor application upon AWS. Convox leverages build and release API to create images, load balancers, and containers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Automated Workflows 
Automated workflows are &lt;a href="https://console-docs.convox.com/console/workflows#deployment-workflows"&gt;easy to design and execute&lt;/a&gt; with Convox, and they help engineers manage the regular deployment of applications to staging and production. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here’s how Convox simplifies the delivery engineer and automation engineer’s tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every update made to the application triggers the creation of a deployable release&lt;/li&gt;
&lt;li&gt;Rolling deploys take care of timely upgrades with zero downtime&lt;/li&gt;
&lt;li&gt;Easy rollbacks to a previous version using just a single command&lt;/li&gt;
&lt;li&gt;Creates CI/CD pipelines for all applications via a unified console. &lt;/li&gt;
&lt;li&gt;Easily automate deployments to one or more clouds.&lt;/li&gt;
&lt;li&gt;Offers source control integrations for GitLab and GitHub.&lt;/li&gt;
&lt;li&gt;Integrates with Jenkins, CircleCI, GitHub Actions, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kwi0wprd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a41yw5qyvuw1cn5hv166.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kwi0wprd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a41yw5qyvuw1cn5hv166.png" alt="Image description" width="512" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Helps SysAdmin with Role-based Access Control&lt;br&gt;
With Convox, SysAdmins can control team members’ access levels with multiple access roles that help granulize control and secure your environments. Convox manages this seamlessly by leveraging hardware two Factor-Authentication (2FA).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Aids DevOps Engineers with 360-degree visibility including audit logging
Test engineers and agile coaches can use Convox to reduce the time taken for bug fixes or to get upgrades live in several ways:&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Build engineers can start and change any application with convox start. &lt;/li&gt;
&lt;li&gt;Use ‘Convox Integrations’ to ship patches to GitHub &amp;gt; CircleCI &amp;gt; Production &amp;gt; Slack Notification.&lt;/li&gt;
&lt;li&gt;Use convox scale to scale a service.&lt;/li&gt;
&lt;li&gt;DevSecOps engineers can use convox rack updates to apply infrastructure security updates across the board.&lt;/li&gt;
&lt;li&gt;Test engineers can use convox exec to debug the live app&lt;/li&gt;
&lt;li&gt;Quality engineers can use convox proxy to analyze an application’s private database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These agile processes call for detailed audits to track team members’ activities. This is where the Audit Log comes in.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convox creates detailed logs of all the changes made to the applications to maintain compliance requirements. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Its ‘self-hosted’ option helps test engineers seamlessly comply with the GDPR, PCI, HIPAA, and SOC2 standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YYy17keu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrmaaao3eq1f7u34iwoa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YYy17keu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrmaaao3eq1f7u34iwoa.png" alt="Image description" width="512" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monitor and manage your infrastructure throughout cloud environments&lt;/li&gt;
&lt;li&gt;Check health and load of the applications via one console&lt;/li&gt;
&lt;li&gt;Features Syslog Forwarding, Log Aggregation, and Metrics Dashboard&lt;/li&gt;
&lt;li&gt;Provides a complete audit log of every change done and by whom&lt;/li&gt;
&lt;li&gt;Check the entire history of application changes and roll back with a click&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Single API access&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SUfPc3nm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52imersesa0gumr2xjqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SUfPc3nm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52imersesa0gumr2xjqs.png" alt="Image description" width="512" height="380"&gt;&lt;/a&gt;&lt;br&gt;
Convox also provides engineers with a single API to access or upgrade resources and keep track of all API calls, even the sensitive ones.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Convox Console to streamline modern DevSecOps workflows
Console goes one step ahead of the Convox Rack. It comes with intuitive, web-based tools that allow you to switch between Racks, integrate with third-party tools, control developer access, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Convox Console comprises three core features, namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rack Sharing:&lt;/strong&gt; Rack Sharing allows teams to share Racks using CLI commands. This is vital for allowing or restricting access of individual engineers to resources. For delicate systems, DevSecOps engineers must ensure that team members have exclusive credentials with authentication via an ‘API key’ through Grid’s interface. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitHub Integration:&lt;/strong&gt; Console seamlessly integrates with GitHub to simplify the setup of CI/CD workflows. As you push code to master on GitHub, it triggers automatic building and deploys to your Convox app. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Slack Integration:&lt;/strong&gt; Businesses often leverage robust chat services like Slack for seamless collaboration amongst DevOps teams. Grid offers an ‘Add to Slack’ button, where engineers can opt-in to get critical notifications about specific Racks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Word
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; is one of the best PaaS platforms for growing businesses that do not yet have the resources and capacity to handle a large team of DevOps engineers. The platform offers a perfect solution for companies that manage multiple client projects with a limited number of DevOps engineers onboard.  &lt;/p&gt;

&lt;p&gt;By simplifying the creation of standard tasks and workflows, Convox speeds up the delivery lifecycle and drives timely product releases. It saves time and expenses with single commands that automatically trigger rollout deployments, faster rollbacks, modern twelve-factor apps, etc.&lt;/p&gt;

&lt;p&gt;Convox helps businesses gain operational efficiency, with a limited pool of DevOps engineers. This primarily benefits those chained by mundane, repetitive manual tasks – who desire to reach their core business goals and deliver true value via automation. If you want to to use Convox to make your job easier, &lt;a href="https://console.convox.com/signup"&gt;register for a free account&lt;/a&gt; today. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>kubernetes</category>
      <category>docker</category>
    </item>
    <item>
      <title>What DevOps engineer jobs does Convox make easier?</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Wed, 01 Jun 2022 12:32:08 +0000</pubDate>
      <link>https://dev.to/ada_pow/what-devops-engineer-jobs-does-convox-make-easier-1k71</link>
      <guid>https://dev.to/ada_pow/what-devops-engineer-jobs-does-convox-make-easier-1k71</guid>
      <description>&lt;p&gt;Successful DevOps teams have a lot to account for. First, they need organized processes that streamline the delivery of core services - builds, internal tooling, quality checks, testing, deployments, and automation. But this need also creates a gap for powerful DevOps tools to support engineer roles and empower  them to manage dynamic workflows.&lt;/p&gt;

&lt;p&gt;When it comes to DevOps engineer roles, coding isn't all there is to the part. The job also involves workflows and processes such as releasing to web servers, load balancing, testing, version control systems, etc. These processes are time-consuming and require utmost precision. One mistake and the TTM (time-to-market) increases significantly. &lt;/p&gt;

&lt;p&gt;So, how can Convox help to reduce the time spent on each task while increasing operational efficiency? Let’s find out:&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Convox?
&lt;/h2&gt;

&lt;p&gt;Convox is a cloud-agnostic PaaS (Platform-as-a-Service) that DevOps engineers can use to deploy applications to the cloud more efficiently. Convox streamlines the entire deployment lifecycle by integrating cloud providers' services with other open-source tools to make up a highly reliable platform. This gives you your own PaaS with total privacy and control without the unpredictable pricing structure typical of other platforms. &lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Convox:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open-source platform &lt;/li&gt;
&lt;li&gt;Cloud-agnostic, supporting AWS, Digital Ocean, Google Cloud, etc.&lt;/li&gt;
&lt;li&gt;Accelerates &lt;a href="https://convox.com/blog/kubernetes-deployment/"&gt;deployment&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;As the build engineer pushes to GitHub, it automatically triggers the creation of new cloud services and containers for branch testing.&lt;/li&gt;
&lt;li&gt;As the engineer merges to GitHub, it automatically triggers the rollout of new images and containers toward production.&lt;/li&gt;
&lt;li&gt;The app automatically scales up or down depending on the load.&lt;/li&gt;
&lt;li&gt;Cloud services automatically replace or discard components of the cloud stack due to detection of failure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Choose Convox?
&lt;/h2&gt;

&lt;p&gt;DevOps is an automation culture that bridges the gap between developers and operations teams. A good DevOps culture promotes the execution of parallel development and testing workflows within the development lifecycle.&lt;/p&gt;

&lt;p&gt;Today, the DevOps culture is embraced by many businesses to streamline workflows, keep up with market demands, speed-up upgrades and accelerate software delivery for cloud applications. But, manually running this procedure is complicated and time-consuming. &lt;/p&gt;

&lt;p&gt;Enter automation. &lt;/p&gt;

&lt;p&gt;Automation helps to take the efficacy of DevOps processes to a whole new level by facilitating faster software releases. With the help of tool integrations, DevOps automation reduces the time spent in the software development lifecycle (SDLC) and allows for more precision, consistency, reliability, and acceleration in deliveries.&lt;/p&gt;

&lt;p&gt;Now, why should you choose Convox to streamline your DevOps tasks?&lt;/p&gt;

&lt;p&gt;Convox solves two of the main bottlenecks that arise within the internal tooling of businesses:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building a tailored system is costly and distracts you from core business goals, as you have to manage hiring, R &amp;amp; D, maintenance, and so on.&lt;/li&gt;
&lt;li&gt;Private solutions offered in the market are based on experimental software.  These platforms also lack maturity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These problems often demand substantial upfront investments and may uncover new issues in the long run for the DevOps team.&lt;/p&gt;

&lt;p&gt;Here's where Convox excels.&lt;/p&gt;

&lt;p&gt;Convox replaces lengthy and complex code development processes and simplifies various DevOps engineer jobs by automating repetitive tasks related to code deployment, testing, upgrades, maintenance, and more. &lt;/p&gt;

&lt;h2&gt;
  
  
  What DevOps Engineer jobs does Convox make easier?
&lt;/h2&gt;

&lt;p&gt;Convox is a PaaS solution that addresses DevOps pain points and vitally reduces time spent managing cloud resources. It retains your standard processes and tasks while causing minimal disruption. Not only does it substantially save the number of hours spent in monitoring, but it also reduces costs, enhances resource management, and more.&lt;/p&gt;

&lt;p&gt;Here’s how Convox simplifies DevOps Engineer jobs:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Faster deploys to aid the build and release engineers.
Convox can install ‘’Convox Rack”- a power-packed PaaS into your cloud account in just a few minutes. It efficiently manages your servers, data, and networks, which means that you deploy and scale applications using just one command.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r_-ClVqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/684kr42hcaz5wyrqhr34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r_-ClVqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/684kr42hcaz5wyrqhr34.png" alt="Image description" width="512" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;convox install&lt;/code&gt; command will configure a production-ready infrastructure with the best and latest AWS services for your applications. EC2, ASG, CloudFormation, S3, Lambda, ELB, VPC, etc., play a vital role within the system. Convox manages the tasks of testing, researching, and integrating all of these services, thereby reducing complexity.&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;convox deploy&lt;/code&gt; command to deploy any twelve-factor application upon AWS. Convox leverages build and release API to create images, load balancers, and containers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Automated Workflows 
Automated workflows are &lt;a href="https://console-docs.convox.com/console/workflows#deployment-workflows"&gt;easy to design and execute&lt;/a&gt; with Convox, and they help engineers manage the regular deployment of applications to staging and production. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here’s how Convox simplifies the delivery engineer and automation engineer’s tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every update made to the application triggers the creation of a deployable release&lt;/li&gt;
&lt;li&gt;Rolling deploys take care of timely upgrades with zero downtime&lt;/li&gt;
&lt;li&gt;Easy rollbacks to a previous version using just a single command&lt;/li&gt;
&lt;li&gt;Creates CI/CD pipelines for all applications via a unified console. &lt;/li&gt;
&lt;li&gt;Easily automate deployments to one or more clouds.&lt;/li&gt;
&lt;li&gt;Offers source control integrations for GitLab and GitHub.&lt;/li&gt;
&lt;li&gt;Integrates with Jenkins, CircleCI, GitHub Actions, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kwi0wprd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a41yw5qyvuw1cn5hv166.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kwi0wprd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a41yw5qyvuw1cn5hv166.png" alt="Image description" width="512" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Helps SysAdmin with Role-based Access Control&lt;br&gt;
With Convox, SysAdmins can control team members’ access levels with multiple access roles that help granulize control and secure your environments. Convox manages this seamlessly by leveraging hardware two Factor-Authentication (2FA).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Aids DevOps Engineers with 360-degree visibility including audit logging
Test engineers and agile coaches can use Convox to reduce the time taken for bug fixes or to get upgrades live in several ways:&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Build engineers can start and change any application with convox start. &lt;/li&gt;
&lt;li&gt;Use ‘Convox Integrations’ to ship patches to GitHub &amp;gt; CircleCI &amp;gt; Production &amp;gt; Slack Notification.&lt;/li&gt;
&lt;li&gt;Use convox scale to scale a service.&lt;/li&gt;
&lt;li&gt;DevSecOps engineers can use convox rack updates to apply infrastructure security updates across the board.&lt;/li&gt;
&lt;li&gt;Test engineers can use convox exec to debug the live app&lt;/li&gt;
&lt;li&gt;Quality engineers can use convox proxy to analyze an application’s private database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These agile processes call for detailed audits to track team members’ activities. This is where the Audit Log comes in.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convox creates detailed logs of all the changes made to the applications to maintain compliance requirements. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Its ‘self-hosted’ option helps test engineers seamlessly comply with the GDPR, PCI, HIPAA, and SOC2 standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YYy17keu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrmaaao3eq1f7u34iwoa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YYy17keu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrmaaao3eq1f7u34iwoa.png" alt="Image description" width="512" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monitor and manage your infrastructure throughout cloud environments&lt;/li&gt;
&lt;li&gt;Check health and load of the applications via one console&lt;/li&gt;
&lt;li&gt;Features Syslog Forwarding, Log Aggregation, and Metrics Dashboard&lt;/li&gt;
&lt;li&gt;Provides a complete audit log of every change done and by whom&lt;/li&gt;
&lt;li&gt;Check the entire history of application changes and roll back with a click&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Single API access&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SUfPc3nm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52imersesa0gumr2xjqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SUfPc3nm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52imersesa0gumr2xjqs.png" alt="Image description" width="512" height="380"&gt;&lt;/a&gt;&lt;br&gt;
Convox also provides engineers with a single API to access or upgrade resources and keep track of all API calls, even the sensitive ones.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Convox Console to streamline modern DevSecOps workflows
Console goes one step ahead of the Convox Rack. It comes with intuitive, web-based tools that allow you to switch between Racks, integrate with third-party tools, control developer access, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Convox Console comprises three core features, namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rack Sharing:&lt;/strong&gt; Rack Sharing allows teams to share Racks using CLI commands. This is vital for allowing or restricting access of individual engineers to resources. For delicate systems, DevSecOps engineers must ensure that team members have exclusive credentials with authentication via an ‘API key’ through Grid’s interface. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitHub Integration:&lt;/strong&gt; Console seamlessly integrates with GitHub to simplify the setup of CI/CD workflows. As you push code to master on GitHub, it triggers automatic building and deploys to your Convox app. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Slack Integration:&lt;/strong&gt; Businesses often leverage robust chat services like Slack for seamless collaboration amongst DevOps teams. Grid offers an ‘Add to Slack’ button, where engineers can opt-in to get critical notifications about specific Racks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Word
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; is one of the best PaaS platforms for growing businesses that do not yet have the resources and capacity to handle a large team of DevOps engineers. The platform offers a perfect solution for companies that manage multiple client projects with a limited number of DevOps engineers onboard.  &lt;/p&gt;

&lt;p&gt;By simplifying the creation of standard tasks and workflows, Convox speeds up the delivery lifecycle and drives timely product releases. It saves time and expenses with single commands that automatically trigger rollout deployments, faster rollbacks, modern twelve-factor apps, etc.&lt;/p&gt;

&lt;p&gt;Convox helps businesses gain operational efficiency, with a limited pool of DevOps engineers. This primarily benefits those chained by mundane, repetitive manual tasks – who desire to reach their core business goals and deliver true value via automation. If you want to to use Convox to make your job easier, &lt;a href="https://console.convox.com/signup"&gt;register for a free account&lt;/a&gt; today. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to create namespaces in Kubernetes</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Thu, 21 Apr 2022 04:58:38 +0000</pubDate>
      <link>https://dev.to/ada_pow/how-to-create-namespaces-in-kubernetes-4jok</link>
      <guid>https://dev.to/ada_pow/how-to-create-namespaces-in-kubernetes-4jok</guid>
      <description>&lt;p&gt;Thanks to its portability and extensibility, Kubernetes is considered a highly reliable open-source container orchestration system for developers that manage containerized workloads and services. Popularly known as K8s, the platform enables scalability through the automation of boring software deployment and management tasks.&lt;/p&gt;

&lt;p&gt;However, with scalability in a multi-purpose environment, containerized applications need better management. This is where you might need one or multiple namespaces in Kubernetes.&lt;/p&gt;

&lt;p&gt;If you’re still asking the question ‘what is a Kubernetes namespace’, or if you need more clarity on the topic, read on as we cover all that you need to know about creating namespaces in Kubernetes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Namespace in Kubernetes?
&lt;/h2&gt;

&lt;p&gt;In Kubernetes, a namespace is a means of organizing a complex cluster into a simpler sub-cluster. This helps distinct teams and sub-teams to share a single Kubernetes cluster without clashes.&lt;/p&gt;

&lt;p&gt;As a cluster grows, the potential for collisions among resource names increases. Namespaces provide a way to overcome this problem, as they help to isolate resources in different groups while retaining them within the same cluster. With this, resource names have to be unique for each namespace instead of for each cluster.&lt;/p&gt;

&lt;p&gt;To understand this concept better, think of 2 teams from your organization using the same cluster.&lt;/p&gt;

&lt;p&gt;A new employee from one team may accidentally edit a critical resource belonging to another team due to similarity in names. Using distinct namespaces, you can define the scope of your resources, group them into 2 separate parts, and offer a more hassle-free development environment to both teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is included in a Kubernetes Namespace?
&lt;/h2&gt;

&lt;p&gt;You may add several services, replication controllers, pods, etc. in your namespaces to limit their scope. Run this command to see what your namespaces can be comprised of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl api-resources --namespaced=true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What is excluded from a Kubernetes Namespace?
&lt;/h2&gt;

&lt;p&gt;The visibility or accessibility of cluster-wide objects, such as - PersistentVolumes, StorageClass, and Nodes, cannot be limited using a namespace. To check which all objects cannot be restricted through namespaces, use this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl api-resources --namespaced=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How is a namespace different from a virtual cluster?
&lt;/h2&gt;

&lt;p&gt;If namespaces represent different teams within an organization, a virtual cluster represents a building where different organizations have their offices.&lt;/p&gt;

&lt;p&gt;A virtual cluster offers a higher degree of isolation within the same cluster. Not isolated to services and pods, you can also bundle PersistentVolumes, Nodes, and cluster roles while defining the scope of a virtual cluster. The latter components remain shared when grouped using a namespace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1650056591318%2Fs46QXqqKS.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1650056591318%2Fs46QXqqKS.png" alt="namespace_cluster.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://loft.sh/blog/kubernetes-namespaces-vs-virtual-clusters/" rel="noopener noreferrer"&gt;Source&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast facts: Kubernetes Namespaces
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cannot be nested within one another&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Characterized by ‘labels’ to distinguish among slightly differing resources&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Offers a means to categorize resources by teams&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helps avoid name collisions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Separates environments for better navigability, access-limitation, and management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can be allotted a ‘storage quota’&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;May contain multiple virtual clusters&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comprises unique Kubernetes resources&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Default Namespaces in Kubernetes
&lt;/h2&gt;

&lt;p&gt;Kubernetes has 4 preloaded namespaces`:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;default&lt;br&gt;
Until your resources are grouped in a namespace, they are a part of a ‘default’ namespace. So, for all resources that are not included in any namespace in your Kubernetes command, you must use the reference ‘default’.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-system&lt;br&gt;
All system-created Kubernetes components are added to this namespace. So, it is suggested that you should not add your resources to it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-public:&lt;br&gt;
Authenticated or not, everyone with access to the cluster will be able to read the resources of this namespace. It is created automatically and if required, you can change its conventional visibility.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-node-lease&lt;br&gt;
Lease objects related to each of the nodes in the cluster are kept in this namespace. The purpose of these leases is to help the control plane discover node failures faster. For this, they send the heartbeat data to the &lt;a href="https://kubernetes.io/docs/concepts/overview/components/#control-plane-components" rel="noopener noreferrer"&gt;Kubernetes control plane&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When do you need multiple namespaces?
&lt;/h2&gt;

&lt;p&gt;Namespaces remain logically distinct within the same cluster, so it is important to create and use them wisely in order not to increase the complexity of your cluster and achieve nothing.&lt;/p&gt;

&lt;p&gt;In practice, one namespace (default) is sufficient for small teams or projects.&lt;/p&gt;

&lt;p&gt;However, when dealing with multiple containerized applications or multiple teams for your project(s), maintaining multiple namespaces is a perfect way to isolate the work environment. With Kubernetes namespaces, you can provide cleaner and more specific resource-sets to your teams or projects.&lt;/p&gt;

&lt;p&gt;Creating multiple namespaces is a good idea in a number of situations:&lt;/p&gt;

&lt;p&gt;Isolation&lt;/p&gt;

&lt;p&gt;Multiple teams working on the same cluster could end up clashing as they expand on the cluster. So, how can teams avoid this situation?&lt;/p&gt;

&lt;p&gt;A good level of isolation for projects and microservices can be achieved by creating namespaces. This will allow your teams to name their resources without worrying about the names selected by other teams for their resources. This also eliminates the problem of one team’s operations clashing with another.&lt;/p&gt;

&lt;p&gt;Purpose&lt;/p&gt;

&lt;p&gt;As applications increase in complexity, it can become difficult to distinguish between staging (development), live (deployment), and testing components. In these cases, you can achieve a better level of organization by dividing clusters into namespaces based on their purpose. This prevents instances where live projects are being updated while the code is in testing, etc.&lt;/p&gt;

&lt;p&gt;Privileges&lt;/p&gt;

&lt;p&gt;In an organization, you might want to force access restrictions on users and processes without using multiple clusters. For example, if you want to offer varying levels of permissions for a set of resources to different people in the organization, namespaces allow you to achieve this.&lt;/p&gt;

&lt;p&gt;Usage&lt;/p&gt;

&lt;p&gt;To define resource quota for your teams in order to ensure fair distribution of resources within the cluster, multiple namespaces can be used. You can define policies about memory utilization or CPU usage in order to control your resources better.&lt;/p&gt;

&lt;p&gt;Searchability&lt;/p&gt;

&lt;p&gt;Imagine your development team places projects of different clients in one cluster. You might want to separate these projects to achieve better searchability and organization. Creating multiple namespaces would be the ideal solution to achieving this.&lt;/p&gt;

&lt;p&gt;Performance&lt;/p&gt;

&lt;p&gt;If a particular project requires handling more Kubernetes API calls, it is better to assign a separate namespace to it. This will help the system perform operations faster and improve the performance of the containerized application.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you NOT use namespaces?
&lt;/h2&gt;

&lt;p&gt;For geographical server partitioning. For example, if you want one server allocated to your US-based clientele, and another for your EU clientele, partitioning using namespaces won’t help.&lt;/p&gt;

&lt;p&gt;Where increased security is required. As namespaces may have shared components that are visible to other namespaces too, they should not be used in instances that are security-critical, e.g. in billing situations.&lt;/p&gt;

&lt;p&gt;Where more resources are required in the future. For a higher level of configurability, you might need to add more nodes or other such resources in the future. In such cases, it is better to use separate clusters or separate virtual clusters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling Pod-to-Pod communication across Kubernetes namespaces
&lt;/h2&gt;

&lt;p&gt;Distinct namespaces, and pods sharing the same namespaces can be configured to communicate with each other seamlessly. To achieve this, you will have to utilize the expanded DNS addresses with the namespace’s name prefixed to the service name. For example, the service named ‘deploy’ in the namespace ‘game’ will be called ‘game.deploy’.&lt;/p&gt;

&lt;p&gt;To set lightweight restrictions (of a lower level in comparison to firewalls) on accessing the services, you may set network policies accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  A suggestion before you create namespaces
&lt;/h2&gt;

&lt;p&gt;If you have created namespaces with names similar to public top-level domains, services with tiny DNS names in these namespaces may overlap with your public DNS. So, all workloads from all the different namespaces (with the trailing dot missing), will be redirected towards those services instead of the public DNS.&lt;/p&gt;

&lt;p&gt;To avoid this problem, avoid using a name similar to top-level domains for your namespaces. Third-party security controls (admission webhooks, for example) can warn you and block the creation of namespaces with a name similar to these domains.&lt;/p&gt;

&lt;p&gt;Alternatively, you must enable user-level restrictions for each of your namespaces as needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create Namespace in Kubernetes
&lt;/h2&gt;

&lt;p&gt;To create a namespace, named “ssconvox”, you can use this code:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
apiVersion: v1&lt;br&gt;
kind: Namespace&lt;br&gt;
metadata&lt;br&gt;
  name: "ssconvox"&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
You can add this code in a ‘.yaml’ file named “namespace.yml” and run this command -&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
$ kubectl create –f namespace.yml&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Controlling your Namespace
&lt;/h2&gt;

&lt;p&gt;Other essential commands for working with Kubernetes namespaces are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Seeing the list of available namespaces
&lt;code&gt;&lt;/code&gt;&lt;code&gt;
$ kubectl get namespace
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Renaming&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Namespaces CANNOT be renamed, so you must carefully name them in the very beginning.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switching between namespaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
kubectl config set-context --current --namespace=ssconvoxtwo&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Getting details about a particular namespace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
$ kubectl describe namespace ssconvox&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Getting the lists of pods in the current namespace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
$ kubectl get pods --namespace=ssconvox&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delete the namespace ‘ssconvox’&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
$ kubectl delete namespace ssconvox&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
Note: As deleting a namespace runs the garbage collection over services, pods, and everything that is present in a namespace, you must be extra-cautious before deleting your namespaces.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to get started with Kubernetes and quickly create namespaces
&lt;/h2&gt;

&lt;p&gt;If you’ve read this far but actually haven’t managed to &lt;a href="https://convox.com/blog/how-to-install-kubernetes-the-easy-way/" rel="noopener noreferrer"&gt;get started with Kubernetes&lt;/a&gt;, this is the toughest part of the process - but don’t worry, we have you covered. The good news is that &lt;a href="https://convox.com/" rel="noopener noreferrer"&gt;Convox&lt;/a&gt; (a PaaS solution for Kubernetes-based deployments) can help you get started with Kubernetes in just a few clicks.&lt;/p&gt;

&lt;p&gt;Even if you’re signed up to a different PaaS but don’t know how to help your team achieve optimal operational efficiency through Kubernetes, Convox can help you understand the operational benefits of a migration from your existing PaaS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1650057241918%2FR80RK8uBf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1650057241918%2FR80RK8uBf.png" alt="convox-onboarding-steps.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Convox lets you use a better GUI while shipping all the infrastructure for Kubernetes from one platform. As it is production-ready with zero downtime, you need not worry about the underlying components of your Kubernetes configuration with it.&lt;/p&gt;

&lt;p&gt;For namespace creation in Kubernetes, just &lt;a href="https://console.convox.com/signup" rel="noopener noreferrer"&gt;install Convox CLI&lt;/a&gt; to get started and follow the process outlined above. Convox will create separate namespaces for each new application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Creating multiple namespaces in Kubernetes is the way to go when you need to classify and run multiple environments in a cluster. With individual namespaces, you can define access restrictions, usage quotas, and isolated resources for a bunch of services and pods. However, you must learn everything about the scope and suitability of namespaces before you start using them. This is why we have covered the subject in its totality. We hope that this article has helped you answer the question of what is a namespace in Kubernetes and how to create a namespace when you need it.&lt;/p&gt;

&lt;p&gt;Using Kubernetes with Convox already or wanting to switch? Get started with Convox, install Convox CLI, and create namespaces now.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>docker</category>
      <category>tooling</category>
    </item>
    <item>
      <title>How to restart Pods in Kubernetes : a complete guide</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Wed, 20 Apr 2022 20:32:24 +0000</pubDate>
      <link>https://dev.to/ada_pow/how-to-restart-pods-in-kubernetes-a-complete-guide-32mm</link>
      <guid>https://dev.to/ada_pow/how-to-restart-pods-in-kubernetes-a-complete-guide-32mm</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://convox.com/blog/how-to-install-kubernetes-the-easy-way/"&gt;Kubernetes&lt;/a&gt; is a reliable container orchestration system that helps developers create, deploy, scale, and manage their apps. A Pod is the most basic deployable unit of computing that can be created and managed on Kubernetes. &lt;/p&gt;

&lt;p&gt;If you want to restart your Pods without running your CI pipeline or creating a new image, there are several ways to achieve this. In this article, we will be discussing Kubernetes pods and how to restart them in the event of a failure. &lt;/p&gt;

&lt;p&gt;Before moving on to the actual how-to process, it is important to address the question: what is pod and container in Kubernetes?&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Pod in Kubernetes terminology?
&lt;/h2&gt;

&lt;p&gt;You can think of a Pod as a container for containers, or an abstract layer surrounding multiple containers that enables management of child elements in  Kubernetes - without having access to individual containers. &lt;/p&gt;

&lt;p&gt;A Pod usually holds one container - however, multiple containers can exist within a single Pod, a bit like a side-car attachment. These 'side-car' containers might be unit containers or ephemeral containers for debugging/logging etc. &lt;/p&gt;

&lt;p&gt;Containers within a single pod share resources and network namespaces as well. You can think of a pod as a single PC where you can spin up multiple docker containers. These containers share the same resources such as hardware, RAM, filesystem, etc, and can communicate with each other through localhost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Pod lifecycle
&lt;/h2&gt;

&lt;p&gt;In order to figure out how to restart Pods in Kubernetes, understanding their lifecycle is essential. &lt;/p&gt;

&lt;p&gt;In Kubernetes, Pods are considered ephemeral. This means that Pods are short-lived and can be terminated at any time. They are designed to run stateless applications which do not need to have data persistence. For software like databases, etc that need to persist data even when terminated, it is advisable to use a Stateful set.&lt;/p&gt;

&lt;p&gt;There are 5 stages in a pod's lifecycle:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pending: This indicates that containers inside the pod have not yet been created.&lt;/li&gt;
&lt;li&gt;Running: Here, the containers in the Pod have been created without errors and are in the process of starting up&lt;/li&gt;
&lt;li&gt;Succeeded: All the containers within the Pod have terminated successfully and will not be restarted (for example, a Pod whose containers just run a bash script)&lt;/li&gt;
&lt;li&gt;Failed: The containers within the Pod have been terminated with a non-zero exit code&lt;/li&gt;
&lt;li&gt;Unknown: Kubernetes cannot retrieve the status of the Pod.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Is It a Good Idea to Restart Pods in Kubernetes?
&lt;/h2&gt;

&lt;p&gt;Pods should only be restarted when necessary, for example - when the resource allotment to Pods is not defined/sufficient or when your software behaves abnormally. To restart Pods successfully, you must ensure that you are passing correct details and allotting enough resources or space to them.&lt;/p&gt;

&lt;p&gt;It is possible to have a pod running when all its containers have been terminated. The reason for this could be that your pod is unable to terminate due to an issue such as unexpected termination/failure or a container, node, or service that cannot be controlled or cleaned by the respective manager service. &lt;/p&gt;

&lt;p&gt;In summary, the most likely scenarios when you might need to restart a pod in Kubernetes are listed below but keep in mind that k8s will also automatically try to restart pods in any of these scenarios.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Timeout&lt;/li&gt;
&lt;li&gt;Incorrect implementations&lt;/li&gt;
&lt;li&gt;Unexpected errors that remained unfixed&lt;/li&gt;
&lt;li&gt;Insufficient space to fulfill a resource allocation request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, to understand how to restart a Kubernetes pod, it is required to understand how a pod is typically created in Kubernetes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Pod in Kubernetes
&lt;/h2&gt;

&lt;p&gt;We can create a Pod in 2 ways: Using the declarative approach or using kubectl commands. &lt;/p&gt;

&lt;p&gt;Here’s how both methods work -&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Pod via the declarative approach
&lt;/h2&gt;

&lt;p&gt;Create a file called &lt;code&gt;pod.yaml&lt;/code&gt; and paste the following code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
 name: nginx
spec:
 containers:
 - name: nginx
   image: nginx:alpine
   ports:
   - containerPort: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a pod called nginx with the nginx:alpine docker image and exposes port 80. To create this pod, run the following command -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f pod.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that pods are generally not created directly but are created by workload resources such as Deployments and statefulsets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Pod using kubectl commands
&lt;/h2&gt;

&lt;p&gt;Run the command as written below -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl run –image nginx:alpine –restart=Never
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see all the running pods by running this command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl get pod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Restarting a Pod in Kubernetes
&lt;/h2&gt;

&lt;p&gt;Now that you know how a Pod is created,  here’s how to restart a Pod in Kubernetes. This section will cover the 4 most popular methods.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scaling Pod’s Replica Count Down and Up&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This involves scaling down your pod replicas to zero, then scaling them back up to a non-zero number.&lt;/p&gt;

&lt;p&gt;To see this in action, first, we would need to create a deployment. &lt;/p&gt;

&lt;p&gt;Create a file called “deployment.yaml” and paste the following code -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
 name: myapp
spec:
 selector:
   matchLabels:
     app: myapp
 template:
   metadata:
     labels:
       app: myapp
   spec:
     containers:
     - name: myapp
       image: nginx
       ports:
       - containerPort: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Apply it with the following command -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f deployment.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On checking your cluster, you should find a new pod running.&lt;/p&gt;

&lt;p&gt;Now, let’s scale the replicas down to zero. Run the command -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`kubectl scale deployment myapp -–replicas=0`.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you know how to stop Kubernetes Pods, you must have used this command at some point.&lt;/p&gt;

&lt;p&gt;On checking your cluster again, you should find that Pod gone. Now scale the replicas back up.&lt;/p&gt;

&lt;p&gt;With the easiest method covered, we’ll delve into other methods. &lt;/p&gt;

&lt;p&gt;We can also use the &lt;code&gt;kubectl rollout restart&lt;/code&gt; command to restart our pods. Here’s how to achieve this. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Restarting Pods through Rollout&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In your terminal, run the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl rollout restart deployment myapp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once this command is run, Kubernetes systematically terminates and replaces your Pods while keeping some containers operational throughout. This method is effective if you want to keep serving traffic while performing the restart.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Updating the Annotations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can change Pod's annotations or add new ones, in order to force a Pod to restart. As Kubernetes requires replacing the Pod when any change occurs, this method can help you restart the pod without much difficulty. Note that this isn't true if the pod spec field restartPolicy is set to Never.&lt;/p&gt;

&lt;p&gt;For example, you can create or modify “key_1” for your pod named “test-pod” and use the “-- overwrite” flag with it. This flag will let you modify the value of an existing parameter, while without it, you can only add a new annotation to your pod.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl annotate pods test-pod key_1="2" --overwrite
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Deletion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If restarts seem to prove unsuccessful, you might be interested in how to delete pods in Kubernetes. If so, this method can also help you re-initiate a Pod.&lt;/p&gt;

&lt;p&gt;To restart a Pod, you can simply delete the existing unresponsive pod and let it be replaced by a new one. The command to use is -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl delete pod my-pod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Using Convox to manage your Kubernetes cluster
&lt;/h2&gt;

&lt;p&gt;We have to admit that the above methods might not be very user-friendly - especially if you are new to Kubernetes and are concerned about further complicating your application development process. You might also need to occasionally add resources or migrate your Pod to another location in order to ensure better performance.&lt;/p&gt;

&lt;p&gt;If you’re looking to significantly simplify your entire application development process, your best bet is to switch to a Platform-as-a-Service (PaaS) with a user-friendly GUI that helps you manage your Kubernetes cluster. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; for example offers your organization &lt;a href="https://docs.convox.com/management/direct-k8s-access/"&gt;direct Kubernetes access&lt;/a&gt; and removes the complexity of managing and operating your Kubernetes cluster directly. Furthermore, Convox is a multi-cloud product that is compatible with several cloud service providers including DigitalOcean, AWS, Google Cloud, and Microsoft Azure. It is free to start simplifying your application development process with Convox and it &lt;a href="https://console.convox.com/signup"&gt;only takes a few clicks&lt;/a&gt; to get started.&lt;/p&gt;

&lt;p&gt;Apart from excellent uptime and amazing scalability, Convox delivers a smooth development experience and powerful infrastructure for your Pods.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In Kubernetes, Pods are designed to run until a task is completed  and replaced by another deployment. So, there is no direct command or method to restart pods when you use this container orchestration platform. However, because it isn’t always possible to avoid unfavorable, stressful situations (in life or when working directly with Kubernetes) it is important to have a workable plan of action should things go wrong. &lt;/p&gt;

&lt;p&gt;Whether your plan is to keep this guide handy and accessible, or whether it is to simplify the management of all your Kubernetes clusters by switching over to Convox, just don’t fail to plan!&lt;/p&gt;

&lt;p&gt;In summary, you can restart your pods with downtime and without download. Oy you can use the replica scaling or annotation modification method if you can afford downtime but cannot delete the pod. Alternatively, when you have extra replicas of a pod, use the rollback or deletion method. It will ensure no downtime. Or just &lt;a href="https://console.convox.com/signup"&gt;sign up to Convox&lt;/a&gt; and simplify everything once and for all. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>tutorial</category>
      <category>pods</category>
    </item>
    <item>
      <title>DevOps Automation: Lessons from a PaaS Migration Case Study</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Mon, 18 Apr 2022 14:19:10 +0000</pubDate>
      <link>https://dev.to/ada_pow/devops-automation-lessons-from-a-paas-migration-case-study-5gbo</link>
      <guid>https://dev.to/ada_pow/devops-automation-lessons-from-a-paas-migration-case-study-5gbo</guid>
      <description>&lt;p&gt;It’s a great time to be part of a software development team. With resources supporting every stage of the development lifecycle - design, development, testing, deployment and hosting - modern-day software development teams are spoilt for choice. But when it comes to accessing this buffet of resources, teams need more. On-demand access without huge commitments to on-site infrastructure demands an additional layer of technical expertise - a PaaS (Platform-as-a-Service). &lt;/p&gt;

&lt;p&gt;PaaS is an operational cloud-based model where a vendor (such as Convox or Heroku) supplies the resources required to build and deploy user-level applications and tools. With this, teams can execute the entire development lifecycle directly from the cloud, with no need to invest in, or maintain demanding on-premise infrastructure. Each PaaS is unique, with features uniquely suited to match every phase of a development teams’ growth. This means that a PaaS solution ideal at one phase of a teams’ growth might lose its relevance at another stage of that teams’ future growth, requiring teams to adapt their PaaS choices as they grow. &lt;/p&gt;

&lt;p&gt;This case study lifts the hood on one such development team that has had to adapt its PaaS choices with time. We will discuss the teams’ journey towards automating its infrastructure and deployment process through a series of migrations - from &lt;a href="https://www.digitalocean.com/"&gt;Digital Ocean&lt;/a&gt; to &lt;a href="https://www.heroku.com/"&gt;Heroku&lt;/a&gt;, to &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt;. This rare insider’s perspective mirrors the processes, problems and solutions faced by similar teams along the journey, drawing lessons and teachable moments for software development team managers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Case Study Objectives
&lt;/h2&gt;

&lt;p&gt;This case study closely examines the primary drivers and pain points that led to Codelitt's digital migration from Heroku to Convox. We will further discuss the extent to which Convox’s infrastructure was suitably matched to Codelitt’s needs. Through this, software development team managers can understand how product development teams can benefit from the innovative and advanced solutions that Convox offers. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Client
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://codelitt.com/"&gt;Codelitt&lt;/a&gt; is a software development agency that helps its clientele strategize, engineer and design custom software and solutions for various use cases -  automation, web &amp;amp; mobile apps, IoT, machine learning, and more. The agency relies on a globally distributed team of 30 developers to offer its services, with applications initially hosted on AWS and Digital Ocean.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Background
&lt;/h2&gt;

&lt;p&gt;In the early days, Codelitts’ infrastructure and deployment process consisted of simply visiting the server and running a docker run command. As the teams’ product portfolio grew, so did the need to automate the deployment process. The team attempted to address this by running multiple automation scripts - a process that quickly spiraled into full-blown Linux server tutorials for junior developers. Realizing how unsustainable this approach was, the team decided to switch to Heroku.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;At first, Heroku appeared to solve the automation problem. With no advanced knowledge requirements, junior developers could rely on the platform to deploy applications quickly. The initial costs seemed reasonable, and it did what it said on the can.&lt;/p&gt;

&lt;p&gt;Now that Codelitt had its applications split between Heroku, Digital Ocean, and AWS, the team soon found itself in a complex, multi-cloud hybrid situation. With time, Codelitt was exposed to several flaws in Heroku's services - which we will discuss and dissect in detail below: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BB4rN3YJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682463581/5tpC0tpu6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BB4rN3YJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682463581/5tpC0tpu6.png" alt="heroku_problems.png" width="512" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Trust Issues - Server Ownership (or lack thereof)
&lt;/h2&gt;

&lt;p&gt;One of the biggest problems Codelitt faced with Heroku was the inability to implement major changes or migrate from servers in use. As Heroku offered very limited server ownership options, Codelitt’s developers could not move software, applications, operations, etc to other platforms - so they were locked into Heroku's infrastructure. &lt;/p&gt;

&lt;p&gt;To change servers mid-project, developers were forced to create new environments from scratch, creating trust issues. Heroku’s privacy policies meant that Codelitt had to ask its clients to sign multiple contracts in order to use the services. In addition to this, Heroku was unsuitable for projects with high data sensitivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hidden Costs
&lt;/h2&gt;

&lt;p&gt;For small projects, Heroku's initial $7 per-month cost was extremely appealing and  competitive. However, as projects grew in maturity and demanded more improvements, the cost of using each new resource jumped to $25. As the company had begun to scale in terms of the number of projects (and subsequently, the number of improvements needed), these costs soon became untenable. &lt;/p&gt;

&lt;p&gt;Furthermore, Codelitt found itself deploying 3 servers to every project. Because Heroku charged different rates for different stages of the product development lifecycle, the team had to create separate applications as the same server could not be used throughout every stage of the SDLC. This created the need to dedicate a developer to the task of monitoring and shutting down unused resources, as a cost-saving measure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://console.convox.com/signup"&gt;Want a PaaS with an affordable, transparent cost structure? Try Convox for free.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Time-consuming Maintenance
&lt;/h2&gt;

&lt;p&gt;Because of the management and pricing structure of Heroku's infrastructure, Codelitt’s valuable developer resources were spent on the avoidable, time-consuming task of monitoring Heroku's database - all to keep costs to a minimum. &lt;/p&gt;

&lt;p&gt;Typically, developers would create various racks (segregated environments that allowed developers to deploy multiple applications simultaneously) for production, QA, staging, etc. So each rack represented a unit of compute - &lt;a href="https://convox.com/blog/how-to-install-kubernetes-the-easy-way/"&gt;the Kubernetes cluster&lt;/a&gt;, the docker deployment environment, the certificates, load balancers, networking, etc. Each application was expected to scale according to the coding of the rack, with an option for manual scaling should the need arise. Unfortunately, Heroku's limited digital infrastructure meant that developers spent valuable time building environments from  scratch whenever there was a need to change the servers. This practice consumed significant time resources and heavily impacted on Codelitt's rate of scale. &lt;/p&gt;

&lt;h2&gt;
  
  
  No Choice but Cross-Cloud
&lt;/h2&gt;

&lt;p&gt;Codelitt’s diverse operations created a reliance on multi-cloud infrastructure - Heroku,  DigitalOcean, and AWS. This hybrid operational environment proved stressful, time-consuming, and expensive as switching platforms led to interrupted workflows for developers. Codelitt’s developers wanted complete ownership of their business processes and operations by completely migrating to DigitalOcean - a dead end, as Heroku did not support the ownership and transfer of servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Convox
&lt;/h2&gt;

&lt;p&gt;Convox is a cloud-agnostic PaaS that developers can use to deliver their code more efficiently. &lt;/p&gt;

&lt;p&gt;For Codelitt, the choice to migrate to Convox was driven by the agency’s unique needs. The preferred solution was a PaaS solution that addressed the team’s unique pain points without requiring in-house management of AWS resources. &lt;/p&gt;

&lt;p&gt;In its search for a viable solution to Heroku, Codelitt paid attention to the automation capabilities of shortlisted server management options. The team also wanted a solution that allowed them to maintain their standard processes of using automated deployment pipelines through GitHub actions for code updates and deployments. And Convox was a perfect match for this - supporting Codelitt's existing processes with minimal disruption.&lt;/p&gt;

&lt;p&gt;Convox provided the perfect solution with a transition that led to an almost immediate reduction in costs, reusable resources, time savings in resource monitoring, server ownership, and improved resource management - and no dedicated DevOps staffing resource. &lt;/p&gt;

&lt;p&gt;Overall, the migration to Convox helped Codelitt to efficiently deploy clients’ solutions with a globally distributed team of 30 developers, 10 separate development projects, and 50 different services - all with one engineer who spent only a few hours monthly on DevOps. &lt;/p&gt;

&lt;p&gt;But what did this migration look like on an operational level? Let’s delve into the practical impact of the migration exercise on Codelitt’s operational efficiency.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fHKUxmiO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682786208/KmlTaBPZS.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fHKUxmiO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682786208/KmlTaBPZS.png" alt="convox_kubernetes_management.png" width="512" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost Transparency &amp;amp; Optimization
&lt;/h2&gt;

&lt;p&gt;In the months following the migration, Codelitt reported approximately 50% reduction in infrastructure costs from the on-demand server management that Convox offered. &lt;/p&gt;

&lt;p&gt;Specifically, these savings were realized from paying for only server usage (rather than for every new application), with the majority of servers and racks hosted on Digital Ocean. Codelitts’ newly-found homogeneity allowed for granular control over new racks with the ability to define the cost of each new node through Convox’s automatic pricing that applied only when necessary.  &lt;/p&gt;

&lt;p&gt;The cost reduction from dev and staging were estimated at 60 - 75% as a result of all resources being used and reused on-demand, without the need to turn applications on and off.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Ownership &amp;amp; Control
&lt;/h2&gt;

&lt;p&gt;Because Covox is optimized for complete control over assets, Codelitt could pick and choose which cloud service best suited their needs at any given time.  As such, the team could create the perfect hybrid solution that effectively combined the services of DigitalOcean and AWS. &lt;/p&gt;

&lt;p&gt;Applications could be transferred across infrastructures without the need to create environments from scratch, ultimately saving time and helping to ship solutions much faster. No problems were encountered in the 4 months following the transition, and all Codelitt’s digital products have enjoyed 100% uptime, which in turn boosted their clients’ satisfaction levels. &lt;/p&gt;

&lt;h2&gt;
  
  
  Automation and Maintenance Capabilities
&lt;/h2&gt;

&lt;p&gt;The transition left Codelitt needing very little in terms of a maintenance routine, thanks to the automation that Convox’s infrastructure offered. Codelitt's developers only had to create racks according to their requirements, develop products, and deploy when ready. &lt;/p&gt;

&lt;h2&gt;
  
  
  Flexibility &amp;amp; Accessibility
&lt;/h2&gt;

&lt;p&gt;One of Codelitt's main pre-migration requirements was a solution that allowed sufficient flexibility in its operations for the distributed team to develop digital products collaboratively. &lt;/p&gt;

&lt;p&gt;These requirements were met by Convox’s flexible infrastructure that granted Codelitt's developers complete freedom to access various services providers from a single-source platform. With easier access to the hybrid cloud, Codelitt’s developers enjoyed near-seamless access to their digital products whether they needed to access DigitalOcean, AWS, or others. &lt;/p&gt;

&lt;p&gt;Thanks to Convox’s advanced level of automation, Codelitt’s developers could change data collection sources as required by simply adding a Docker file before deployment. A previously time-consuming task for the team now only took one developer 30 minutes to 2 hours to accomplish… despite having limited experience creating Docker files. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q3uMoaFY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682839377/sgPuC7_6Z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q3uMoaFY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649682839377/sgPuC7_6Z.png" alt="convox_feedback.png" width="512" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Asset ownership impacts on efficiency: This migration exercise allowed for ownership and control of server assets and consequently, business operations, processes, and digital products. With complete control over assets, teams face fewer operational restrictions and can be better equipped to meet their clients’ objectives. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Upfront cost transparency improves long-term ROI: The hidden costs that service providers impose on users can limit scaling potential. When shortlisting possible solutions, team managers should factor in not just the immediate cost of services provided, but also how these costs are likely to change as their teams scale. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A well-designed &amp;amp; optimized cloud structure improves efficiency: Poorly optimized platforms lead to interruptions in the workflow, and ultimately impact negatively on the operations and processes of teams. Team managers should document existing processes and consider how the infrastructure of proposed solutions are likely to fit in with or improve existing processes. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automation capabilities support team performance: Software development companies heavily depend on their service providers to provide well-integrated automation features that enable teams to execute their processes seamlessly. By choosing solutions with high automation capabilities, team managers can ultimately drive their teams to achieve results faster. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Access to flexible operations: Access limitations and ‘siloed’ applications can lead to an overall loss in productivity, inefficient use of time, and ultimately, reduced earnings - especially for distributed teams. The best PaaS for teams should offer users complete flexibility over operations and compatibility with their existing service providers without the hassle of changing their workflows.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Convox has improved the efficiency of software development companies around the globe by helping them spend as little time as possible on mundane tasks while focusing on more strategic tasks. When considering PaaS solutions, it is imperative that team managers do due diligence to ensure that their chosen solutions don’t just address the short-term needs of the team but also fulfill longer-term goals and deliver an overall positive ROI. If you want to see how Convox fits into your teams’ needs, &lt;a href="https://console.convox.com/signup"&gt;register for a free trial here&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>casestudy</category>
      <category>automation</category>
    </item>
    <item>
      <title>How to Install Kubernetes the Easy Way</title>
      <dc:creator>Ada Powers</dc:creator>
      <pubDate>Fri, 15 Apr 2022 21:58:02 +0000</pubDate>
      <link>https://dev.to/ada_pow/how-to-install-kubernetes-the-easy-way-52n5</link>
      <guid>https://dev.to/ada_pow/how-to-install-kubernetes-the-easy-way-52n5</guid>
      <description>&lt;p&gt;Thanks to the current wave of digital transformation, the demand for agile development, rapid delivery, immediate app updates, and fast bug fixes is at an all-time high. The domino effect of this increased demand has led to a world of IT infrastructure headaches, particularly related to production and testing environments.&lt;/p&gt;

&lt;p&gt;Containerized applications seem to be the only way out. And this is why containers, cluster management, and promising open-source container orchestration systems like Kubernetes are a current hit with IT professionals (and for years to come).&lt;/p&gt;

&lt;p&gt;Not sure about what Kubernetes is used for and how to get started with it? Read on to learn all that you need to know to install Kubernetes for the first time - and whether you want it the hard way or the easy way.&lt;/p&gt;

&lt;p&gt;If you’re just looking for a quick way to get started with app deployment in Kubernetes, visit &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt; and check out our fast track simplified, smooth, and speedy process.&lt;/p&gt;

&lt;p&gt;Now, let’s dive right in and clarify some popular terms:&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Kubernetes?
&lt;/h2&gt;

&lt;p&gt;Kubernetes lets you create, manage, maintain, test, and schedule your application deployments in one place. Its ability to manage containers and clusters adds portability and scalability to your applications inherently.&lt;/p&gt;

&lt;p&gt;To clarify, Kubernetes is not an IaaS because it requires you to set up an infrastructure layer (e.g. Amazon AWS EC2, Apache Mesos, Azure, etc.) beneath it. In fact, this container orchestration engine can also run on your own servers/infrastructure.&lt;/p&gt;

&lt;p&gt;The major advantage of having your app on Kubernetes is that you can schedule and execute your applications in containers onto the virtual machines of your infrastructure. This makes Kubernetes a perfect solution for cloud-native app development.&lt;/p&gt;

&lt;p&gt;Kubernetes allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Scale: Your containers can orchestrate across various hosts with Kubernetes. Additionally, Kubernetes also makes it easy to mount &amp;amp; add storage for stateful apps to improve their performance. Providing resources on the go allows organizations to optimize the use of hardware resources, rather than keeping these resources idle for future requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Manage: With Kubernetes, your applications are managed and run optimally. From deployments to updates, automation, maintenance, and instance execution - all aspects are kept under your control.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automate: IT operations like health monitoring for the apps can be automated with Kubernetes. This platform can detect crashes and perform the auto-restart, auto-replacement, auto-scaling, and auto-replication of your processes through its self-healing capabilities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Kubernetes Terminology
&lt;/h2&gt;

&lt;p&gt;While you might know how to pronounce Kubernetes (Coo-Burr-Net-Ease) and its related terms, it is a good idea to understand them in-depth. This knowledge will help you grasp how Kubernetes works and cut through the technical fluff about how to get started with it for your applications.&lt;/p&gt;

&lt;p&gt;So, let’s begin.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Pod in Kubernetes?
&lt;/h2&gt;

&lt;p&gt;A pod is a group of one or more containers that are deployed onto the same node. It means that all containers for a pod share the IP address, resources, and even the hostname. They can all access a shared volume while running.&lt;/p&gt;

&lt;p&gt;Pods are helpful in letting the containers move around the clusters and scale to any limits. As they are responsible for fetching networking and infrastructure resources for underlying containers, they are essential for container deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Deployment in Kubernetes?
&lt;/h2&gt;

&lt;p&gt;One deployment may have multiple pods. In fact, they are the skeleton view for creating pods from a template when required. Deployments are responsible for controlling the CPU requirements, running, updating, rolling deployment, and replication of pods.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Namespace in Kubernetes?
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://convox.com/blog/kubernetes-namespaces/"&gt;namespace&lt;/a&gt; is the logical subdivision of clusters that helps in the organization of pods, deployments, and services for each cluster. Within a cluster, there can be any number of namespaces, and each of them can communicate with one another.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the connection between Docker and Kubernetes?
&lt;/h2&gt;

&lt;p&gt;Docker is a platform for container creation. It lets you pack your application’s modules for platform independence. On the other hand, Kubernetes is the orchestration platform, which offers great portability, flexibility, and a virtual run-time environment for your application. Together, they can ensure higher security and scalability for your deployments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nGLnjsTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ykx5vj063axyzmkghll1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nGLnjsTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ykx5vj063axyzmkghll1.png" alt="Image description" width="880" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is kubectl?
&lt;/h2&gt;

&lt;p&gt;A command-line tool, kubectl acts as the medium for interacting with the Kubernetes API Server through API calls. It utilizes the master-worker architecture to query the master node through these calls/commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes Master Components
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;etcd cluster This cluster is the core of Kubernetes master security and therefore, is accessible through the API only. It stores distributed key values with information on cluster data, e.g. pod count, pod state, namespace, etc. This component uses watchers to keep a check on changing details.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-apiserver The API server is the destination for all REST calls coming from pods, services, and controllers to the Cluster. It is the only component that can interact with the cluster, maintaining the consistency of its data and access requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-controller-manager This controller manager is responsible for running various controllers as required. Replication, services, replacement, configuration updates, pod capacity/usages, etc. are co-ordinated through it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cloud-controller-manager Controller processes with dependencies on the setup’s cloud provider are executed under its control.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-scheduler As per the resources required for application(s) execution, the scheduler assigns pods to nodes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Kubernetes Worker Components
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;kubelet It connects with kube-apiserver and continually interacts with the pods being modified or created. Besides enabling worker-master communication, the purpose of doing so is to monitor the health of underlying containers and make sure they are in the expected state. The monitored data is sent to the master.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;kube-proxy This proxy service takes care of host subnetting for all worker nodes contacting the other networks or the internet. It also acts as the mediator for pods/containers of isolated networks within the cluster.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Kubernetes Cluster
&lt;/h2&gt;

&lt;p&gt;An entire Kubernetes cluster comprises of the control plane with master components, persistent storage, container registry, runtime environment, and worker processes. So, pods, services,, and containers can use the resources available to them within the cluster while also utilizing any external infrastructure that is accessible to them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZBnt8t56--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5z4rzf2u436r86bfdid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZBnt8t56--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5z4rzf2u436r86bfdid.png" alt="Image description" width="613" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Kubernetes work?
&lt;/h2&gt;

&lt;p&gt;The cluster combines various nodes (physical or virtual machines) where your services and applications are deployed in Pods.&lt;/p&gt;

&lt;p&gt;The control plane within the cluster controls how application containers or pods are deployed or executed while managing the resources within the cluster.&lt;/p&gt;

&lt;p&gt;To manage workloads and communicate within the cluster, worker nodes run the kubelet process. The kubelet communicates directly with the API server to report node status and retrieve information about which pods should be scheduled. It also communicates with the node’s container runtime(Docker) to ensure the running pods are in a healthy state.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Kubernetes used for?
&lt;/h2&gt;

&lt;p&gt;Kubernetes is used to manage containerized, cloud-native, applications. It is excellent for the rapid delivery of app updates in order to meet your ever-evolving business needs.&lt;/p&gt;

&lt;p&gt;With Kubernetes, it is truly possible to build ‘write once, run everywhere’ applications. Broadly, its scope can be summarized as -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Suitable for cloud-native solution development;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A powerful tool in a DevOps-focused solution;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helps deliver solutions faster;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduces interdependencies through containerization to ensure better security;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ideal for rapid delivery and frequent updates.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The ‘Global’ Pain-point: Getting Started With Kubernetes
&lt;/h2&gt;

&lt;p&gt;While the popularity and usage of Kubernetes keeps growing, its reputation is of a tool that is ‘too tough to configure’. A standalone Kubernetes installation can present headaches before, during, and after installation. It can come at the cost of frequent Kubernetes consultations and services. Or it might demand the intervention of dedicated Kubernetes professionals to execute the job.&lt;/p&gt;

&lt;p&gt;From the deployment of a new cluster to security implementation and beyond, using Kubernetes can be a complicated task.&lt;/p&gt;

&lt;p&gt;If you’re still willing to face the pain, you might be thinking of configuring Kubernetes for your application(s). No worries - first, we will walk you through the typical method (and then the easier one later on!).&lt;/p&gt;

&lt;p&gt;Select your Cloud Platform for Kubernetes, as it will decide the next steps to be followed. For example, a. For Google Cloud Platform, you will have to follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Install a current version of Python;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As per your operating system, download the SDK from here&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extract the archive;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run the install.sh script and restart your terminal thereafter;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now is the time to install a command-line for Kubernetes. So, use this command to install kubectl:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ gcloud components install kubectl&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Complete the setup using gcloud init command and follow the instructions provided for the setup.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, we are ready to use Kubernetes. So, proceed by creating a cluster (let’s say, demo_kb) using this command:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ gcloud container clusters create demo_kb&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set it as your default cluster using this command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ gcloud config set container/cluster demo_kb&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finally, pass these credentials to kubectl to connect the cluster to Kubernetes:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ gcloud container clusters get-credentials demo_kb&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To verify that you've done it correctly, try fetching nodes details:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ kubectl get nodes&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For Azure, the process is slightly more complex. However, can all these steps be completed in seconds rather than days? Yes, there is a way.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to install Kubernetes the smarter way: Convox
&lt;/h2&gt;

&lt;p&gt;Instead of manually configuring Kubernetes yourself for app development and deployment, you can use &lt;a href="https://convox.com/"&gt;Convox&lt;/a&gt;. The Convox platform is designed to simplify your infrastructure management tasks. With Convox, you and your team can smoothly deploy, scale, and manage applications effortlessly, exploiting the power of Kubernetes, without the headaches.&lt;/p&gt;

&lt;p&gt;In a nutshell, Convox manages the Kubernetes installation and configuration process in the background so that you can get your app up and running in a couple of clicks.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I Get Started with Kubernetes using Convox?
&lt;/h2&gt;

&lt;p&gt;With Convox, you have a well-guided GUI to complete the Kubernetes configuration and app deployment process in a few clicks. See the steps below -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign up for your &lt;a href="https://console.convox.com/signup"&gt;free Convox account&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install Convox CLI as per your operating system and login. For this, you may copy the command from Convox dashboard for your machine and use it directly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lSypHss0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g55430ufxvk5zzm6h4ig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lSypHss0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g55430ufxvk5zzm6h4ig.png" alt="Image description" width="799" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The next step is to select your Cloud Provider in Integrations &amp;gt; Runtime. Convox will install your Kubernetes cluster within your own cloud provider account, so everything is within your power and control, so now simply choose your provider. Convox supports running on DigitalOcean, AWS, Google Cloud, and Microsoft Azure. Now, you may create your cluster with a single click.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install a Rack (the Convox wrapper for your Kubernetes cluster). To get started use the link Racks in the left menu. There are no limits to the number of apps you can deploy to a single Rack, or to the number of Racks that you can create and use. It is recommended good practice to separate your Production and Staging/Testing/Development deployments on distinct Racks however. Some users even create a Rack for every developer on their team!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once your Rack is created, you are able to deploy your configured and containerized apps to it. You are welcome to clone a test app from &lt;a href="https://github.com/convox-examples"&gt;this example repository&lt;/a&gt; for testing, or go ahead and check out our documentation on how to set up your app for deployment.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yes. It’s that simple. Check out this picture summarizing the Convox setup steps, or view this &lt;a href="https://docs.convox.com/getting-started/introduction/"&gt;detailed guide&lt;/a&gt; to follow the simple process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3HFCtB6L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkz7ooemgxrf1uybozd6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3HFCtB6L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkz7ooemgxrf1uybozd6.png" alt="Image description" width="878" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Final Word
&lt;/h2&gt;

&lt;p&gt;The complexity of the process is a major obstacle in Kubernetes cluster configuration and app deployment for developers and teams. But as the tool is powerful and full of essential features, you obviously need a better way to do so rather than missing out. You can now use Convox and complete Kubernetes-based deployment using its intuitive UI in minutes.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>tutorial</category>
      <category>docker</category>
    </item>
  </channel>
</rss>
