Kloia Blog

08 Mar 2019
by ogulcan
Comments are closed



     Behaviour-Driven Development (BDD) is an software development approach that provides the communication between technical and non-technical teams. It is evolved from Test Driven Development and similar with TDD, but BDD mostly deals with the user behavior of the system.

     Karate Framework is an open source tool for API test automation. Tests are written in Gherkin format which is also using for BDD. So even non-developers can be able create api tests for services. Let’s check some of main features of the framework and how API test development became easier with it..

  • API Request Methods

As you know, there is different API request methods such as ‘get’, ‘put’, ‘update’ etc. Calling an endpoint using with API request method is very simple by Karate as below. Just type method name which you need after ‘method’ keyword.

When method GET


When method POST


When method DELETE


When method PATCH


  • Assertion and Validation

Assertions and Validations are the key point of the test processes to check responses or expected results. You don’t make sure that the application is working correctly without the assertions or validations of manual or automated test cases.

At this point, Karate emerges with variety pretty solution to verify test cases.

=> Status Code Check

Then status 200

=> Response field check

And match product.data[0].name == 'We are KLOIANs'

=> Is response contain check

And match response contains {price: 2.5}
  • Reading Files

Reading files is one of very common need in test automation project to re-use or manipulate Payload data, scripts or functions. Especially I’ve faced a need to read and modify DTOs many times in the projects. When focused on reading files, Karate supports to read .json, .xml, .yaml, .js, .csv or .txt data file type.

* def json = read('some.json')

* set json.item[] = 'string'
And request read('product-update-data.json')
  • Calling Feature File or Scenario

Writing same test cases and codes over and over again is a common problem for development . To avoid from writing repetitive scenarios or steps, use “call” method. “call” method can be used for whole feature file or a specific scenario by its tag.

Given call read('call.feature')
Given call read('classpath:[email protected]')

     Nowadays, software testing is becoming more important and resources allocated for testing are increased. With the widespread of microservice architecture, api tests have started to have an important place in software testing.

     Manual tests for api testing are inadequate today. Therefore, we should support the process with automation tests and increase the quality and reliability of the application. At this point the Karate Framework is a simple and very good solution that allows us to easily write automation tests without any extra development cost.

13 Feb 2019
by dsezen
Comments are closed

We are hiring! Inbound Sales Engineer

Kloia is a Cloud and DevOps Solution Provider with the following unique solutions:

Our client base is growing steadily, and we’re looking for a competent inbound sales engineer with exceptional communication skills and technical background to be an amazing first point of contact for the inbound sales process!

This is a Remote role! You can send your applications to career at kloia.com

As a Kloia Inbound Sales Engineer, you will:

  • Answer questions regarding our services, features and capabilities from all leads that are generated by our inbound marketing efforts. This may include leads from our website, contact form, chat, social media or any other inbound contact method.
  • Discuss with sales leads their requirements, needs, and questions via email/ticket and voice communication (Zoom, Skype, Phone, etc.).
  • Provide inside sales assistance to existing clients and Kloia team by custom pricing, generating custom proposals
  • Respond to leads, taking into account their skill level, expectations, and needs.
  • Produce satisfied customers by helping Kloia Team and customers, understanding their needs, demonstrating technical expertise to build trust, and guiding the them to the right service. This role does not mean to memorize keywords or to read from scripts.
  • Monitor trends and provide feedback to the appropriate internal team.
  • Create, standardize, and document sales processes and workflows.
  • Develop relevant skills with research and education.
  • Keep up to date with the trends in Cloud, DevOps and Microservices in the community to understand upcoming changes.


  • Fluent in written and verbal English. We need that you are an exceptional writer.
  • Comfortable jumping on multiple sales calls each day and flexibility to comply with different timezones.
  • Preferably prior experience in a similar role.
  • Must understand the concepts related with Cloud, DevOps and Microservices.
  • Technical experience using technologies such as AWS, GCP, Terraform, Jenkins, Docker, Kubernetes is required. You do not need to be a developer; however, you do need to understand and feel comfortable discussing these topics via both written and verbal conversations.
  • Willing to learn and understand new technical concepts.

