Legacy in Your Cloud: Top AWS Unmanaged Resources That You Should Know About

Cloud operations are complex. There are a lot of reasons for this complexity, but in this post, I want to focus on how resources and services are managed in today’s clouds. Cloud today is oftentimes comprised of a large number of heterogeneous resources that have altogether different methods for managing them.

This diversity of resources is in large part the byproduct of cloud practices that predate infrastructure as code (IaC). Before automation and IaC, many companies would configure resources and services manually, without any alignment to best practices, based on internal processes that are unique to the organization. As companies evolved, and adopted IaC for codifying and managing cloud resources, this created a mishmash of services that are managed and unmanaged. 

IaC Hot Reload With Pulumi Watch

Do you like using hot reload when developing applications? How about using hot reload when developing the cloud infrastructure of an application? Keep reading because that's what we are going to talk about.

Developing and Deploying Cloud Infrastructure

When doing Infrastructure as Code for a cloud application we usually do the following steps:

API Gateway to EventBridge With Pulumi

If you’re familiar with Amazon API Gateway, you know it’s all about making it easier to provision and manage a web API. Maybe you’ve used it, as I have, with Crosswalk, our AWS extension library, to stand up a REST API and handle requests with AWS Lambda functions:

 
import * as awsx from "@pulumi/awsx";

// Create a new API Gateway instance.
const api = new awsx.apigateway.API("my-api", {
    routes: [
        {
            // Define an HTTP endpoint.
            method: "GET",
            path: "/things",

            // Handle requests with an AWS Lambda function.
            eventHandler: async (apiGatewayEvent) => {
                return {
                    statusCode: 200,
                    body: JSON.stringify([
                        "thingOne",
                        "thingTwo",
                    ]),
                };
            },
        },
    ],
});

// Export the API's public URL. 
export const apiUrl = api.url;


How To Integrate Infracost With Terraform Cloud

Running infrastructure at any scale almost always guarantees a dizzying array of components and configurations. To further complicate things, different teams within an organization may need similar infrastructures with slight variations. Additionally, that infrastructure may be spread over multiple topographies, from on-premise to one or more cloud vendors.

Terraform is Hashicorp’s service offering that can provision infrastructure across multiple clouds and on-premises data centers, in addition to safely and efficiently re-provisioning infrastructure in response to configuration changes. 

Infracost: How to Get Started

Infracost is an open-source project released in June 2020 on their 0.1.0 version. It was created by cloud computer experts Hassan Khajeh-Hosseini, Ali Khajeh-Hosseini, and Alistair Scott. They have been working with cloud technologies since 2012 by providing solutions to tech giants such as Sony, Samsung, and Netflix.

Working with cloud providers and DevOps is all about speed, efficiency, and cost management. However, the cost of infrastructural changes can be challenging to gauge. A deployment that shifts allocated resources may lead to a displeasing bill at the end of the month.

What is GitOps?

Introduction

Solutions that assist teams and companies in speeding up the process of continuous deployment in cloud environments are constantly improving as DevOps continues to gain more popularity.  One of the tools that DevOps veterans and novice professionals all know and trust that is behind the growth of DevOps is Git.

Essentially, since 2017 when the GitOps movement to manage Kubernetes clusters began, there has been a considerable push for automation of software development. It reduces human error, improves the reliability of software deployment pipelines', and empowers DevOps folks to deploy more, gather better analytical data, and correct errors faster.

What Is Open Policy Agent and How It Works

Open Policy Agent is an open-source engine that provides a way of declaratively writing policies as code and then using those policies as part of a decision-making process. It uses a policy language called Rego, allowing you to write policies for different services using the same language.

OPA can be used for a number of purposes, including:

The Coding SysAdmin

In announcing the now-complete $1.2 billion megamerger between McAfee and FireEye last week, CEO Bryan Palma slipped in the comment that the way forward with security and modern system management is automation, saying,

"There's just no way that people can keep up, and we're seeing that. We've got nation-states now involved in making attacks, and that's very concerning because they obviously have very strong capabilities."

Why Should You Leverage Infrastructure as Code?

In a typical infrastructure build, developers and IT operation teams work coherently to plan, code, develop, and deploy application infrastructure by creating multiple instances and environments to code, test, and run their applications in. However, many complications can arise during the manual development and operations processes within such a build pipeline. Human fallibility is inevitable in any scenario where repetitive manual processes are the norm and everyone is guilty of making mistakes at work; dev and ops engineers are no different. The consequences of such mistakes are that the build process takes more time, energy, and resources to identify and fix errors in the pipeline so the whole process is affected, delayed, and more costly than planned. 

