Tagdevops

DevOpsDays Istanbul 2016 Ignite

Facebooktwittergoogle_pluslinkedinmailby feather

My ignite link during the conference is here.

Docker –link

Facebooktwittergoogle_pluslinkedinmailby feather

I was trying to find a use-case of the "–link" functionality in Docker in terms of a "Service Discovery" perspective and i found the following repo:

https://github.com/benschw/docker-service-discovery-with-links

Seems some way through… I will be going deeper, any comments are appreciated….

 

AVEA – Turk Telekom DevOps Presentation and Webinar

Facebooktwittergoogle_pluslinkedinmailby feather

I am invited to Avea Technology Campus to make a presentation about DevOps Mindset which is also broadcasted as webinar to all Turk Telecom employees.

We discussed some of the pain points they are experiencing and possible ways to overcome those.

Avea Turk Telekom DevOps

Avea Turk Telekom DevOps

DevOps Presentation @Turkcell

Facebooktwittergoogle_pluslinkedinmailby feather

 

I was invited by "Açık Kaynak Yazılım Paylaşım Gurubu" (Open Source Software Sharing Group), to perform a DevOps Presentation, which is a community inside Turkcell Technology

It was exciting to make a presentation to the company which i worked between 2003-2007.

The attendees were high-tech profile and there was a group which almost concluded the workshop targets only within two iterations.

Here are some images:

Turkcell_Devops_01Turkcell_Devops_03

 

Turkcell_Devops_02

turkcell_devops_04turkcell_devops_05

DevOps Workshop @kodcu.com

Facebooktwittergoogle_pluslinkedinmailby feather

 

I was invited last thursday to Koc Incubation Center by kodcu.com to perform a DevOps workshop.

The crowd was big enough to form 6 different teams, each about 6-10 people.

During the workshop, there was so many suggestions to the Development Pipeline including:

Cucumber

Sonar

Blazemeter

SauceLabs

kodcu_devops01

kodcu_devops02kodcu_devops03kodcu_devops04

DevOps Seminar @IstanbulCoders

Facebooktwittergoogle_pluslinkedinmailby feather

 

My DevOps workshop and real-world example from AWS Elasticbeanstalk during the IstanbulCoders weekly meetup.

We have run 4 iterations during which i provided new requirements as product owner, guiding the teams to develop a Deployment Pipeline.

By the end, most teams achieved to the goals:

– Automated provisioning

– Performance testing

– Automated Acceptance Tests

including the specific technologies they selected.

Just the requirement "Automated Security Testing" remained open…

The presentation link is here

 

IMG_0949 IMG_0944 IMG_0951 IMG_0954 IMAG0825 IMAG0824

 

Istanbul Lean Startup DevOps Presentation

Facebooktwittergoogle_pluslinkedinmailby feather

 

I was invited by Istanbul Lean Startup Meetup Group, together with the sponsorship of Agile42, to present the DevOps approach to their community. 

DevOps is the mindset i have encountered in my latest projects. I involved into automation of the deployment for the latest Java based project DigOut i worked on using AWS Elastic Beanstalk and Jenkins.

Here is the presentation link: Presentation

Here are some pictures:

Derya Sezen DevOps Presentation

Derya Sezen DevOps Presentation

 

Dilemma about when to feed the data during automated deploys: Code First vs. Model First

Facebooktwittergoogle_pluslinkedinmailby feather

In case you are supposed to feed the initial data to the DB for a code-first project during deploy-time (There are possible ways to do it in the code level of course), there is a problem: You do not know when the database schema is created even if you start the service.

In my case, i have Tomcat environment and i cannot feed the data just after i start the tomcat service. There can be two ways to workaround that:

1. Polling: Check periodically if the schema is created and after feed the data

2. Sleep: Observe the worst-case time and put a "sleep" before the data feed scripts

If there are other practical ways to do that during deploy-time and out of the codebase, please comment!

AWS Elastic Beanstalk how to access to the RDS environment variables under ebextensions and postdeploy hooks

Facebooktwittergoogle_pluslinkedinmailby feather

As a beginning, just to let you know, it is now my 54th deployment (which means around a week) using ebextensions in order to reverse engineering how it works in terms of environment variables!

The RDS environment variables are:

– RDS_USERNAME

– RDS_PASSWORD

– RDS_HOSTNAME

– RDS_DB_ NAME

The weird part is, accessing to those environment variables under the following 3 scenarios are different:

1. Directly under ebextensions : This is not possible !

2. Under the scripts triggered by ebextensions : This is possible, you can use them like $RDS_HOSTNAME …

3. Under the hooks  : This was not possible but here is the workaround that i found and worked for my case:

– Store them under a file using a script trigged by ebextensions:

echo RDS_HOSTNAME=$RDS_HOSTNAME >> /etc/environment
echo RDS_USERNAME=$RDS_USERNAME >> /etc/environment
echo RDS_PASSWORD=$RDS_PASSWORD >> /etc/environment

– Parse them from the hook:

RDS_HOSTNAME="$(awk -F= '/RDS_HOSTNAME/{print $2}' /etc/environment)"
RDS_USERNAME="$(awk -F= '/RDS_USERNAME/{print $2}' /etc/environment)"
RDS_PASSWORD="$(awk -F= '/RDS_PASSWORD/{print $2}' /etc/environment)"

What a nasty solution but works!

 

AWS Elastic Beanstalk ebextensions Security Group firewall rules

Facebooktwittergoogle_pluslinkedinmailby feather

In order to define the firewall rules of the Security Group that the instance will belong to, you need to define the “Resources” like as the following:

Resources:

  AWSEBSecurityGroup:

    Type: “AWS::EC2::SecurityGroup”

    Properties:

      GroupDescription: “Security group to allow HTTP, HTTPS,SSH”

      SecurityGroupIngress:

        – {CidrIp: “0.0.0.0/0”, IpProtocol: “tcp“, FromPort: “8080”, ToPort: “8080”}

        – {CidrIp: “0.0.0.0/0”, IpProtocol: “tcp“, FromPort: “8443”, ToPort: “8443”}

        – {CidrIp: “0.0.0.0/0”, IpProtocol: “tcp“, FromPort: “443”, ToPort: “443”}

        – {CidrIp: “0.0.0.0/0”, IpProtocol: “tcp“, FromPort: “80”, ToPort: “80”}

        – {CidrIp: “0.0.0.0/0”, IpProtocol: “tcp“, FromPort: “22”, ToPort: “22”}

Save the “resources.config” under “.ebextensions” folder and deploy!

      


visited 41 states (18.2%)

Follow me on Strava