Tagged in

devops

Rubrik -  - Hello World! Welcoming Rubrik’s Python SDK

Product

Hello World! Welcoming Rubrik’s Python SDK

Rubrik’s ecosystem is already huge–spanning on-premises infrastructure, from the edge to private cloud, and three big public cloud platforms–and continues to grow with each release. We recognize that most enterprises are undergoing some form of digital transformation and are in very different stages of embracing automation. That’s why we built our platform to integrate with many other vendors that can help meet specific business needs. However, with this flexibility comes the challenge of simplifying an ecosystem that uses a variety of programming languages. We selected Python as the next programming software development kit (SDK) to help address these challenges and empower all Rubrik users to be computer programmers. Python was designed as an easy-to-understand programming language and has gained popularity for being beginner-friendly. One of its creators, Guido van Rossum, even claimed to have built Python to empower “all users to be computer programmers.” Being a high-level language, Python reads like English, taking the stress of learning language-specific syntax off beginner coders. It handles and obfuscates much of the complexity, which allows you to learn programming concepts without worrying too much about details. When designing the Python SDK, we wanted to build with the same “philosophy of simplicity” that our…
Rubrik -  - Welcome to Polaris: Courtesy of Slack and Serverless Compute

General Tech

Welcome to Polaris: Courtesy of Slack and Serverless Compute

At Rubrik, one of the “good problems” we have is massive hyper-growth across teams, which means we have to find easy, scalable ways to communicate to each other. This was put to the test with our launch of the Polaris SaaS platform earlier this year, which led to the Sales Engineer team getting multiple “can I get access to the Polaris demo account?” requests every week. In order to create the new accounts, I simply log into Polaris and select the Invite Users link, and then a welcome email that includes all relevant login information would be sent to the team member requesting access. Even though the invite process was just a few clicks, as someone focused on all things DevOps and automation at Rubrik, a small part of me would shudder every time I had to manually repeat the invite process. That was until Chris Wahl decided to throw down the gauntlet. As a self-confessed Slack (our communication tool of choice) addict, I was immediately intrigued and got to work. I soon had a proof-of-concept Python script up and running that automated the new user invite process. But now what? How could I turn that basic script into a…
Rubrik -  - How We Built a Suite of Automated End-to-End Tests

Architecture

How We Built a Suite of Automated End-to-End Tests

Last week, I covered the importance of quality and why we employed automated end-to-end testing. In this post, I explain how we implement this approach. We do so through a release pipeline orchestrated by Jenkins to efficiently run a large suite of end-to-end tests. These tests leverage our custom testing framework which integrates with support tooling. As we receive customer feedback, we continuously update the framework and test cases to keep up with the latest requirements. Below, I describe in more detail our release pipeline, testing framework, and product support functions that ensure our testing is faster, more efficient, and always high quality. Jenkins Continuous Integration Like many engineering organizations, we use Jenkins as our continuous integration tool. As engineers check in new code, Jenkins is continuously running the suite of tests we built, including both unit tests and end-to-end tests. This allows us to quickly detect and correct issues. Release Pipeline If we ran every full test for every code check in, we would quickly exhaust all our test resources and file duplicate bugs. Although we can easily add more test resources, duplicate bugs waste engineering time by requiring extra triage and diagnosis work. Instead, we define a release…