Ever felt like your cloud infrastructure configuration process is broken? You’re not alone. Getting infrastructure deployed that meets your company’s standards can be a painful experience for both developers, and the teams that support them: DevOps, SREs, platform engineers, security, and others. What’s so painful about it?
Developers
Most software engineers want to focus on their core job: creating software. Instead, developers today are also responsible for configuring, deploying, and maintaining the infrastructure that their applications run on. This introduces additional layers of complexity:
- Expertise in cloud infra (sizing, networking, IAM & roles, dependencies etc.)
- Infrastructure-as-Code (Terraform, OpenTofu, etc.)
- Security (ensuring that infrastructure is properly protected against breach)
Developers today are forced to decipher & use complex Terraform modules or (gasp) ClickOps, while hunting for information across 3rd party documentation, internal best practices, or security docs.
At best, developers are slowed down significantly while they try to write & maintain Infrastructure-as-Code. At worst, infrastructure with misconfiguration is making it into production.
Cloud owners (DevOps, SREs, platform engineers)
When developers have trouble deploying infrastructure, their first Slack (or call, or email, or Teams message) is most frequently to the DevOps or platform team that is responsible for their cloud platform. The result is support cycles and reviews focused on basic, commodity infrastructure use cases that should be layups.
Cloud owners also know that wasted time isn’t the only problem with the infrastructure configuration process. When developers don’t have the right tools to deploy infrastructure, they are at risk of doing so in a way that isn’t standard. This is not only painful because it increases review times, it is also potentially dangerous and destructive.
Consider oversized servers ($$$), the wrong software versions (can crash easily), or even publicly accessible storage (security).
When misconfigurations inevitably make it into production, it can cause major incidents or outages. Infrastructure that doesn’t meet the standards of a platform team, can put the health of an entire cloud platform at risk.
Security
Security teams are stuck in the middle - advocating for secure best practices, but often without the tools to implement them in practice. After all, developers want to work in the tools that they’re familiar with. Blueprints can attach Resourcely Guardrails (more on these next week), which help prevent security-focused misconfiguration.
Standardizing the deployment experience for infrastructure, while giving developers embedded context, information, and guardrails, results in paved roads to production that can solve the woes of everyone involved:
- Developers deploy quickly and with confidence, without needing to be experts
- Cloud teams ensure infrastructure is being correctly deployed, and get out of support hell
- Security teams ensure infrastructure is securely and safely configured
Resourcely Blueprints: Deploying Infrastructure on Rails
Resourcely Blueprints are configurable templates for deploying infrastructure quickly, without being destructive. They are designed to streamline the deployment and configuration process for developers and operations teams alike. Blueprints provide a user-friendly, on-rails experience for deploying infrastructure that meets a company’s standards. Here's how they work:
- Cloud platform, foundations, and DevOps teams take the wheel: Owners of a company’s cloud platform define Blueprints, giving developers a paved path to deployment
- Blueprints are configured to meet the standards that a company expects
- Sizing & cost considerations
- Networking
- Appropriate OS and software versions
- IAM and access management
- Tagging
- Metadata and additional information can be added
- Context questions
- Exceptions and approval workflows
- Blueprints are configured to meet the standards that a company expects
- Developers create PRs from Blueprints: Engineers discover the blueprints they want from the Shopping Cart, which can be searched or filtered. They then walk through a guided UI for configuring the applicable resources.
- Examples of blueprints in Resourcely:
- Spinning up an S3 bucket with ACLs disasbled
- Deploying a VM with an 8 core CPU only in US-East regions, with a load balancer and attached Postgres database
- Configuring a WAF for rate-limiting non-US clients to 10,000 requests every 5 minutes
- Examples of blueprints in Resourcely:
- Infrastructure-as-code is generated: After the configuration form is completed, appropriate Terraform is created that reflects the Blueprint configuration. Both company preferences and individual developer choices (where allowed) are reflected. The resulting Terraform is created as a PR in the company’s GitOps tool of choice, where it can be routed for review to the appropriate teams.
- A note on exceptions
- Resourcely Blueprints can have Guardrails attached to them. When a Guardrail is violated, the engineer filling out the PR will be notified up-front instead of during CI. This means faster feedback loops, and fewer PRs with violations. We’ll cover Guardrails in more detail next week.
- A note on exceptions
Conclusion: Stop wasting time, build a paved road to production
Resourcely Blueprints offer a powerful and efficient way to configure & deploy infrastructure-as-code the way you want it to be. By streamlining the process for both developers and operations teams, they can save time, reduce errors, and ensure that your infrastructure is always meeting operational standards of the business.
Ready to learn more? Sign up for a free trial of Resourcely today and see how it can transform your infrastructure deployment process!