Image: Andrei Barmashov / Getty Images
Contributing Editor, InfoWorld | Jun 12, 2023 2:00 am PDT
Running applications in the public cloud can be expensive. Here's how smart teams use finops tools and best practices to plan ahead.
Some devops teams wait to optimize their applications for cost considerations until reports and invoices show higher-than-expected charges, or when cloud costs scale faster than expected. Others carefully consider the cost to run and scale infrastructure during a project’s design and build phases. Some larger enterprises take it a step further, creating a finops role to guide the process and selection of their cloud architecture.
Centralizing cloud costs from public clouds and data center infrastructure is a key finops concern. The first thing finops does is to create a single-pane view of consumption, which enables cost forecasting. Finops platforms can also centralize operations like shutting down underutilized resources or predicting when to shift off higher-priced reserved cloud instances. Platforms like Apptio, CloudZero, HCMX FinOps Express, and others can help with shift-left cloud cost optimizations. They also provide tools to catalog and select approved cloud-native stacks for new projects.
We’ll look at a few finops best practices for devops teams to consider during the application planning and development phases. But first let’s consider the bigger picture: What should a fiscally responsible devops team consider when developing new cloud applications, or early in an application modernization project?
“Don’t just lift and shift,” says Nitha Puthran, senior vice president of cloud, infrastructure, and security at Persistent Systems. “Analyze the application to determine the best path for minimizing cost and maximizing scalability.”
Another recommendation came from Justin Cobbett, product marketing manager at Akamai. “Building out your environment to match the use case of each application and taking advantage of multicloud or hybrid deployments is a surefire way to save costs, increase performance, and lower your risk,” he says.
Developers can reduce expenses by automating testing, configuring CI/CD pipelines, and prioritizing other devops optimizations that impact costs. Deploying infrastructure as code and improving incident management are two ways to reduce costs in IT operations.
It’s easy to spin up an environment in a public cloud and deploy applications to it, but this may not be an optimal runtime architecture from a performance, reliability, or performance perspective.
“Today’s developers now have a choice between monolithic cloud infrastructure that locks them in and choosing to assemble cloud infrastructure from modern, modular IaaS and PaaS service providers,” says Kevin Cochrane, chief marketing officer of Vultr. “By choosing the latter, they can speed time to production, streamline operations, and manage cloud costs by only paying for the capacity they need.”
As an example, a low-usage application may be less expensive to set up, run, and manage on AWS Lambda with a database on AWS RDS, rather than running it on AWS EC2 reserved instances. The key for the devops team is to consider multiple deployment architectures and consider performance, reliability, scalability, and costs when selecting an approach.
Building observability into cloud-native applications isn’t difficult, but what about doing it during an application modernization? Building observability into an application is a best practice for aiding incident management and finding the root causes of performance issues. The data stream it creates can also help identify opportunities for cost optimization.
“Organizations are increasingly moving toward cloud-based architectures, which are extremely complex and dynamic, making it difficult to understand what’s happening with their data inside their deployments and spending,” says Rohit Choudhary, cofounder and CEO of Acceldata. “Data observability can help organizations detect and identify the primary causes of data discrepancies and provide recommendations on ways to improve the efficiency and reliability of their data systems—reducing overall cloud costs.”
What can observability tell you about costs? An application with high resource utilization during periods of low usage or making more database or API calls than expected can drive up costs. These would be good reasons to consider code optimizations.
Travis Greene, senior director of digital ops product marketing at OpenText, shares this recommendation for finding the hidden cloud costs and areas of overspending. “Identify anomalies using a multi-cloud observability platform, understand their sources, and take rapid action to shut down wasteful utilization,” he says. Taking these steps “can minimize the billing surprises that plague many organizations today.”
When there are too many applications to modernize, devops teams often feel pressured to build, test, and deploy applications to the cloud without spending enough time optimizing cloud infrastructure. That sometimes means spinning up environments and services and leaving them running 24/7 or on fixed schedules.
McKinsey estimates that enterprises can cut 15% to 20% of cloud costs through optimizations, and that can start by forecasting and capturing application usage metrics.
Rich Hoyer, director of customer finops at SADA, says. “Organizations often allow cloud services to run 24/7 even if not in use. Creating an automated workload schedule is one of the most overlooked cloud savings opportunities, and the potential savings from scheduling services, such as testing and development, to operate only when used is surprisingly significant.”
One of the harder costs to estimate before deploying an application to public clouds is the data movements between clouds and cloud services. Data egress charges can be significant for applications that perform integration between SaaS tools, data transformations for data warehouses, or processing steps in IoT data streams. Sean Knapp, founder and CEO of Ascend, recommends, “Avoid moving data between clouds when possible and process it where it’s at using push-down data pipeline platforms.”
Knapp also warns of one overlooked area when designing data integrations, pipelines, and transformations that can increase compute costs by a three-times multiple. “Many pipeline systems drive needless re-processing costs since they don’t take inventory of the data itself,” he says. “If anything changes in the pipeline logic, or an error occurs at runtime, the entire pipeline must be re-run to ensure consistency.”
The lesson is to plan for flexible data pipelines that support incremental updates rather than changes that require a full re-processing of the complete data set.
Public clouds deliver a wide range of services, hoping developers will take advantage of their built-in capabilities. There may be conveniences and short-term cost benefits to using these features, but they also lock the application into running on that public cloud provider’s platform.
“Most software written for the cloud today utilizes the implementation-specific details of the cloud vendor itself,” says Jonathan Oliver, CEO and CTO at Smarty. “While the software will execute, it will only work for the cloud vendor in question and cannot be easily ported or moved to a new cloud vendor without significant effort.”
Two other recommendations focus on post-deployment disciplines and should help organizations align strategies as public cloud architectures, services, and pricing evolve.
“Developers should have complete visibility of the utilization of resources in the cloud—be it storage, compute, network, or services,” says Ravi Mayuram, senior vice president of products and engineering at Couchbase. “This will allow developers to right-size resource utilization before cost overruns occur.”
That discipline helps track costs based on utilization and other factors the business and devops teams can measure and control.
Carl Perry, director of product management at Snowflake, recommends also tracking the vendor’s performance and commitment to helping customers reduce costs. “The most important aspect that developers should take into account is whether a cloud platform has a track record of improving costs for customers,” he says. “Choosing a company that continually improves the performance of their service means that developers will see their costs drop automatically as the company releases updates.”
Devops teams today must manage tremendous pressure to build and modernize applications. Doing so without accounting for changing cloud costs can lead to technical debt and growing expenses. The best practices discussed here can help you work around those pitfalls at every stage of the software development lifecycle.
Resource: Sacolick, I. (n.d.). 6 finops best practices to reduce cloud costs. InfoWorld.https://www.infoworld.com/article/3699108/6-finops-best-practices-to-reduce-cloud-costs.html
MixedMug
We firmly believe that the internet should be available and accessible to anyone, and are committed to providing a website that is accessible to the widest possible audience, regardless of circumstance and ability.
To fulfill this, we aim to adhere as strictly as possible to the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 2.1 (WCAG 2.1) at the AA level. These guidelines explain how to make web content accessible to people with a wide array of disabilities. Complying with those guidelines helps us ensure that the website is accessible to all people: blind people, people with motor impairments, visual impairment, cognitive disabilities, and more.
This website utilizes various technologies that are meant to make it as accessible as possible at all times. We utilize an accessibility interface that allows persons with specific disabilities to adjust the website’s UI (user interface) and design it to their personal needs.
Additionally, the website utilizes an AI-based application that runs in the background and optimizes its accessibility level constantly. This application remediates the website’s HTML, adapts Its functionality and behavior for screen-readers used by the blind users, and for keyboard functions used by individuals with motor impairments.
If you’ve found a malfunction or have ideas for improvement, we’ll be happy to hear from you. You can reach out to the website’s operators by using the following email
Our website implements the ARIA attributes (Accessible Rich Internet Applications) technique, alongside various different behavioral changes, to ensure blind users visiting with screen-readers are able to read, comprehend, and enjoy the website’s functions. As soon as a user with a screen-reader enters your site, they immediately receive a prompt to enter the Screen-Reader Profile so they can browse and operate your site effectively. Here’s how our website covers some of the most important screen-reader requirements, alongside console screenshots of code examples:
Screen-reader optimization: we run a background process that learns the website’s components from top to bottom, to ensure ongoing compliance even when updating the website. In this process, we provide screen-readers with meaningful data using the ARIA set of attributes. For example, we provide accurate form labels; descriptions for actionable icons (social media icons, search icons, cart icons, etc.); validation guidance for form inputs; element roles such as buttons, menus, modal dialogues (popups), and others. Additionally, the background process scans all of the website’s images and provides an accurate and meaningful image-object-recognition-based description as an ALT (alternate text) tag for images that are not described. It will also extract texts that are embedded within the image, using an OCR (optical character recognition) technology. To turn on screen-reader adjustments at any time, users need only to press the Alt+1 keyboard combination. Screen-reader users also get automatic announcements to turn the Screen-reader mode on as soon as they enter the website.
These adjustments are compatible with all popular screen readers, including JAWS and NVDA.
Keyboard navigation optimization: The background process also adjusts the website’s HTML, and adds various behaviors using JavaScript code to make the website operable by the keyboard. This includes the ability to navigate the website using the Tab and Shift+Tab keys, operate dropdowns with the arrow keys, close them with Esc, trigger buttons and links using the Enter key, navigate between radio and checkbox elements using the arrow keys, and fill them in with the Spacebar or Enter key.Additionally, keyboard users will find quick-navigation and content-skip menus, available at any time by clicking Alt+1, or as the first elements of the site while navigating with the keyboard. The background process also handles triggered popups by moving the keyboard focus towards them as soon as they appear, and not allow the focus drift outside of it.
Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements.
We aim to support the widest array of browsers and assistive technologies as possible, so our users can choose the best fitting tools for them, with as few limitations as possible. Therefore, we have worked very hard to be able to support all major systems that comprise over 95% of the user market share including Google Chrome, Mozilla Firefox, Apple Safari, Opera and Microsoft Edge, JAWS and NVDA (screen readers), both for Windows and for MAC users.
Despite our very best efforts to allow anybody to adjust the website to their needs, there may still be pages or sections that are not fully accessible, are in the process of becoming accessible, or are lacking an adequate technological solution to make them accessible. Still, we are continually improving our accessibility, adding, updating and improving its options and features, and developing and adopting new technologies. All this is meant to reach the optimal level of accessibility, following technological advancements. For any assistance, please reach out to