Intro to DevOps Pillars with AWS Cloudformation

Fajri Abdillah
fajri @ [horangi.com, serverless.id, myedisi.com]
Road to DevOpsDay Jakarta 2020

Agenda

About me

DevOps - What?

DevOps - Why?

DevOps - Pillars

Cloudformation Demo

About Me

Software Engineer at Horangi Cyber Security

Currently, build the 5th saltwater tank

I don't have any AWS certification (yet)

Learn AWS the hard way

DevOps - What?

DevOps is a set of practices that automates the processes between software development and IT teams, so that they can build, test, and release software faster and more reliably

A running well DevOps culture would result in a great product that is stable and increasing its value

At its essence, DevOps is a culture, a movement, a philosophy

DevOps - Why?

Teams that practice DevOps deploy 30x more frequently, have 60x fewer failures and recover 160x faster. — Puppet Labs 2016 State of DevOps Report

You can innovate faster than your competitor because you release more frequent

Faster feedback from your customer

DevOps - Pillars

Continuous Integration

Continuous Delivery

Continuous Deployment

Infrastructure as a Code

Monitoring

Logging

Communication & Collaboration

Continuous Integration

Development practice where developers integrate code into a shared repository frequently

Each integration can then be verified by an automated build and automated tests

One of the key benefits of integrating regularly is that you can detect errors quickly and locate them more easily

Example: Jenkins, AWS CodeBuild

Continuous Delivery

Development practice of keeping your codebase deployable at any point

Usually combined with CI and resulting in a build artifact

Example: Elastic Beanstalk deploy, serverless deploy

Continuous Deployment

Development practice of keeping your codebase automatically deploy when it pass all test

When this practice applied on Dev environment, the developer can see their changes live

Example: AWS CodePipeline and AWS CodeDeploy

Infrastructure as a code

Practice in system architecture where resources is define in a code

Easily replicating the whole infrastructure

You can create the whole infra with 1 button push

You can destroy the whole infra with 1 button push

Example: AWS Cloudformation, AWS CDK, Terraform, Pulumi

Monitoring

A product / system must be monitored to understand itself

With this practice, you can react faster

Business is depends on this practice

Example: AWS Cloudwatch, Prometheus, Grafana

Logging

We don't really care when everything goes well

We really care when everything goes not well

Centralized logging is needed in microservice

Example: AWS Cloudwatch logs, ELK Stack

Communication & Collaboration

The result of good DevOps practice would increasing this aspect

Not only between developers, but also with marketing, operations and another team

Horangi use slack extensively

Example: Slack, Hipchat, JIRA, Trello, Pivotal Tracker

Cloudformation Demo

Thank You

Join our Facebook Group : Serverless Indonesia
Our Medium Publications : Serverless Indonesia
Our u(n)pdated Blog : blog.serverless.id