Automating Lambda modules deployment with GitLab CI

While working with terraform lambda modules, I had a hard time finding out the best repository architecture to automate my lambdas deployment. I couldn’t find any article that I could use as a guideline, that’s why I’m writing this article.

While working on big projects, project organization is a must-have. In this story, you will be presented to one way to organize your repositories so that it facilitates the deployment procedure, making it much more scalable.

In this article, we’ll be building the following repositories architecture:

  • Lambda-Module: Repository containing the Terraform Lambda module.
  • Lambda-Infra: Repository containing Terraform code for deployment into AWS.
  • Lambda-Code: Repository containing the lambda code for deployment using Gitlab-CI.

Lambda Module

As defined by HashiCorp:

A module is a container for multiple resources that are used together.

Using terraform modules solve problems like organize configuration, encapsulate configuration, re-use configuration and it provides consistency and ensure best practice.

We’ll be using an AWS lambda module that can be found in here. I won’t go into details of how to build a lambda module, since it isn’t the main goal of this article.

#aws #lambda #gitlab #terraform

What is GEEK

Buddha Community

Automating Lambda modules deployment with GitLab CI

Automating Lambda modules deployment with GitLab CI

While working with terraform lambda modules, I had a hard time finding out the best repository architecture to automate my lambdas deployment. I couldn’t find any article that I could use as a guideline, that’s why I’m writing this article.

While working on big projects, project organization is a must-have. In this story, you will be presented to one way to organize your repositories so that it facilitates the deployment procedure, making it much more scalable.

In this article, we’ll be building the following repositories architecture:

  • Lambda-Module: Repository containing the Terraform Lambda module.
  • Lambda-Infra: Repository containing Terraform code for deployment into AWS.
  • Lambda-Code: Repository containing the lambda code for deployment using Gitlab-CI.

Lambda Module

As defined by HashiCorp:

A module is a container for multiple resources that are used together.

Using terraform modules solve problems like organize configuration, encapsulate configuration, re-use configuration and it provides consistency and ensure best practice.

We’ll be using an AWS lambda module that can be found in here. I won’t go into details of how to build a lambda module, since it isn’t the main goal of this article.

#aws #lambda #gitlab #terraform

Origin Scale

Origin Scale

1620805745

Automation Management System

Want to try automated inventory management system for small businesses? Originscale automation software automate your data flow across orders, inventory, and purchasing. TRY FOR FREE

#automation #automation software #automated inventory management #automated inventory management system #automation management system #inventory automation

Deploying Your App With ECS & Gitlab CI/CD

For the past few days I have been building a new micro-service at my workplace. Our team decided to automate the deployment process so that whatever we are working on can be used by other teams and the feedback loop would be a lot shorter.

Our goal is to deploy code whenever a Pull Request is merged to the master branch. I will be using AWS ECS and Gitlab CI/CD to solve this.

#docker #aws #deployment #gitlab #automation

Turner  Crona

Turner Crona

1595837400

Automate Deployment to CloudHub using CloudHub Deployer Plugin Jenkins

Introduction

We live in an age, Where DevOps and automation are becoming more and more necessary and important in projects. So uploading packages manually to servers or platforms is not feasible and salable when you work with architecture like micro-services. So to tackle this problem we need to implement Continuous Delivery and Deployment cycle in our project. In this post I will be showing you how to do exactly that with Mule applications.

After creating a basic Mule App, you might be wondering how to automate the process of deploying a Mule App to CloudHub. In this post, I will be introducing a Jenkins plugin(Github Repository) that I published recently that enables this use case.

How it is compared to other solution/tools available with Jenkins:

Mule-Maven plugin - With this approach you are tight coupling you build and deploy process and most of time its not good. And its hard to scale this approach when you have multi environment deployment and many applications to manage. This approach will not work if you just want to do deployment.

This approach will take time and effort to get working automation that meets your project requirement. The CloudHub Deployer plugin itself is built using same API why re-invent the wheel.

What we will accomplish here:

Jenkins release pipeline using both free style and pipeline script that automates your mule application deployment to CloudHub.

Prerequisites:

  1. You will need to have Jenkins instance up and running.
  2. A CloudHub account.
  3. You need to have a already built package to follow along. Since I am not covering CI(Continuous Integration) for mule apps, there are plenty article on internet for that.

#integration #deployment #jenkins #mulesoft #mule #deployment automation #cloudhub #jenkins pipeline #jenkins automation

Microtica vs. GitLab CI | What Are the Differences?

Microtica and GitLab CI both have the goal to efficiently and reliably deliver software in the cloud. Although both tools have similar features, the differences between the core concepts are significant. That’s why it’s difficult to make a Microtica vs. GitLab CI comparison. However, we’ll try to do it.

GitLab CI is GitLab’s tool for software development that uses continuous methodologies like Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CD).

Microticais a low-code DevOps automation platform that enables companies and individuals to adopt cloud much faster. Microtica does that by standardizing the way we develop and release infrastructure and applications in the cloud.

Microtica vs. GitLab CI – Overview

The most significant difference in the Microtica vs. GitLab CI comparison is that Microtica is focused on abstracting complex cloud and Kubernetes integrations supported natively in the platform. At the same time, it provides all core features for optimal CI and CD.

On the other hand, GitLab CI/CD requires the use of additional provisioning tools, and you need to write most of the scripts manually to achieve the same you can do with Microtica.

Another disadvantage with GitLab CI is that it has native support only for its own repos. If your source code is located somewhere else you need to import it into GitLab or build a custom integration.

It also doesn’t offer native integration with cloud providers and Kubernetes. For example, if you want to deploy infrastructure and applications on AWS or Azure, you need to know the specifics of how those cloud providers work. Moreover, you need to have a great understanding of their APIs and what are the limitations.

#ci/cd #knowledge #product #devops #gitlab ci #microtica vs. gitlab ci #tools comparison