Yeniden herkese selamlar. Bu yazımızda AWS Lambda fonksiyonumuz için gerekli ortam değişkenlerini güvenli bir şekilde saklama ve kullanma yöntemlerinden biri olan Lambda middleware kullanımını AWS Secrets Manager servisi ve Middy kütüphanesini kullanarak inceleyeceğiz.

Motivasyon

  • Lambda ortam değişkenlerini fonksiyon tanımında kullanmamak ve böylece bu değişkenleri gizli hale getirmek
  • AWS Secrets Manager kullanarak, Lambda fonksiyonlarınızın kullandığı ortam değişkenlerini ortak bir noktadan yönetmek
  • Middy kütüphanesini kullanarak Lambda middleware’leri hazırlamak

Neler Gerekli

Uygulamaya geçmeden önce gerçekleyeceğimiz mimariyi aşağıdaki şekil yoluyla kısaca bir anlayalım.

Secure Lambda Functions

API Gateway’den yapılan bir istek, ana fonksiyona girmeden önce Middy ile sarılmış bir fonksiyondan geçerek ilgili ortam değişkenlerini AWS Secrets Manager servisinden alır ve sonrasında ana fonksiyon tetiklenir. …


Herkese merhaba, ben Azmi Mengü. Medium üzerindeki ilk blog yazım ile karşınızdayım. Uzun yıllardır yazılım sektöründe edindiğim tecrübe ve birikimleri belirli aralıklarla sizlere aktarmaya çalışacağım.

Bu yazıda Amazon RDS servisindeki bir veritabanımıza, AWS IAM servisini kullanarak, uygulamalarımızın daha güvenli bir şekilde bağlantı kurmasını sağlayacağız. Uygulama örneğini ise Node.js ile gerçekliyor olacağız.

Motivasyon

  • Veritabanı bilgilerini uygulamalar ile paylaşmamak
  • Veritabanı erişimlerini AWS üzerinden ve kullanıcı bazlı anlık olarak kontrol edebilmek

Neler Gerekli

  • AWS hesabı
  • AWS CLI
  • Amazon RDS üzerinde koşan bir veritabanı (PostgreSQL ya da MySQL kullanabilirsiniz)

Uygulamaya geçmeden önce gerçekleyeceğimiz mimariyi aşağıdaki şekil yoluyla kısaca bir anlayalım.

Connect Amazon RDS with AWS IAM

Önceden uygulamalarımız veritabanına bağlantı sağlarken; host, kullanıcı adı ve şifre kullanarak bağlantılar sağladığını düşünelim. …


I use AWS, Azure, and DigitalOcean for my business for over two years, and also I’m a co-organizer of Cloud and Serverless Turkey community. So I know about AWS, Azure, and DigitalOcean. Among these cloud providers, I use AWS the most. I think we use over 30 different services for image4io. And we are also an entry-level Technology Partner of AWS with 4AI Information Technologies. So I decided to prove myself with AWS certificate will be nice for both my personal career and my company’s proven abilities.

TL;DR

The exam was not that hard but the process before that is stressful. These are a few study sources (links) below. …


I know most of us just want to dive into development when we see new tool or framework. But then there is so many comebacks for things that we need to do at the beginning. In this post I will describe my working environment for development of Workers.

IDE (Integrated Development Environment)

I usually use Visual Studio Code. It has great extension library but you don’t need anything special for now. You can download it here. https://code.visualstudio.com/

Cloudflare Wrangler

Wrangler is a CLI tool designed for development of workers. Here is its homepage. And you can find GitHub page here.

Quick Installation of Wrangler

npm i @cloudflare/wrangler -g

That is for installation but you need to configure your environment for publishing. The configuration file is created in a .wrangler directory in your computer's home directory. You need to add account email and global API Key to this file. …


A picture of me from 2 years ago looking at AWS Lambda’s future.

Two years ago on June 2018, I gave a talk in Devopsdays Amsterdam (video recording and slide deck). I remember that talk like it was yesterday because I was on stage in front of some of the best names in DevOps. I was very excited.

My talk was about the problems we were having with AWS Lambda and our workarounds for them.

Recently, in our meetup, we talked about Lambda’s challenges again. As we talked, I realized that almost everything I mentioned in Amsterdam has been addressed by the AWS Lambda team. Impressive job!

The reason I wanted to write this post is that a lot of people who tried AWS Lambda 2 or 3 years ago, probably have some bad memories — and may still insist on Lambda not being prod ready. …


How AWS Cloud’s global infrastructure empowered us through our journey

The Cloud helps us move fast, reduces time to develop & ship, and eventually saves us time and money. But we often forget about how the cloud helps us build reliable apps. Modern applications need to be always-on and the cloud plays an important role in achieving this critical requirement.

Adrian Hornsby covers this topic pretty well in his recent blog posts on operational excellence at Amazon.

In this blog post, as an avid AWS user and advocate, I want to take a closer look at a specific, often overlooked, aspect of the Cloud’s reliability promise: Global Infrastructure.

