How to write automation scripts
Aug 15, 2022–Madhura KumarIn this article we'll walk through how to write some common automations using Airplane such as: writing Python and JavaScript automation scripts, generating reports using SQL, syncing data between sources, and customer onboarding.Changelog 8/12/22: Notification Inbox, universal search, and faster task execution
Aug 12, 2022–Madhura KumarSince our last changelog, we've rolled out universal search, added notifications to the Inbox, and rolled out faster task execution.The essentials of QA automation
Jul 18, 2022–Madhura KumarIn this article, we'll discuss what QA automation is, why it's so useful, and some tips and tools that can help you get started with it.Building a better runbook through automation and documentation
Jul 14, 2022–Madhura KumarIn this article we'll walk through the basics of runbook automation and discuss how to use automation to make your runbooks actionable, accessible, accurate, authoritative, and adaptable.6 DevOps automation techniques to maximize productivity
Jul 11, 2022–Madhura KumarIn this article, we'll introduce DevOps automation and walk through six important DevOps automation techniques that can massively scale up your professional or personal projects.Changelog 7/1/22: HIPAA compliant, Redshift and BigQuery support, and JavaScript templates in environment variables
Jul 1, 2022–Madhura KumarWe're excited to announce that Airplane is now HIPAA compliant! This week we rolled out Redshift and BigQuery support in addition to the ability to use JavaScript templates when defining environment variables for your task.Leveraging feature flags to boost productivity
Jun 23, 2022–Madhura KumarIn this article we'll discuss six ways to leverage feature flags to boost productivity and walk through how to build a lightweight feature flag in under 5 minutes. WhatChangelog 6/10/22: SQL Server support, Schedules as code, Examples gallery, and Environments GA
Jun 10, 2022–Madhura KumarThis week we rolled out support for Microsoft SQL Server, the ability to manage task schedules via code, a new Examples gallery, and Environments GA.Django admin crash course - how to build a basic admin panel
Jun 9, 2022–Madhura KumarIn this article, we’ll first explore how to create a Django admin panel with basic functionality. Then, we’ll demonstrate some intermediate and advanced concepts — including how to customize your admin panels to manage product inventory and generate reports.12 useful Python scripts for developers
Jun 8, 2022–Madhura KumarThis article will cover twelve Python scripts that were selected for their general utility, ease of use, and positive impact on your workload. They range in complexity from easy to intermediate and focus on text processing and file management.How to manage product releases across different organizations
Jun 3, 2022–Madhura KumarIn this article, we'll walk through the high level of how to manage product releases across teams of different sizes. We'll cover product release lifecycles that are well-suited for small, medium, and even enterprise environments.How cron might be a bottleneck in your automation
Jun 2, 2022–Madhura KumarThe most common of cron's issues (and the ones we'll cover in this article) include: system resource depletion, large dataset challenges, overlapping jobs, infrastructure changes, insufficient error handling, and scaling issues. We go into each of these in more detail in this article.Changelog 5/27/22: Execute sub-tasks with the Node SDK, rerun entire sessions, and new Learn page
May 27, 2022–Madhura KumarThis week we rolled out the ability to execute sub-tasks with our Node SDK, made it easier to rerun entire sessions, and released a new Learn page.A downturn is the perfect time to start a startup
May 23, 2022–Ravi ParikhTech is going through a steep market correction right now. Companies are doing layoffs. Y Combinator published a letter to their founders telling them how to prepare for tough times ahead [https://twitter.com/refsrc/status/1527238287471292417]. Counterintuitively, this is a great time to start a new company–even better than in 2021 when tech was red-hot. I have friends who were considering starting a company this year, but are now feeling a bit skittish. This is the exact opposite of how you sCron versus anacron - understanding the differences
May 22, 2022–Madhura KumarIn this article we'll introduce cron and anacron, explore their similarities and differences, and walk through how to implement each.How to evaluate startup offers in a downturn
May 18, 2022–Ravi ParikhIt feels like a precarious time to join a tech startup. In the last few months, public market valuations of companies have come way down. The Bessemer cloud index [https://cloudindex.bvp.com/], which tracks average public SaaS company prices, shows that the total market cap of SaaS companies has been cut by more than half in the last few months. This has been going on for a few months, but in the last few weeks, reality seems to have hit startups all at once–the funding market has basically drieTop reasons your cron job isn’t running
May 18, 2022–Madhura KumarThis article walks through the most common reasons why your cron job isn't running: schedule errors, environmental changes, depleted resources, and overlapping jobs. We’ll also share some additional troubleshooting tips along with code samples to help get your cron jobs back up and running.Changelog 5/13/22: Snowflake resource, dynamic options for form blocks, and ability to use configs in SQL and REST tasks
May 13, 2022–Madhura KumarThis week we introduced a new resource for Snowflake, released dynamic options for form blocks, and rolled out the ability to use configs in SQL and REST tasks.Docker cron jobs: how to run cron inside containers
May 12, 2022–Madhura KumarThere are a couple of ways you can create scheduled tasks in Docker using cron. In this article we'll walk through using the host's crontab, using cron within your containers, and separating cron from your application’s services. We'll also discuss scheduling tasks with Kubernetes.Don't accidentally mislead yourself with graphs
May 10, 2022–Ravi ParikhRecently, I was looking at this graph of the number of weekly active users using Airplane [https://www.airplane.dev/] each week over the last few months of 2021: Y-axis omitted intentionallyTo me, it looks like boring, linear growth. We're adding roughly the same amount of new active users each week. But this was really surprising to me. I knew for a fact that we had a big inflection point in growth towards the end of September when a blog post of ours [https://blog.airplane.dev/i-started-a-saAirplane has completed our SOC 2 Type II audit
May 5, 2022–Madhura KumarAirplane is excited to announce that we've completed our System and Organization Controls (SOC) 2 Type II audit.A guide to feature toggles: tips, best practices, and implementation
May 3, 2022–Madhura KumarIn this article, we'll walk through the basics of feature toggles, some best practices when using them, and show you an example of how to manage feature flags with ease using Airplane, a developer tool for building internal apps.Changelog 4/29/22: New schedules config UI, Environments (beta), schedules Pause/Resume button
Apr 29, 2022–Madhura KumarThis week we introduced a new schedules configuration UI, released Environments in beta, and introduced a schedules Pause/Resume button accessible from the Schedules page.Intro to cron and editing your crontab schedule
Apr 25, 2022–Madhura KumarIn this article we'll walk through how to schedule recurring tasks using cron jobs. We'll discuss crontab’s structure and syntax, real-life use cases, and some limitations. We'll also touch on alternatives to cron.Scheduling your GitHub Actions cron-style
Apr 18, 2022–Madhura KumarGitHub Actions are a way to automate tasks in your GitHub repository and are most commonly used to automate CI/CD workflows. In this article, we'll walk through how to leverage scheduled tasks in GitHub Actions and explore some of the limitations with the native functionality.Changelog 4/15/22: Tasks-as-code GA - create and define tasks fully in code
Apr 15, 2022–Madhura KumarTasks-as-code is now GA. You can create and define your Airplane tasks entirely in code. We've also included a quick preview of environments which are coming soon.Creating Golang cron jobs
Apr 14, 2022–Madhura KumarIn this article, we'll walk through how to create cron jobs in Golang, set up a Golang project, and use the gocron and cron.v2 packages to schedule tasks.The ultimate guide to cron troubleshooting
Apr 11, 2022–Madhura KumarIn this article, we’ll walk through some troubleshooting steps including locating the cron job, validating the schedule, permissions, and more for determining the source of a cron job problem.Changelog 4/08/22: Transaction mode and RETURNING in Postgres
Apr 8, 2022–Madhura KumarThis week we rolled out transaction mode and support for RETURNING in Postgres is now live.Changelog 4/01/22: User profile and start conditions on manual blocks
Apr 1, 2022–Madhura KumarThis week we rolled out a user profile page as a part of user settings and the ability to set start conditions on manual blocks.Changelog 3/25/22: Group admins and templating in email blocks
Mar 25, 2022–Madhura KumarThis week we rolled out group admins and the ability to use JavaScript templates to supply an array of recipients in email blocks.Changelog 3/18/22: Airplane API, schedules updates, and perf improvements
Mar 18, 2022–Madhura KumarThis week we released the Airplane API as a beta, added some new features to the Schedules page, and made some performance improvements.Airplane for security: approval flows, audit logs, self-hosted agents, two-factor auth, and more
Mar 18, 2022–Madhura KumarAirplane was built to help companies operate safely and securely. In this post you'll find a list of product features that support security as well as a list of security-focused use cases.Changelog 3/11/22: Tasks-as-code (beta) - create and define tasks fully in code
Mar 11, 2022–Madhura KumarThis week we're introducing a beta of tasks-as-code that lets you create and define your Airplane tasks entirely in code. We've also included a quick preview of the Airplane API which is coming soon.Changelog 3/04/22: GitHub integration and Schedules page
Mar 4, 2022–Madhura KumarAlong with the release of Deployments (beta) last week, we also rolled out a new and highly requested GitHub integration! We also rolled out a Schedules page to view and manage schedules centrally.Changelog 2/23/22: Deployments (beta) - version control and manage tasks as code
Feb 23, 2022–Madhura KumarThis week we rolled out the beta version of our new deployments feature. You can now version control, deploy, and manage Airplane tasks the same way you would your codebase.Changelog 2/4/22: Run constraints, enhanced Activity page, and custom build settings
Feb 4, 2022–Madhura KumarThis week we rolled out the ability to configure run constraints on agents, an enhanced Activity page, and custom install and post install build scripts for node tasks.What is runbook automation? A quick guide
Jan 20, 2022–Madhura KumarWhen you take a step back from the buzz of activities we generalize as work, you'll notice event patterns—repetitive processes. We can document most of these events and processes into easy-to-run steps in runbooks. Runbooks help make sure tasks are performed at the same level of accuracy and yield predictable and desired results. While runbooks tend to live in Google Docs or wiki pages, runbook automation is the process of using software to execute these more reliably, quickly, and autonomouslyHow to start, stop, and restart cron jobs
Jan 18, 2022–Madhura KumarWe often run into situations that require us to run a piece of code periodically—for example, renewing SSL certificates that may expire every year or two. Fortunately, most servers and operating systems provide some means to conduct repetitive tasks automatically. One popular solution is using cron.Changelog 1/14/22: Favorites, deploy with git, and execute rules
Jan 14, 2022–Madhura KumarYou're now able to add tasks, runbooks, and folders to your favorites, deploy Airplane tasks automatically as you push code, and configure execution rules for tasks and runbooks.Airplane for healthcare: PHI and data protection, scheduled operations, interfacing with third parties, and more
Jan 13, 2022–Madhura KumarOne of the primary challenges that B2B healthcare, consumer health, and biotech companies face when it comes to finding third-party software solutions is that they don't comply with the level of sensitivity necessary to be able to use the software. This includes: * Measures to control and lock down PHI (Protected Health Information) and PII (Personally Identifiable Information) * Regular and rigorous audit logs that are easily accessible * The ability to manage permission groups at the moWhy does every startup incorporate with 10,000,000 shares?
Jan 12, 2022–Ravi ParikhEvery tech startup in the US incorporates as a Delaware C Corp with 10,000,000 shares of Common Stock at the date of founding. This is remarkably consistent–if you go through an accelerator like Y Combinator or Techstars, if you use the default options with Stripe Atlas or Clerky, or if you ask a tech law firm for advice, they'll all point you in the same direction. Incorporating in Delaware and as a C Corp are pretty well understood and well explained on the internet, but why 10 million sharesChangelog 12/17/21: MongoDB, team developer role, in-app onboarding and quickstart guide
Dec 17, 2021–Madhura KumarThis week we released a MongoDB database resource, added a team developer role, and rolled out onboarding support.Airplane raises $8.5M in Series A funding led by Benchmark
Dec 9, 2021–Ravi ParikhToday, we're announcing our Series A and the public launch of Airplane runbooks—a developer platform for automating internal workflows.Changelog 12/3/21: SAML SSO and directory sync, manual blocks, collapsible blocks
Dec 3, 2021–Madhura KumarThis week we rolled out SAML SSO and directory sync both available to enterprise customers, added manual blocks, and released a new collapsible UI for building runbooks.Changelog 11/19/21: Runbook schedules, session notifications, block inputs
Nov 19, 2021–Madhura KumarThis week we rolled out runbook schedules, released Slack notifications for failed sessions and for sessions waiting on manual inputs, and added the ability to use block inputs in JavaScript templates.Changelog 11/12/21: Folders, messaging resources, new docs with tutorials
Nov 12, 2021–Madhura KumarThis week we rolled out folders, added resources for messaging, and launched new and improved documentation with a tutorials library.Startup defensibility: how to build a technical moat for your product
Nov 8, 2021–Dan RobinsonI often get questions from founders about how they should think about the “technical moat” of what they’re building, or from potential employees about our technical moat at Heap. If you have a successful product, what’s to stop someone else from building it? Technical moats exist, but they rarely take the form people expect them to take. People often look for an answer to that question in the form of a monolithic, singular technology, like a single algorithm, or a particular piece of code noboAirplane for fintech: sensitive workflows, data protection, fraud investigation, and more
Nov 5, 2021–Madhura KumarBuilding a product that interacts with financial systems and institutions tends to require a number of manual operational workflows. As a result, fintech and insurtech companies invest a significant amount of engineering effort into building internal workflows and processes for support, ops, risk, compliance, and other teams. This is why these companies often dedicate some percentage of their headcount to developing internal tools. One challenge is building internal tools while accounting for sChangelog 11/5/21: Runbooks, task cloning, log downloads, new homepage
Nov 5, 2021–Madhura KumarThis week we launched our new product Runbooks, enabled paginated logs to be downloaded as CSV files, shipped task cloning, and rolled out a new website.Build an admin panel in 10 minutes with Airplane
Nov 1, 2021–Ravi ParikhOne of the first things that a scaling startup builds as soon as they have a reasonable amount of customer volume is an admin panel, sometimes called an admin dashboard or control center. From here, people on support, customer success, ops, and other teams can read and write customer data to help resolve customer issues. Examples of the types of things you might need to do in an admin panel: * Read data: Lookup a user's metadata and transaction history; see a list of users on a team * SimAirplane for SaaS: admin panels, customer onboarding, feature flags, and more
Oct 28, 2021–Madhura KumarAirplane enables engineers at SaaS companies to focus on doing the thing they do best: building a great product. With Airplane, you can move quickly by transforming code into enterprise-grade internal apps in minutes that can be used by anyone on your team. Why SaaS companies choose Airplane SaaS companies are able to grow more quickly when developers can fully focus on building the company's core offering. Airplane enables this by: * Enabling non-engineers to safely run operations that wereWhy “let the support team build their own tools” rarely works
Oct 22, 2021–Ravi ParikhEngineering teams tend to prioritize customer-facing features over internal tools. As a result, the state of internal tools in most companies–especially fast-growing startups–lags far behind where it would be in an ideal world. But there's a solution: why not just let the support or ops team build their own tools? There's tons of no-code vendors out there that promise exactly this. However, unless approached correctly, this won't work. Before diving in, I want to clarify that the primary reasoIntegrating Airplane with AWS
Oct 12, 2021–Joshua MaMany Airplane users run tasks integrated with their production systems, and the overwhelming majority of users run their production systems on AWS. In this post, we'll walk through how you can easily integrate the two together! Via Self-Hosted AWS Agents With Airplane, you can self-host agents [https://docs.airplane.dev/platform/agent-installation] to run within your own AWS account / AWS VPC. This gives you the most flexibility: Airplane agents can run within your own private network(s), and yJust because your product is "enterprise ready" doesn't mean it's any good
Oct 5, 2021–Ravi ParikhThis article is not about compliance requirements, RBAC, SSO, etc. If you're interested in that, check out EnterpriseReady.io. However, having every box checked on that website still won't result in a high-quality enterprise product.How to gain conviction to work on a startup idea for 10+ years
Sep 28, 2021–Ravi ParikhIn December 2020, Josh Ma and I started our startup, Airplane. Before that, we spent several months exploring ideas before settling on the idea that eventually became Airplane.I started SaaS companies in 2013 and 2021. Here's how things have changed
Sep 20, 2021–Ravi ParikhIn 2013, I co-founded Heap, a product analytics company that I helped grow to over 200 people and $X0,000,000 in ARR before I left in 2020. In 2021, I co-founded Airplane, a developer platform for quickly creating internal tools.Airplane: a complement to Retool for non-CRUD internal workflows
Sep 13, 2021–Ravi ParikhA lot of Airplane users wonder how we're different from Retool–are Airplane and Retool competitors? Complementary? Here's our take. TLDR: both tools excel in different ways, and plenty of companies use both Retool and Airplane as complements. But there are also a few areas of overlap.How we approach pricing for our early-stage SaaS product
Sep 10, 2021–Ravi ParikhAt Airplane, we recently exited our free early access period and started charging for our product. I thought it'd be helpful to write a post talking through the logic behind our pricing model, partially as an explanation for our customers, but also as a data point for other early-stage B2B SaaS businesses. Prior to Airplane, I also spent 7 years at my previous startup Heap [https://heap.io/] iterating several times on pricing. What are you optimizing for? It might seem obvious that the point ofAirplane: An easy-to-use Rundeck alternative for better runbook automation
Sep 8, 2021–Ravi ParikhHere at Airplane, we get asked often about the differences between Airplane and Rundeck. We thought we'd give our take. We're obviously biased towards our approach, but we started building Airplane in part due to some of the needs we had that existing tools, like Rundeck, didn't meet.Product Updates Aug 2021: SOC 2, Pricing, Runbooks, Dropdowns, and more
Aug 31, 2021–Ravi ParikhWe've made a ton of progress in the last few weeks. Here's a quick rundown of everything that's changed in Airplane. SOC 2 Compliance We're now SOC 2 compliant! We're proud to announce that we successfully achieved compliance and received an Auditor’s Report demonstrating that our policies, procedures, and infrastructure meet or exceed the SOC 2 criteria. Learn more here [https://airplane.ghost.io/airplane-has-completed-our-soc-2-type-i-audit/]. Select Options (aka "Dropdowns") You can now creAirplane has completed our SOC 2 Type I audit
Aug 26, 2021–Ravi ParikhAt Airplane, as of this week, we've completed our System and Organization Controls (SOC) 2 Type I audit. For the entire time that we've had customers using our product, we've taken industry-standard security practices.Replacing cron with scheduled tasks in Airplane
Aug 23, 2021–Ravi ParikhReplace brittle cron jobs with easy-to-use scheduled Airplane tasks.Airplane: A New Approach to Internal Tools
Jul 23, 2021–Ravi ParikhToday we're publicly launching Airplane, a platform that lets engineers quickly create lightweight internal apps for their teammates. We've been in closed beta for the last 6 months, but as of today, Airplane is open for anyone to sign up and try out [https://www.airplane.dev/]. Why existing approaches to internal tools fall short My co-founder Josh and I both spent the last 7+ years at two different SaaS companies. I previously co-founded Heap, an analytics company, and Josh was CTO at BenchlComing soon
Jul 19, 2021–Ravi ParikhAirplane will be available soon. Send us a note at hello@airplane.dev to get early access.