Category: DevOps in the Cloud

  • Cutting Costs, Boosting Efficiency: The Economic Benefits of Framework-Defined Infrastructure

    Cutting Costs, Boosting Efficiency: The Economic Benefits of Framework-Defined Infrastructure

    In a world that’s constantly modernizing, developers are at the forefront of progress, embracing cutting-edge tools that match the pace. Industry-standard practices like infrastructure-as-code (IaC) are getting an update: Framework-defined infrastructure (FdI) is an approach to deploying applications that is quickly gaining popularity among developers, where the deployment environment automatically provisions infrastructure derived from the framework and the applications written in it. For developers, this serverless architecture means more reliability, increased productivity, top-of-the-line security and reduced costs.

    To modernize development practices, understanding the role of framework-defined infrastructure in defining and automating infrastructure—and its impact on the development experience in open source frameworks—is crucial.

    The Evolution From IaC to FdI

    Infrastructure-as-code (IaC) is the industry-standard practice for provisioning infrastructure in a repeatable and reliable way. Framework-defined infrastructure (FdI) is an evolution of IaC, where the deployment environment automatically provisions infrastructure derived from the framework and the applications written in it.

    In the early days of servers and the internet, we SSH-ed (or worse) into individual machines, running install scripts or even configuring production software using graphical user interfaces to provision infrastructure. As the web scaled, it became clear that this approach wouldn’t scale with it, and together with the DevOps movement, IaC became the best practice for provisioning infrastructure. The code in IaC represents a version-controlled description of the desired state of the infrastructure—which, when executed, will create the described system state. However, as the web continues to scale, developers must apply new processes and architectures to increase the efficiency of their workflows.

    Enter framework-defined infrastructure.

    Framework-defined infrastructure abstracts over cloud primitives such as servers, message queues and serverless functions, making them mere implementation details of the frameworks’ concepts. Frameworks use well-established patterns to provide structure and abstraction to applications, making them easier to write and understand by managing the high-level application flow while the developer writes code within the hooks provided by it.

    Framework-defined infrastructure takes advantage of both this inversion of control and the predictable structure of framework-based applications like Next.js to automatically map framework concepts onto the appropriate infrastructure without the need for explicit declaration or configuration of the infrastructure.

    Optimization for Serverless Environments

    Since framework-defined infrastructure lets the framework itself define the production behavior, local development can just use the framework’s own tooling, while production infrastructure is automatically configured to be a scaled and optimized representation of the same underlying behavior.

    IaC uses machine-readable files, which developers can version much like software, to provision infrastructure such as physical servers, virtual machines and higher-level services like databases or applications. Serverless architecture—which, despite its name, still uses servers—eliminates the need for developers to manage specific physical or virtual servers.

    Serverless products still require developers to define and deploy their respective serverless primitives, much like more traditional infrastructure. For example, in the archetype of serverless products, AWS Lambda, developers need to create a lambda function and deploy code to it.

    While serverless architecture greatly simplifies managing production infrastructure, the systems that run serverless code are often complex and proprietary, which can cause problems with local development. In a worst-case scenario, local development isn’t possible, and developers must test local changes by making comparatively slow deploys to the production infrastructure. In a best-case scenario, developers must create a local simulation of the complex serverless stack, which must stay up-to-date with the production environment. Framework-defined infrastructure completely eliminates this problem, as it is capable of automating the process for users.

    Framework-Defined Infrastructure and Immutable Deployments

    These days, application code is developed almost exclusively within version control systems such as Git. IaC maintains infrastructure definition in either the same or a sibling version control system. However, production infrastructure itself can only represent limited points in time of the infrastructure’s version history. This is fundamentally incompatible with framework-defined infrastructure, which expects that production infrastructure directly maps to the framework code at the same commit hash.

    Immutable deployments solve this impedance mismatch between an application’s and the infrastructure’s version history. Instead of deploying onto a limited number of infrastructures, immutable deploys create a completely new infrastructure for every single deployment that is ever made. For developers, this means lower IT complexity and failures, improved security, and easier troubleshooting, given there are fewer chances for unpredictable behaviors or unintended consequences of code changes.

    Naturally, immutable deployments are impossible in a world where infrastructure is mapped to finite physical resources. However, in a serverless world, where unused infrastructure can scale to zero, immutable deployments become possible to perform, as unused deployments do not take up physical compute resources beyond the baseline storage needed for their contents.

    Conclusion

    It goes without saying that framework-defined infrastructures rely on IaC as the ultimate infrastructure interface and, hence, could not work without the amazing work of its community. In order to modernize, it’s imperative for developers to leave behind infrastructure constraints and embrace a world where scaling applications becomes effortless, enabling them to optimize efficiency without sacrificing performance. For developers growing frustrated with scaling issues or the burdensome process of their development process, widespread adoption of framework-defined infrastructure is key to improving the developer experience.

  • Application Modernization: A Catalyst for Fixing Sub-Optimal UX

    Application Modernization: A Catalyst for Fixing Sub-Optimal UX

    Today, some of the biggest government programs in existence are Medicare and Medicaid with the two health care insurance providers serving over 43% of the U.S. population. The Centers for Medicare and Medicaid (CMS) spent $1.6 trillion in 2021 and continue to grow in both size and cost on an annual basis. With this type of investment and permeation into the American populace, one would assume that this program would be running on the most up-to-date applications available. However, both public and private health care insurance carriers continue to operate on legacy systems.

    Recently, Andrea Fletcher, the digital services director of the CMS, described their system as operating on technology from the 1960s, which is alarming considering the responsibilities of the program. In fact, the Biden administration has only recently announced plans to modernize their organ matching system. This announcement came from a study conducted in February, which showed that only 26% of organs were procured from donors on average. This is just one example of how efforts to improve legacy systems, which are currently being used by over 40% of the population, allow both public and private organizations to operate in a more efficient manner as well as satisfy user needs. Further exploration will show how modernization improves other areas of business, such as creating user experiences that are both easier to navigate and more personalized as well as the ability to incorporate the latest cybersecurity updates.

    Modernizing as a Means to Improve User Accessibility and Personalization

    Given the size and diversity of the United States population, a modern flexible system is necessary for creating a smooth user experience for every individual. Today, users connect with insurance carriers using a variety of different devices while communicating using different languages and possessing different levels of technical expertise. The ability to create a personalized user experience for each individual will require a level of modernization that legacy systems were not built for. The importance of this flexibility is accentuated when considering that the purpose of Medicare and Medicaid, in particular, is to serve the elderly and underprivileged.

    Prioritizing the modernization of the consumer experience is not limited to just government organizations. In an independent survey conducted by Evolveware, 46% of private organizations measure the success of their application modernization efforts through an expected improvement in customer experience. As health care insurers continue to rely more heavily on analytics and the population continues to adopt digital technologies, the process of creating a streamlined and targeted approach to purchasing and managing health care becomes essential to staying competitive. For a multitude of companies in the marketplace, having an agile system that can be customized to each individual user can be a major differentiator, especially given the variety of factors that each individual has when it comes to making decisions about their health. Moreover, by prioritizing the user experience, organizations can improve their brand loyalty and customer retention, which are key factors when dealing with a competitive marketplace with a lot of players. Insurers have recognized this, as a recent survey of CIOs by Gartner showed that improving the customer experience and application modernization were listed as the highest priorities in the insurance industry. As customers become more judicious with their money due to current macroeconomic trends, providers will need to make sure their platforms’ user experiences are on par with their competitors.

    Modernization to Mitigate the Impact of Hidden Costs and Security Vulnerabilities

    The costs of not updating legacy systems should also be taken into consideration when making the decision to modernize. While the expense and process of moving away from legacy systems can seem like a significant obstacle, these systems, due to on-site maintenance and operational costs, are already expensive to maintain on a continuous basis. In fact, health care IT teams spend around 60% of their time trying to maintain and manage legacy systems. Furthermore, the opportunity cost of IT teams focusing on maintenance over innovation is significant, especially given the potential of the latest technologies to deliver a more intuitive user experience. There is also an understated but pressing labor cost with legacy systems, as members of the workforce who are familiar with these systems are aging and retiring, and the replacement workforce is not well-versed in legacy languages and technologies.

    Finally, legacy systems can also contain blind spots that are prime targets for cybersecurity breaches and hacks today. Legacy applications were built at a time when these types of attacks were not common and, therefore, don’t have the most up-to-date security capabilities embedded. Many of these systems also do not have up-to-date documentation, resulting in a high potential for hidden vulnerabilities. For health care organizations that have access to sensitive data, understanding and then shoring up these vulnerabilities using modern security features is critical.

    Health Care Modernization Example: Chatbots

    One prominent example of how application modernization can lead to organizational success is the integration of chatbots. As technology expands and businesses identify new ways to reach consumers, the addition of chatbots has become more prominent on platforms across industries. For the health care insurance industry, the bots provide both a cost-efficient way to process insurance claims as well as an enhanced user experience through ease of use. Recent estimations show that bots can handle the workload of two to five claims processors and can deliver 20 times the production relative to cost, allowing industry employees to focus on less tedious and more innovative tasks. Using generative AI models, chatbots will continue to become more sophisticated and varied in their responses to user input. As a result, modernizing legacy systems to optimize the integration of these bots becomes integral to remaining competitive in the marketplace.

    Legacy Systems and the Future

    As we look to the future, both government and private insurance carriers have plenty of internal and external factors that incentivize application modernization. As Medicare and Medicaid continue to grow due to the increasing number of eligible users, an agile system is integral for user accessibility. Meanwhile, macroeconomic factors such as high costs and an increasingly competitive marketplace will force private organizations to adopt systems that can integrate and adapt to the newest technologies for a better and more secure customer experience. With serious challenges facing both the public and private sectors of healthcare insurance, the necessity to modernize has never been greater.

  • Salesforce Winter Release: What you Need to Know

    Salesforce Winter Release: What you Need to Know

    With the Salesforce Winter release dates behind us, it’s time to evaluate all of the new innovations added to your Salesforce ecosystem. Let’s just say that many users will be excited about the features added to this release cycle; plus, there were many anticipated updates that have finally come to fruition.

    Let’s dive right in and get to the meat of the release that will appease the administrator community, automate internal processes and close many operation gaps, and promote more team collaborations for you and your clients.

    Search Capabilities and Admin Processes

    These updates make an admin’s day-to-day work more streamlined, automated and convenient when it comes to getting things done.

    ● Configure Searchable Objects: This update allows admins to determine searchable objects available by Profile. This will allow users to broaden their search capabilities of records and more quickly and easily find what they need. For example, you can search for a picklist value and see all the records with that chosen value. Users, especially those in larger organizations, have been wanting this as it will streamline their process for customers. *This is in beta.
    ● Refine Your Search Results With Sort: Another win in the Search department – now you can sort your searches by different attributes and column headers. A nice “sigh of relief” feature for users, allowing them to find what they need faster. *Created because of users’ input on IdeaExchange.
    ● Dynamic Forms on Standard Objects: Administrators will very much appreciate this update as it streamlines the admin process with enhanced page performance and optional visibility rules. This will be rolled out everywhere except in three areas: Campaigns, products and tasks (though we really look forward to when this will be available here.) *Created because of users’ input on IdeaExchange.

    AI

    Since Einstein was introduced to the Salesforce community, it has helped users work smarter and faster, which is why seeing some of these key updates come to light, as noted below, has been a game-changer for many.

    ● Ability to Report on Emails Captured by Einstein Activity Capture (EAC): When EAC was first introduced, it was a huge weight off of admins because there was no more logging and it helped synchronize all conversations in one place. Over time, you couldn’t access or report on the data because it lived outside of SF, so you couldn’t compare it to other data in Salesforce, i.e., how many conversations does it take to close a deal? However, with this new update, you can! This is an enormous feature gap that has been filled, and will ultimately save people time and money as many would outsource this work to third-party vendors. *Created because of users’ input on IdeaExchange.● Call Summaries Powered by Einstein: This is fully available, and just a generally cool feature where Einstein will record voice and video calls and transform them into summaries that are editable and include next steps and customer feedback.
    ● Conversation Sentiment Analysis: This feature goes hand in hand with the call summaries because now, customer success agents can listen and view sentiments of a conversation between agent and customer, distinguishing if they are happy, calm, disgruntled, etc. There’s a sentiment score and visuals provided for easy reporting as well. This is a great feature for agent performance grading and identifying coaching opportunities.

     

    Flows

    Flows continues to be a priority and focus for Salesforce, and they certainly delivered on giving users what they want with these improvements.

    ● Screen Flows With Reactive Components: Users and developers will very much appreciate this update as it reduces the number of screens they have to click through. With reactive components, the user interface can react to the user and what it puts on the screen. Previously, in order to use the choice a user selected, you’d have to click “next” for it to recognize and load the next screen. This could turn into three to four “next” clicks to get where you need. Now, the choice can be calculated on the fly and the dependent choice will appear below, without the need for extra click-throughs!
    ● Custom Error Messages in Record-Trigger Flows: What was once an automated feature, now puts the user in the driver seat. With a custom error message, you can now create targeted – and user-friendly – error messages for your customers and explain what went wrong and/or how to correct it. This is a big win in our opinion, which will not only save the end user headaches and blockers but will also save your admin or consultant time researching where and what happened. This is now generally available – during the Summer release, this was still in beta. *Created because of users’ input on IdeaExchange.
    ● Autolaunched Flows Based on Data Changes in Data Cloud: Based on a data model object or calculated insight object, you can start a data cloud-triggered flow. This allows you to apply flows to your data cloud, storing all of your business data, and of course Salesforce data too.

    Callouts

    It wouldn’t be fair to close out the review of this release update before highlighting a few noteworthy callouts that will surely resonate with certain users, which include:

    ● Automated Site Check-Ins and Check-Outs: For mobile workers, this new feature protects their privacy while also tracking the times they arrive and leave job sites. It provides automated timestamps for location-based actions and gives you a report based on those insights. This is being piloted so not fully available yet.
    ● Controlled Tabs and Sub-Tabs: This change is currently in beta, but will resonate with the day-to-day user as it makes it immensely easier to manage these tabs with the methods they provide.

    There’s a lot to experience and discover within the Winter ‘24 release, from increased workflow to automated operations; any user will be happy. But Salesforce also delivered for its users. Many of the ideas posted on IdeaExchange are now reflected in these new features, which just goes to show that Salesforce is listening. Let’s continue using these innovations and work with Salesforce to continue bettering the overall experience for us and our customers. We can only imagine what Salesforce will conquer with the Spring ‘24 release!