We, at Opsgenie, started our life on AWS in 2012. We used a lot of different AWS services and often wrote about them. SQS, EC2, VPC, Lambda, SNS, RDS, DynamoDB and more AWS services help us offer a service with five nine’s of availability. Having access to global infrastructure plays an important role in this. Let’s see how. …


Azure Functions, altyapıyı açıkça sağlamak veya yönetmek zorunda kalmadan isteğe bağlı kod çalıştırmanızı sağlayan, sunucusuz bir bilgi işlem hizmetidir. Bu yazıda, .NET Framework kullanarak Visual Studio ile bir ‘Merhaba Dünya’ uygulaması oluşturacağım.

Source Repo! Bağlantıdaki GitHub reposunda bu gönderinin .NET Framework’ünde yazılmış tam çalışan kodlarını bulabilirsiniz irensaltali/AzureFunctionsHelloWorld

Kurulum

Visual Studio’daki Azure Functions üzerinde çalışmak için önce VS’e Azure Development workload’u dahil etmeniz ve Azure Functions and Web Jobs Tool isimli aracı yüklemeniz gerekir.

Visual Studio Installer’ı açın ve Azure Development workload’u yükleyin.

Daha sonra Visual Studio’u açın ve Tool > Extensions and Updates… > Online’a tıklayon, açılan pencerede ‘Azure Functions’ diye arama yaparak aracı bulun ve indirin. …


Azure Functions is a serverless compute service that enables you to run code on-demand without having to explicitly provision or manage infrastructure. In this tutorial I’ll create a ‘Hello World’ application with Visual Studio using .NET Framework.

Source Repo! You can find fully functional sample built on .NET Framework of this post at GitHub repository irensaltali/AzureFunctionsHelloWorld

Setup

In order to work on Azure Functions in Visual Studio you need to first include Azure Development workload and install Azure Functions and Web Jobs Tool for VS.

Open Visual Studio Installer and install Azure Development workload.

Then launch Visual Studio, go to Tool > Extensions and Updates… > Online, search for ‘Azure Functions’ and click Download. …


Serverless ne demek ve ne gibi faydalar sağlar sorularına önceki yazılarımda cevap vermeye çalıştım. En az diğer sorular kadar önemli bir soru da, ne zaman Serverless ortamları kullanmalı, ne zaman kullanmamalı?

Bu kadar çok yazılım dilinin, geliştirme ortamının ve bunları destekleyici aracın bulunduğu ortamda önemli olan, işimizi kolaylaştıracak, hızımızı arttıracak ve bunları sadece kısa vadede değil uzun vadede de yarara dönüştürecek ortamları seçmek.

Serverless ortamlar bazı limitlerden dolayı aşağıda belirteceğim tipteki uygulamaları geliştirmek için uygun değil. Yine ortamın getirdiği bazı avantajlardan dolayı belli tip uygulamalar için ise adeta biçilmiş bir kaftan.

Ne zaman kullanmamalısınız?

İstemciye çok hızlı cevap dönmeniz gerekiyorsa

Serverless ortamlarda container reuse diye bir kavram var. Bu kavram çok kısaca her istekte yeni container yaratmak yerine boşta container varsa onu kullanmak demek. Tabi bunların hiçbirinden haberiniz yok, arka planda halledilen şeyler. Yeni bir event geldiği zaman arka planda yeni bir container oluşturulması ve özellikle JAVA dili kullanıyorsanız class-loading kaynaklı bir gecikme yaşanmakta. Bu gecikme sizin fonksiyonunuzun paket büyüklüğüne ve yaptığınız işlere göre değişiklik gösteriyor. Ancak özellikle hızlı cevap dönmeniz gereken bir durum söz konusu ve cevap dönme süresi için bir SLA (Service Level Agreement — Hizmet Düzeyi Sözleşmesi) sunacaksanız Serverless başınızı ağrıtabilir. …


Bir önceki yazım olan Nedir bu Serverless’ın devamı olarak yazıyorum bu yazıyı. Herhangi bir bağlantı olmasa da Serverless hakkında bilginiz yoksa önce Nedir Bu Serverless yazısını okumanızı tavsiye ederim.

Önceki yazımda belirttiğim iki soruya;
- Hangi problemleri çözer/kolaylaştırır?
- Faydaları nelerdir?
bu yazıda yanıt vermeyi hedefliyorum.

Neden bu Serverless? sorusunun cevabı ise en önemli olduğunu düşündüğüm şu başlıklar altında topladım:

  • Daha az operasyonel karmaşıklık
  • “Gerçekten” kullandığın kadar ödeme
  • Hızlı prototip hazırlayıp, uygulamaya koyabilme
  • “Gerçekten” otomatik ölçekleme

Daha az operasyonel karmaşıklık

Eğer canlıda herhangi bir uygulama çalıştırdıysanız, yazılımın kod yazmaktan çok daha fazlası olduğunu biliyorsunuzdur.

  • Kodun çalışacağı ortamı/sunucuları hazırlamak (server provisioning)
  • Kodu dağıtmak (deploy etmek)
  • Logları / metricleri toplamak ve kullanabilmek…

About

Cloud and Serverless Turkey

Turkey’s Cloud and Serverless tech community

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store