Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / cloud

Why SSD is Critical to Dev/Test Environments

5.00/5 (1 vote)
12 Dec 2017CPOL4 min read 3.3K  
A cloud provider like Alibaba Cloud has deliberately made compute with SSD predictable and cost-effective, providing developers more of what they need to build great applications for production in the cloud.

Alibaba Cloud provides a comprehensive suite of global cloud computing services to help power and grow your business. Create an account today and get $300 in new user free credit.

In most development teams, the infrastructure provided to developers follows a “just enough” principle, where developer machines, local or cloud, have just enough resources needed to build and test applications at a bare minimum. Premium infrastructure like load balancers, SSD drives, and more CPU are reserved for production.

This is not optimal. Application development stands to benefit significantly by providing development environments with resources that are comparable to those available in production.

This includes SSD. Below, I explain how providing SSD to development can greatly improve dev/test environments.

Why SSD is a Luxury

The primary reason organizations decide to keep SSD resources to a minimum is price. For most cloud providers, SSD is priced multiple times more than standard disk resources.

As cloud providers expand their offerings, SSD will become more common, and the price will drop over time. But Alibaba Cloud decided to get ahead of current price concerns, and out of the gate, their SSD offering is priced substantially less—nearly half the price of other cloud providers—and it’s just $4.50/month for the smallest Linux instance. Developers can benefit from SSD in a big way, especially those building net new applications.

Why SSD Matters in Dev

There is more to cloud resource cost than just resources. There is also the cost of not leveraging them properly. Why do developers need that type of power? There are several key reasons:

  1. Parity: A major challenge for developers when it comes to knowing how applications will run in production is having enough parity with production that they can run the application in a development environment that closely resembles production. Without parity, deploying applications is a guessing game. You assume that the infrastructure’s impact on the application is small enough that there is no risk. But we have seen plenty of instances where this is not the case. This applies not only to SSD. By giving developers equivalent resources, their development environments become full-blown continuous integration (CI) environments. And they can know confidently how the application will perform when it’s pushed to production.
  2. Testing: Great performance means you can test faster and test more. In addition to faster and more frequent testing, performance testing can begin to shift left, giving you accurate benchmarks of performance closer to code creation.
  3. Optimization: More testing and parity means that with an accurate picture of how the application will run when the code is created, developers can better optimize both their development environment and production, and they can communicate more effectively with Ops on what resources are needed for the application. This is where soft ROI comes in. If developers can more confidently predict how many resources the application will need to run under load, then the Ops team does not need to overshoot resources, resulting in decreased costs—and there is a good chance that better estimates of required resources in development environments will actually result in cost savings.

It also means that developers can start to embrace more complex testing against real data. Often organizations will avoid testing against real data because access to the data or transfer rates are slow. As a result, a lot of testing has turned to application mocks, or not testing the backend at all. But with SSD, developers can do more testing with real data.

With high-performance applications, such as those developed in the science domains, access to SSD may be necessary. How quickly information is serialized to the disk can impact how the applications run and are architected.

Greedy Devs

The cost of SSD is a challenge that developers face when deciding whether SSD is something they need in their development environments. Plus, costs with many cloud providers are unpredictable. One developer’s monthly spend could be many multiples of another. This unpredictability makes organizations uneasy because the cost of development should be concrete, and production should follow ideal application usage.

Developers don’t just want more power, they want to be more efficient and effective. And they will often turn to local development environments over the cloud in order to get the power they need. But local environments don’t match production. A cloud provider like Alibaba Cloud has deliberately made compute with SSD predictable and cost-effective, providing developers more of what they need to build great applications for production in the cloud.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)