Bespoke software development
LAMP stack (PHP, MySQL, Linux)
DevOps: Chef, Vagrant, Ansible
Tools: Jenkins, Bamboo
I used to plan and execute set of set of small/medium size projects done by web solutions department of bigger software development company. Lot of my efforts were spent on work coordination of the software developers team, help in building solution architecture, work breakdown structure and estimates, proceeding with implementation.
Project architecture selection, evaluating alternatives.
Number of different projects implemented in set of technologies. More details on request.
I was involved as a junior developer into number of commercial projects developed at that moment. Business area: healthcare.
Brief: Quick overview illustrating possibility to send some commands, including text to speech to amazon echo devices without need to write custom Amazon skill, using either shell or nodejs More...
Publication/Publisher: Medium, Date: September 1, 2018
Brief: POC on using kubernetes bundled with docker for windows as a quick alternative to minikube or minishift. We discuss how to expose cluster outside of windows localhost as well as how to deploy. More...
Publication/Publisher: Medium, Date: July 27, 2018
Brief: AWS provides comprehensive guide to start with EKS, this article is generally implemented guide with terraform to get unattended installation of the kubernetes cluster happen.. More...
Publication/Publisher: Medium, Date: July 23, 2018
Brief: As you might know, letsencrypt ssl certificates officially reached production state, see https://community.letsencrypt.org/t/acme-v2-production-environment-wildcards/55578 . It is time to give it a try More...
Publication/Publisher: Medium, Date: March 21, 2018
Brief: Describes approach for the ansible-container to be used to construct and build application images in docker. In particular, choosing init system, running multiple services withing container. More...
Publication/Publisher: Medium, Date: September 20, 2017
Brief: Containers continue to be a buzz word this year too. A lot of teams try to implement microservices, dividing application into individual units: mini- website contains only presentation layer, REST… More...
Publication/Publisher: Medium, Date: September 4, 2017
Brief: Even today, approach to creating and managing containers is both manual and, in many ways, antiquated. Even for startups that use automation for their build processes, implementing containers often… More...
Publication/Publisher: Medium, Date: September 3, 2017
Brief: Quick knowledge sharing on approaches for project documentation. From personal use to dedicated documentation workflows. Outcomes: tooling suggestion, usage cases, documentation project bootstap. More...
Publication/Publisher: Medium, Date: March 12, 2017
Brief: Perhaps most of developers are familiar with git-flow model, that makes release process controlled. In this article I would demonstrate one of approaches to introduce git-flow releasing in your… More...
Publication/Publisher: Medium, Date: January 15, 2017
Brief: Lets Encrypt (http://www.letsencrypt.org/) — probably most known authority supplying free grean seal certificates. In this article I will share with you, how I make use of letsencrypt as a part of… More...
Publication/Publisher: Medium, Date: December 28, 2016
Brief: A jump server or jump host or jumpbox is a (special-purpose) computer on a network typically used to access devices in a separate security zone. The most common example is managing a host in a DMZ… More...
Publication/Publisher: Medium, Date: December 18, 2016
Brief: One-liner to add all of the github keys as authorized to some test unix server More...
Publication/Publisher: Medium, Date: November 10, 2016
Brief: Trick on unattended development environment setup for developers using ubuntu as a host system More...
Publication/Publisher: Medium, Date: October 19, 2016
Brief: In this article I will give you an idea on automated installation with Ansible, a Simple IT Automation toolkit and Ubuntu LTS server More...
Publication/Publisher: Medium, Date: October 14, 2016
Brief: Article demonstrates automation of AWS VPC network creation with Ansible for the application according to project requirements More...
Publication/Publisher: Medium, Date: October 13, 2016
Publication/Publisher: CodeProject, Medium Date: October 9, 2013
Brief: As a contractor software developer I am asked from time to time to perform audit of LAMP projects. As project configuration is different, I use so-called "umbrella repository environment" which allows me to wrap such projects into reusable vagrant environment without need to amend audited projects codebase itself. More...
Publication/Publisher: CodeProject, Date: November 5, 2015
Brief: Nowadays continious integration is the important part of the agile software development life cycle. There is a number of tools on the market: Atlassian Bamboo, Jenkins, Jetbrains TeamCity. In my opinion Jenkins has the most optimal product community and set of really useful plugins that suits most of your software projects: you can build software, deploy software, websites, portals to various places, including AWS, DigitalOcean, bare metal servers or to run unit tests. It can be integrated with communication tools of your choice, like Slack, HipChat or email. More...
Publication/Publisher: CodeProject, Date: November 16, 2015
Publication/Publisher: CodeProject, Date: January 5, 2013
Brief: "Don’t Check Passwords into Source Control or Hard-Code Them in Your Application Operations staff will remove your eyes with a spoon if they catch you doing this. Don’t give them the pleasure. Passwords should always be entered by the user performing the deployment. There are several acceptable ways to handle authentication for a multilayer system. You could use certificates, a directory service, or a single sign-on system." This quote is taken from Chapter 2 of the Continuous Delivery: Reliable Software Releases Through Build, Test, And Deployment Automation (Addison-Wesley Signature Series (Fowler)) book by David Farley and Jez Humble. Vault by HashiCorp is one of the tools that might provide an acceptable level of security for DevOps engineers, and it is suitable for enterprise scenarios as well as for smaller teams like startups. More...
Publication/Publisher: CodeMentor, Date: September 22, 2015
Brief:In a real life almost any project deals with the tree structures. Different kinds of taxonomies, site structures etc require modeling of hierarchy relations. In this article I will illustrate using first three of five typical approaches of operating with hierarchy data on example of the MongoDB database. Those approaches are: Model Tree Structures with Child References, Model Tree Structures with Parent References, Model Tree Structures with an Array of Ancestors, Model Tree Structures with Materialized Paths, Model Tree Structures with Nested Sets, Note: article is inspired by another article 'Model Tree Structures in MongoDB' by 10gen, but does not copy it, but provides additional examples on typical operations with tree management. Please refer for 10gen's article to get more solid understanding of the approach. Part 1... Part 2... Part 1... (mirror 2) Part 2...(mirror 2)
Publication/Publisher: CodeProject, Medium Date: January 16, 2013
Brief: tip allows enabling virtualization inside nested virtual machines under ESXi hypervisor. More...
Challenges: to develop robust code generation framework that will allow rapid development of high load capable websites with php4 backward compability. XSLT was used as a powerful framework for code generation. Set of procedural plain php files where generated as a result of transformation. During set of projects, generated websites were able to handle and serve 6000-7000 concurrent business user sessions (up to 8900 in extremum) in following live environment: single server with Nginx supporting PHP fast cgi mode as a web server, MySQL as a DB server, Memcache as server side cache. Server network card was configured to use polling mode.
Facts: since May, 2005 until May,2011 over 160 solutions were implemented by our team using this code generation approach. By using xml based grammar, all websites allow smooth generator version upgrade without need to change business logic code itself.
Deployments: banking sector (bank public sites, bank intranet portals), news and media (number of highload news ukraine sites), entertaiment (websites for tourists, event solutions), b2b and b2c solutions (set of sites solving business needs with custom made logic), custom ( set of custom made websites solving multiple client needs).
Background: The X Factor is a British television music competition to find new singing talent. Created by Simon Cowell, it began in September 2004 and is contested by aspiring singers drawn from public auditions. It is the originator of the international The X Factor franchise.
Challenges: to develop online portal supporting Ukranian TV national version of the X-Factor show. Integration with 3rd party voice rating system ('Skore'), Adobe Flash Media Server, Social Networks API, 3rd party payment gateways. Weekly high load peaks during TV show live air.
Role: Technical Team leader, team composition: 3-4 developers, dedicated QAs and Project Manager/Client Executive, System Administrator.
Duties: Architecture defining, risks identification from technology point of view, team development activities, executing project tasks, corrective/preventive actions when needed.
Facts: Approximately 10 millions page views during TV show period. No major service down time.
Background:Region: Europe, Industry: E-Goverment, Service: Corporate Application Development.
Role: Project manager, lead developer.
Business challenge: Team created a computer-based driving theory test system integrated with a 3rd party web-based test booking system. The system is touch screen based and has an intuitive user interface as well as invigilator console. System runs on 7 test stations, but is extensible. Licensed question bank was used as a initial source of theory test questions. The system features include a generation of unique tests for each candidate and the facilities for the administrative staff to add/edit questions as needed.
Benefits: Provides a standard way of conducting driving theory tests. 3rd party systems consume information (in particular driver licensing software). Minimum effort on maintenance of the testing process, easy to operate during the test - even for people with low computer literacy, automatic assessment of the test results, Immediate communication of the results to the participants. Necessary reports and statistics was implemented management staff per requirements.
Facts: System still operates. Approximate software lifetime expanded up to 2016.
Background:Region: UK, Industry: E-Goverment, Service: Corporate Application Development.
Role: Architect, project leader.
Business challenge: Team created bespoke computer system, that allows citizens to book and pay for theory and practical driving tests online. System includes separate backend with business logic and public front end part in DMZ. System is integrated with customer inner systems serving driving licence workflow, online passport system, 3rd party online payment systems, provides reports in format of inner financial systems, other reporting.
Benefits: Provides more online capabilities for citizens, decreases staff load in the office.