Things To Remember When Applying:

We expect you to include a cover letter that points out how you are complying with the requirements in this listing. We would like to hear from your words, how your experience and expertise will provide value to this role. Lastly, let us know what you think about DevOps as a Service in a few words.


  • This is a fully-remote role! You can work from home or anywhere as long as you have reliable internet and a quiet environment for sales calls as needed. You can also work from one of our office at London or Istanbul!
  • This position offers flexibility, responsibility and opportunity for growth for the right candidate.

You can send your applications to career at kloia.com


06 Feb 2019
by dsezen
Comments are closed

kloia Dojo Model: Sharon Bowman 4C

Although we are not a training company, considering that we are following the frontline practices and principles, we were having incoming training requests. As kloia team, we iterated to create an innovative way of delivering the trainings.

“If kloia does it, it is done in kloian-way”

Initially we provided a more “classical” way of delivering the trainings, in didactic, with one-way of communication, from which neither of the parties were fully satisfied. There should be other remaining part of the “Satisfaction puzzle”. As we are from scratch investigating the training domain, we have to find those missing parts!

As a one-way forward, we converted those trainings to a workshop manner where the attendees are given scenarios and steps to achieve to the expected targets. This worked better as the attendees were kinda more engaging to the game. We can easily notice that, as the attendees were not fully committed to the sessions, copying and pasting the introductions provided. But this usually does not result with internalizing the topic. They were not fully engaging and understanding the whole process! Still there was a missing last part, what was that?

During our additional cognitive research, we found that human brain has a complex way of learning process and there is even an interdisciplinary study, called “Cognitive Science” consisting of four disciplines:

  • Psychology
  • Linguistics
  • Philosophy
  • Computer Modelling

Upon to our additional research, we found a model which boosts the “internalizing” process of the human brain: Sharon Bowman 4C

4C model simply consists of the following 4 steps:
1- Connection: The existing connections related with the subject
2- Concept: Related concepts regarding the topic
3- Concrete Practice: An end-to-end exercise(s) related with the topic.
4- Conclusion: The subject learned by this time is summarized in 1 or 2 sentences.

On the top of that, we find a way to convert those workshops into a “Dojo” manner where the attendees are expected to investigate the solution path themselves. So we define “What to do?” and attendees should find “How to do?” .

As interactivity increases, internalizing the topics also increases

As interactivity increases, internalizing the topics also increases

Each Dojo is consists of several Katas, in other words several practices. As by definition, repetitive Katas on the same topics helps the attendees to internalize the topic better.

“Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer. Code Kata is an exercise in programming which helps a programmer hone their skills through practice and repetition”


Here is our Dojo rules:

  1. Less slide, Concepts are discussed on whiteboard!
  2. All hands-on: Everyone is expected to ”code”
  3. No step-by-step instructions, Google it!
  4. We are here as mentors to help you:
  5. Asking question is FREE, Ask it!
  6. Whoever finishes the kata, help the others!


If you are interested to participate to one of our Dojo, please check the following pages:

03 Jan 2019
by onursalk
Comments are closed

kloia achieves AWS DevOps Competency!

London — November 14,2018 — Kloia, a new-era digital transition solution provider, announced today that it has achieved Amazon Web Services (AWS) DevOps Competency status. This designation recognizes that Kloia provides deep expertise on DevOps practices and culture to help customers implement continuous integration and continuous delivery practices or helping them automate infrastructure provisioning and management with configuration management tools on AWS.

kloia AWS DevOps Competency

Achieving the AWS DevOps Competency differentiates Kloia as an AWS Partner Network (APN) member that provides specialized demonstrated technical proficiency and proven customer success with specific focus on Containerization and Orchestration including Kubernetes and EKS, Continuous Integration & Continuous Delivery, Monitoring, Logging, and Performance, Infrastructure as Code, DevSecOps or Consulting. To receive the designation, APN Partners must possess deep AWS expertise and deliver solutions seamlessly on AWS.