As part of this typical infrastructure build pipeline, development and operations teams are also responsible for individually maintaining multiple deployment environments. Managing multiple environments is a further difficulty to shoulder with each of them operating to its own configuration settings. 

Five Different Ways to Build AWS Infrastructure

AWS cloud architecture solutions require infrastructure to run your platform solutions. Infrastructure includes compute technologies, databases, queues, and more. Each needs to be specified and built before turning on your platform solution. 

There are many different ways you can choose to build your AWS infrastructure. Each method has its benefits and drawbacks that should be known before choosing how to create your production platform.

VPC Auto Scaling and Dedicated Hosts with Terraform

Following the step-by-step instructions provided in this new solution tutorial, you will provision an IBM Cloud Virtual Private Cloud (VPC) with subnets spanning multiple availability zones (AZs) and virtual server instances (VSIs) that can scale according to your requirements to ensure the high availability of your application. Furthermore, configure load balancers to provide high availability between zones within one region. Configure Virtual Private Endpoints (VPE) for your VPC providing private routes to services on the IBM Cloud.

Isolate workloads by provisioning a dedicated host, attaching an encrypted data volume to a VSI, and resizing the VSI after the fact.

Anticipating Your Business Problem With Infrastructure as Code in DevOps

With the advent of cloud automation technology, infrastructure as code (IaC) obtains the ability to turn complex systems and environments into a few lines of code that can be deployed even at the click of a button. This new IT infrastructure also automated dev/test pipelines, which provide a rapid feedback loop for developers and rapid deployment of new features for end-users.

The above facts indicate the core best practices of DevOps — like virtualized tests, version control, and continuous monitoring — come to the underlying code, which governs the formation and administration of your business infrastructure. In another way, you can also say infrastructure will be considered the same way that any other code would be.

Continuous Configuration Essentials

Continuous configuration occurs when a configuration platform is used to automate, monitor, design, and manage otherwise manual processes, which are essential components of improving the overall efficiency and success of your team's SDLC. There are several areas to prioritize in a continuous configuration methodology — the right tools for building a continuous deployment pipeline, effective pipeline maintenance and management, and, of course, widespread automation.

In addition to covering key benefits of continuous configuration, our Refcard details specific concepts and foundations of this modern approach to DevOps, including build automation, infrastructure as code, configuration monitoring and management, enforcement in CI/CD processes, and more!

Automating Your Enterprise Infrastructure: Part 2: Cloud Infrastructure as Code in Practice (AWS Cloud Formation Example)

Given that you went through Part 1 of the Infrastructure automation guide, and you already know basic Infrastructure as Code and AWS Cloud Formation concepts, we can proceed with getting some hands-on experience!

Note that in this article, we’ll build Infrastructure as code scripts for the infrastructure described by Michal Kapiczynski in the series of mini-articles.

Messaging in AWS Using SNS and SQS

There are two main communication paradigms in event-driven architectures used in microservices design. 

  • Queueing provides a messaging system to integrate two different services.
  • Publish/subscribe messaging is a form of asynchronous service-to-service communication used in microservices architectures. In contrast to queueing, publish/subscribe messaging allows multiple consumers to receive each message in a topic. 

They allow us to de-couple producers and consumers of messages. By combining publish/subscribe messaging systems with queueing systems, we can build fault-tolerant, scalable, resilient, and reactive application architectures. Amazon Web Services (AWS) offers a number of services which provide these two communication paradigms. In this article, we will learn how to program AWS services – Simple Notification Service (SNS) for publish/subscribe messaging and Simple Queue Service (SQS) for queueing using AWS SDK in Java.

5 Emerging DevOps Trends to Watch in 2021

It goes without saying that 2020 was a unique year in our history.

COVID-19 turned our world upside down and fundamentally changed how our world operates. At NextLink Labs, we have witnessed many of these changes firsthand. We have seen companies go through acceleration in their digital transformation, specifically in the area of DevOps.

GitOps – DevOps for Infrastructure Automation

GitOps offers a way to automate and manage infrastructure. It does this by using the same DevOps best practices that many teams already use, such as version control, code review, and CI/CD pipelines.

Companies have been adopting DevOps because of its great potential to improve productivity and software quality. Along the way, we’ve found ways to automate the software development lifecycle. But when it comes to infrastructure setup and deployments, it’s still mostly a manual process.