Your Privacy

This site uses cookies to enhance your browsing experience and deliver personalized content. By continuing to use this site, you consent to our use of cookies.
COOKIE POLICY

Infrastructure without Incident

Infrastructure without Incident
Back to insights

Tech Spotlight: Terraform

Like a lot of software engineers, I started my career getting familiar and supporting other people’s code, application design and setup. Trial by fire was the way of a junior developer trying to prove he has what it takes to contribute to the broader project. “One of the best ways to get up to speed is to fix bugs and support the app” was the message from the tenured few who built the brick house our customers where reliant on and paying us to maintain. But one thing I learned quickly was that this was a house of lies! Okay, maybe not lies but things behind the scenes were definitely not as smooth operating and stable as indicated by our team and project leads. I can remember one day looking through server configuration and noticing a lot of unusual settings like open file systems permissions, high timeout settings, etc… and asking about them led to abrupt moments of “Don’t touch that” it’ll probably break something but no one ever seemed to know why or remember the impetus that led to the current state of things.

Fast forward to 2016 and while many of you will still likely sympathize with this sort of state of function I’ve been continuously looking for better ways to document and shed light on the bowels of my applications’ infrastructure. Everything from from maintaining wiki’s, doing our best to follow best practices but still often caught in a moment of downtime where we jump in and make changes, tweaks to get things up and running again only to further clutter the landscape for which we rely so heavily on for stable applications. As the head of a technology team within an industry that changes often and is busy building and serving clients needs day in and day out we needed a better way.

Queue our most recent dive into a new technology, Terraform. With Terraform we’ve been able to fully automate the build, setup and configuration of cloud environments with all major providers, AWS, Azure, etc… Even more, Terraform provides the ability to fully comment the scripts for clarity and check them in and out of source control so we have a controlled history of all builds and releases; making it a real game changer. With our move to Terraform we’ve also instituted a strong “No Touch” production support model in which all environments following the “Immutable Server” (unchangeable) practice forcing us to keep focus on improving, tweaking and maintaining only our master Terraform environment scripts. This practice alone can dramatically reduce your downtime / interruption due to environment changes, patches or worse. The number of value adds go well beyond just the maintenance and tracking of changes. Take another scenario in which we have dev environments that we know we’ll only actively use during business hours. With Terraform we’ve been able to pair it with our automation practices to automatically build and destroy our non prod environments on demand, reducing cloud waste and ultimately saving money. While we understand that this sort of approach may be a major shift, many of our clients are excited about the possibilities it provides in helping projects run on infrastructure without incident.

If you are looking for a better way to manage your cloud environments, create a history of builds and releases, all while minimizing cloud waste, we’d love to talk about our experience with Terraform and help you design a solution.

About The Author

Andrew Duncan is a Director of Software Engineering in Richmond, VA. He is a driven technologist focused on modern technology stacks and best practices. Andrew believes nothing is more rewarding than making software needs a reality with a focus on flexible, scalable and supportable code.

Digging In

  • Digital Products

    Unlocking Business Potential: The Power of Custom Application Development

    Like any savvy business leader, you’re likely always on the lookout for tools to give your company a competitive edge. And in doing so, you’ve undoubtedly considered investing in custom application development. But the question is, how do you ensure that such a major investment in a custom web application development provides a strong return on […]

  • Digital Products

    Mastering Legacy Application Modernization: Strategies for Success

    The ironic truth of the business world is that change is the only constant. But this means that failing to keep pace with the competition and its technologies will only end with you falling behind. That’s where legacy application modernization enters the fold. When you modernize legacy applications, your team gains access to new features […]

  • Digital Products

    CTO Confessions Podcast

    In this episode of CTO Confessions, Rob Phillips, the Vice President of Software Engineering at UDig, digs into his journey from a passionate technologist in his youth to a seasoned leader in the tech industry. He shares valuable lessons on transitioning to senior leadership, the importance of understanding and articulating company problems, and the art of empowering teams for high performance.

  • Digital Products

    Navigating the Challenges of On Premise to Cloud Migration

    In today’s rapidly evolving technological landscape, the shift from on premise solutions to cloud-based infrastructure has become a pivotal transformation for organizations seeking to modernize their IT operations. This transition holds the promise of increased agility, cost savings, and enhanced scalability. However, it is not without its set of formidable challenges that organizations must navigate. […]

  • Digital Products

    The Power of Transferrable Skills in Tech Projects

    Every project has its own unique elements that require flexibility to be effective and achieve success. This often requires picking up new pieces of a tech stack, learning a new programming language, or a new project methodology. Fortunately, there are also many transferrable skills that carry over from one project to the next. In my […]

  • Digital Products

    The Four Pillars of Effective Digital Product Development

    In 2020 alone, approximately two billion consumers purchased at least one digital product. From software licenses to mobile apps and tech tools, consumers are becoming increasingly active in the digital product market, a trend that has naturally spurred brands across a wide range of industries to reevaluate their digital product design and development process workflows. […]