DevOps

At TekCapitol we believe DevOps as a culture/environment where there is an agile relationship between operations and development team. Thereby, setting up better and frictionless collaboration and communication amongst the two business units to rapidly deliver effective, reliable and quality solutions.

"It works on my machine!". . . . . How many times did you hear this sentence?
Whenever we hear it, it is clear to us, that project has no Continuous Integration implemented. It is built and tested manually (at best) and it is always a bad idea. Continuous integration is a very powerful practice used during software development. And helps save tons of money. Bugs caught early cost ten times less, compared to the bugs spotted at production. Jenkins is considered one of the best DevOps tools, which maximizes the chance to produce bug free software, which results in high quality software. It allows to quickly take the code, build it (step omitted in case of python packages, which usually do not require compilation step) on a frequent schedule and deploy into a designated, representative environment for testing. Without the ability to automate code deployment, you are left with an enormous piece of manual, repetitive tasks in deployment pipeline:

  • Get current software version from source control server
  • Create test environment
  • Install dependencies
  • Test software (unit and integration tests)
  • Deploy

This is a typical pipeline in most IT projects. Jenkins can help to automate this work. And not only automate, but to establish a common baseline for all developers working in the project. What is the baseline? It is entire projects configuration and dependencies i.e. third party packages used in computation, environmental variables and other settings characteristic for the project. Also, Jenkins is free and has over 1000 plugins, created by an active community, which extend its functionality in every possible way. Plugins provide tools for many languages and functionalities developers around the world add for a few decades now.

TekCapitol’s Jenkins+ Consulting Package

Responsive image
-

Creating test environment:

  • Automatic source code pull (from GitHub)
  • Installing proper python version
  • Installing dependencies
-

Running static code metrics:

  • Various raw metrics
  • Tests coverage
  • Errors and style check
-

Testing pulled source code:

  • Unit tests
  • Integration tests
-

Building proper python distribution package (.whl)

-

Deploying to PyPI

Technologies, Tools & Frameworks

  • Cloud- AWS, Azure, Linode, Digital Ocean, Open Shift, VMware
  • Containerization- LXD, LXC, Docker, Rocket, Kubernetes, Swarm, Rancher
  • Configuration Mgmt- Saltstack, Ansible, Puppet, Chef
  • Infrastructure as Code- Vagrant, Terraform, Cloud Formation
  • Logging and Monitoring- ELK Stack, Prometheus, Grafana, Datadog, Zabbix, Nagios,
  • Security, Testing and Quality- SonarQube, Clair, Selenium, Junit,
  • Orchestration- Jenkins, Bamboo, Rundeck, Travis
  • Build Tools- Maven, npm,
Image

Reference Case Studies

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

Sign Up