28 Aug 2018
by onurgurdamar
Comments are closed

Application Modernization @ AWS Solution Space

Great news everyone!
kloia is now a solution provider at AWS Solution Space!

Our solution to modernize the legacy applications has been accepted for AWS Solution Space platform.

Software development and deployment practices change so frequently which can suddenly turn your software stack into a “legacy”. The consequence of this can be a redevelopment of your software stack “from scratch” which implicitly has opportunity costs and risks. We offer you an alternative way to “modernize” your software stack, keeping your current codebase, applying refactorings and all the latest practices in DevOps.

Our solution provides Application Modernization on AWS using Jenkins, Prometheus, Logz.io, NewRelic, Slack, OpsGenie and TestGenie.

We provide 3 different approaches for helping companies modernizing their legacy applications.

  • .Net Modernization
  • .Net Core Modernization
  • .NET to .NET Core Transition

All 3 approaches include creating all environment using Terraform, creating the pipeline using Jenkins or CodePipeline including CI (Continuous Integration) and CD (Continuous Delivery) practices, logging application diagnostics and reporting, behavior monitoring and alert management.

Solution steps are;

  1. Assessing your current framework and creating an appropriate road map
  2. Enhancing and modernizing the platform architecture
  3. Splitting portable parts from non-movable parts and migrating
  4. Enriching support for foundational, cross-platform applications

You can read more about the solution;
.Net Modernization and .Net Core Modernization

Please go and check our page on AWS Solution Space!

01 Aug 2018
by dsezen
Comments are closed

kloia is now the 3rd biggest Service Provider Company according to Bilisim 500+

kloia, new-era Solution Provider on DevOps, Cloud and Microservices, achieved to be the 3rd biggest Service Provider Company within the Bilisim 500+* category. 

kloia team is growing rapidly and globally, now have customers world-wide, from US, UK, EU, Turkey and Dubai.

Our family is getting bigger every minute, every hour, every day! Thank you for choosing us. Special thanks to Customers who are innovating with us.

* Companies younger than 3 years old



23 Apr 2018
by dsezen
Comments are closed

kloia achieves AWS Competency!

London— April 4, 2018– Kloia, a new-era digital transition solution provider, announced today that it has achieved Amazon Web Services (AWS) Microsoft Workloads Competency — Application Modernization Category as first AWS Partner in EMEA region!

This designation recognizes that kloia provides .NET core transitions with containerization to help customers’ design, migration, deployment, and management of Microsoft-based .NET applications into Linux based Kubernetes Clusters on AWS by adopting DevOps practices.

Achieving the AWS Microsoft Workloads Competency differentiates Kloia as an AWS Partner Network (APN) member that provides specialized demonstrated technical proficiency and proven customer success with specific focus on workloads based on Application Modernization Solutions. To receive the designation, APN Partners must possess deep AWS expertise and deliver solutions seamlessly on AWS.

AWS Microsoft Workloads — Application Modernization Competency Award


We are honored to have achieved AWS Microsoft Workloads Competency status and looking forward to help our customers modernize their applications and leverage the agility, breadth of services, and pace of innovation that AWS provides.


AWS is enabling scalable, flexible, and cost-effective solutions from startups to global enterprises. To support the seamless integration and deployment of these solutions, AWS established the AWS Partner Competency Program to help customers identify Consulting and Technology APN Partners with deep industry experience and expertise.


Kloia’s approach to application modernization covers re-platforming and re-factoring of the legacy or monolithic application stacks. Kloia has been already performing transition projects in various stacks and will now be able to also address .NET-to-.NET core transition utilizing containers and orchestration systems.

19 Dec 2016
by dsezen
Comments are closed

NewYear Lottery


2017 senesinin herkese şans ve başarı getirmesi dileklerimizle….


23 Aralık'a gelen başvurular arasında yapılan çekilişte hediye kazananlar altaki gibidir:

USB DevOps anahtarı : Oğuzhan Cengiz, Oktay Sabak, Onur Şimşek, Orhun Çıraklı

