Spending Developers on Security - Part 1
July 10, 2018

Hillel Solow
Protego

Securing cloud native applications presents an interesting challenge. Cloud native application developers view the cloud as an operating system, and they write for and run on that operating system. When it comes to security, this means spending time configuring this operating system to enforce security policies on the various parts of the application. In the cloud, this often translates into IAM roles, VPC configurations, etc.

In the shift to cloud native, many organizations have also adopted a configuration-as-code approach. This helps drive up application deployment velocity by letting developers and DevOps teams reconfigure their deployments as their needs arise. Other organizations, particularly the more regulated ones, still have security people owning these tools, but that creates increased pressure on the security organization to keep up.

Your Mileage May Vary

How much are organizations investing in this process, and how much is it getting them? I recently spent some time talking with developers using primarily serverless technologies, to understand how they handle security configuration.

If I oversimplify, there are three types of developers in the serverless arena:

Extreme Minimalists: This strategy can be summed up as "do nothing until you have to", or "why procrastinate today when you can procrastinate tomorrow", and basically means, don't touch security configuration until something you deploy to staging doesn't work, see what error you got, add a permission or configuration as needed.

Balanced Realists: Here the strategy consists of spending about two minutes before deploying a function reviewing roles and configuration, and trying to catch any missing or perhaps extra permissions or configurations before rolling it out. Handle the rest as exceptions.

High-Functioning Security Fundamentalists: This is less common, but not as extinct as one might think, and involves really reviewing the entire security configuration before each deploy, revalidating all permission, and tracking anything that might be missing.

As you can imagine, each profile ends up spending dramatically different amounts of time on security, and getting very different results. By and large the first group spends zero time on deployment, but then spends a lot more time when permissions are missing. In the end, they tend to still come out on top in terms of time spent, but are worst off in security, as by the time they see an error in the logs for some function that's missing permission, they're almost certainly going to drop a big wildcard in to get it working.

The second group tends to spend about two to three minutes per deploy, and still hit the occasional exception. Their security outcomes are somewhat better than the first group, but not a whole lot. They too have a lot of wildcards, but they are slightly better at removing old permissions that are no longer needed.

The third group spends 5-8 minutes per deploy but has a pretty low rate of exception after, and tend to have a much better security posture than the first two groups, both because they spend more time, but also because that time is spent within the mindset of "let me get the exact profile I need and no more." Bravo to them, but honestly, I don't think I could keep that up for long.

Read Spending Developers on Security - Part 2 to answer the question: What's it Going to Cost Me?

Hillel Solow is CTO and Co-Founder of Protego
Share this

Industry News

April 02, 2020

VMware announced the general availability of VMware vSphere 7, the biggest evolution of vSphere in over a decade.

April 02, 2020

Grafana Labs announced that Cortex v1.0 is generally available for production use.

April 02, 2020

IT Revolution announced new dates, extended pricing and its first round of confirmed speakers for DevOps Enterprise Summit Las Vegas 2020. Hosted at The Cosmopolitan of Las Vegas, DevOps Enterprise Summit will now take place November 9-11, 2020.

April 01, 2020

Compuware Corporation announced new capabilities that enable application development teams to automate performance tests early in the development lifecycle, helping large enterprises speed time to market and improve application performance—while decreasing the significant and unnecessary cost of wasted time.

April 01, 2020

PlanetScale released the newest version of PlanetScaleDB, a multi-cloud database.

April 01, 2020

Datawire announced the newest release of Ambassador Edge Stack that is designed to speed up the inner development loop.

March 31, 2020

Push Technology will provide Diffusion Cloud, Push Technology’s Real-Time API Management Cloud Platform, free for all existing customers and new customers developing systems in the cloud during these challenging times.

March 31, 2020

Rancher Labs announced the general availability of Rancher 2.4.

March 31, 2020

Kasten announced the general availability of Kasten K10 v2.5.

March 30, 2020

DevOps Institute, a global member-based association for advancing the human elements of DevOps, announced a new Open Testing program that removes the prerequisite of leveraging formal courseware to achieve certifications from DevOps Institute's extensive portfolio.

March 30, 2020

Oracle announced the general availability of Java 14 (Oracle JDK 14).

March 30, 2020

Akamai announced March 2020 updates to the Akamai Intelligent Edge Platform.

March 26, 2020

Redgate’s new SQL Monitor now ensures that DevOps teams can monitor and track deployments at all times.

March 26, 2020

Split Software announced a two-way data integration with Google Analytics that can instantly detect performance issues caused by new features.

March 26, 2020

Cloudreach earned the Kubernetes on Microsoft Azure advanced specialization.