CloudFlare t-shirt: Numan Kaçar, Tuhanan Pehlivan, Emre Torun, Hülya Çakır

1 günlük eğitim katılım hakkı: Çağrı Özer

19 Dec 2016
by dsezen
Comments are closed

DevOps anahtarınız bizden!

DevOps'da bazı kapıları açmak zor, özellikle kültür işin içine girince… Biz her şirketin, kendine özel bir DevOps yolculuğu olması gerektiğine inanıyoruz. Bu yolculuk boyunca alınan geribildirimler ve yapılan deneyler ile alınması gereken kararlar ve güncellenmesi gereken birçok şey var: İletişim, süreçler, araçlar…

Sizler için bu yolculukla ufkunuzu açacağına inandığımız, "public" olarak indirilebilir dökümanları bir araya toplandık. Bunları da her zaman anahtarlığınızda taşıyabileceğiniz bir USB içerisine kopyaladık.




14 Sep 2016
by dsezen
Comments are closed

HepFly Survives!


HepFly ile tanışıklığımız ucakbileti.com döneminde olmuştu. One-click deployment, Micro-Services Architecture, Behavior-Driven Monitoring and Cloud gibi konularda birlikte keyifli zamanlarımız oldu. 


Survivor'a reklam verip de gelen trafik karşısında sıkıntı yaşayan websitelerini duymuşsunuzdur. Daha önce bu amaçla kapımızı çalan müşterilerimiz olmuştu. Herbiri için de custom çözümler üretmek durumunda kaldık. Bu gibi benzer ihtiyaçlarda benzer patternlar yakalayabilir miyiz düşüncesi ile hep başlarız ama inanın her yazılımın iç dinamiği ve DevOps pratiklerinin nasıl uygulanabileceği birbiri arasında çok fark ediyor.


jmeter-Blazemeter performans testleri için vazgeçilmez araçlarımız arasında


HepFly ile tek çalışma amacımız bu olmasa da, Survivor'a çıkacağı haberi geldiğinde, hemen yönümüzü değiştirip, performans testleri koşmaya başladık. Öncelikle site içerisindeki kullanıcı pattern ine göre jmeter testlerinin yazılması gerekli idi. Bunun analizi sonrasında BlazeMeter'ın da yardımı ile yüksek concurrency testleri koştuk. 30 civarı mikro servis içeren mimari içerisinde, Bottleneck olan servisler hemen kendilerini belli etti. Buradaki refactoring ve scaling düzenlemelerinde sonra hazırdık ve non-500 bir reklam süreci geçirdik. 



Monitoring Measurement


DevOps dünyasında özellikle monitoring demekten kaçınıyoruz. Bunun yerine Measurement kelimesine rastlamışsınızdır. Klasik tabir ettiğimiz, OSI L3, L4 bazlı monitoringin gerçek dünyada çok bir katmadeğeri yok ve gerçek kullanıcı deneyimini de yansıtmıyor. Bunun yerine gerçek bir kullanıcının deneyimlediği çıktının gözlemlenmesi, ölçümlenmesi ve buradaki değerleri kullanarak "Continuous Improvement" döngüsünün işletilmesini daha çok tercih ediyoruz.


NewRelic Insights, Behavior-Driven Monitoring ihtiyaçlarınıza cevap verebiliyor 




HepFly'ın da Behavior-Driven Monitoring ihtiyaçları karşısında zaten kullanmakta oldukları NewRelic'deki Insights kullanmaya karar verdik. Burada yazılan custom kodlar ile HTML elementlerinin parse edilip, gerçekten istenen çıktının kullanıcıya gösteririp gösterilmediğini ölçümleyerek, kullanıcı şikayet etmeden HepFly aksiyon alabilen hale geldi.

İlgili kod blogu alttaki gibidir, github'dan inceleyebilirsiniz.

[snippet id=”22″]

HepFly, DevOps yolculuğundaki attığı adımlar ile rekabetçiliğini artırarak, reaktif bir yapı yerine, proaktif bir düzen ile hizmet vermeye devam ediyor.

Cloud, DevOps and Microservices Solution Provider © 2019