Get Appointment

  • contact@wellinor.com
  • +(123)-456-7890

Blog & Insights

WP_Query Object ( [query] => Array ( [post_type] => post [showposts] => 8 [orderby] => Array ( [date] => DESC ) [autosort] => 0 [paged] => 3 ) [query_vars] => Array ( [post_type] => post [showposts] => 8 [orderby] => Array ( [date] => DESC ) [autosort] => 0 [paged] => 3 [error] => [m] => [p] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [name] => [pagename] => [page_id] => 0 [second] => [minute] => [hour] => [day] => 0 [monthnum] => 0 [year] => 0 [w] => 0 [category_name] => [tag] => [cat] => [tag_id] => [author] => [author_name] => [feed] => [tb] => [meta_key] => [meta_value] => [preview] => [s] => [sentence] => [title] => [fields] => [menu_order] => [embed] => [category__in] => Array ( ) [category__not_in] => Array ( ) [category__and] => Array ( ) [post__in] => Array ( ) [post__not_in] => Array ( ) [post_name__in] => Array ( ) [tag__in] => Array ( ) [tag__not_in] => Array ( ) [tag__and] => Array ( ) [tag_slug__in] => Array ( ) [tag_slug__and] => Array ( ) [post_parent__in] => Array ( ) [post_parent__not_in] => Array ( ) [author__in] => Array ( ) [author__not_in] => Array ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [lazy_load_term_meta] => 1 [update_post_meta_cache] => 1 [posts_per_page] => 8 [nopaging] => [comments_per_page] => 50 [no_found_rows] => [order] => DESC ) [tax_query] => WP_Tax_Query Object ( [queries] => Array ( ) [relation] => AND [table_aliases:protected] => Array ( ) [queried_terms] => Array ( ) [primary_table] => wp_posts [primary_id_column] => ID ) [meta_query] => WP_Meta_Query Object ( [queries] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array ( ) [clauses:protected] => Array ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'expired' OR wp_posts.post_status = 'tribe-ea-success' OR wp_posts.post_status = 'tribe-ea-failed' OR wp_posts.post_status = 'tribe-ea-schedule' OR wp_posts.post_status = 'tribe-ea-pending' OR wp_posts.post_status = 'tribe-ea-draft') ORDER BY wp_posts.post_date DESC LIMIT 16, 8 [posts] => Array ( [0] => WP_Post Object ( [ID] => 2115 [post_author] => 7 [post_date] => 2020-01-09 09:17:07 [post_date_gmt] => 2020-01-09 09:17:07 [post_content] =>

IDC recently presented a list of their worldwide IT Industry predictions for next year. You can find that presentation here.

IDC predicts that most of the worldwide IT spend in 2020, and in the next few years, will be towards innovation and digital transformation initiatives. This includes transformation projects for cloud-native architectures, public cloud adoption, hybrid architectures, AI and edge devices, and other platform migration initiatives. It is anticipated that in the near future, nearly two-thirds of the organizations will be producing and releasing application code more frequently, focusing on building and owning cloud-native technologies and applications, and growing their developer base. The commoditization of the DevOps pipeline – which has been achieved to an extent – will serve as a breeding ground for attention to shift towards the content that flows through that pipeline (i.e. the applications). Enterprises will need to operate as digital service providers - i.e. they will need to set up a product-centric approach for any services they offer, with an assigned product owner, and leveraging various opensource communities and other available resources to constantly innovate and update their offerings.  

As new platforms and solutions are adopted by organizations to achieve their vision of multi-platform multi-cloud self-service automation, there will be an ongoing need to integrate these various services and offerings and leverage API abstraction implementations to enable decoupled architectures. Cultural transformation for organizations to adopt agile practices will likely be one of the biggest challenges to the speed and adoption of digital transformation.  

[post_title] => IDC Report: Worldwide IT Industry Predictions [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => idc-report-worldwide-it-industry-predictions [to_ping] => [pinged] => [post_modified] => 2020-03-05 20:04:22 [post_modified_gmt] => 2020-03-05 20:04:22 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2115 [menu_order] => 3 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [1] => WP_Post Object ( [ID] => 2083 [post_author] => 7 [post_date] => 2020-01-08 15:14:26 [post_date_gmt] => 2020-01-08 15:14:26 [post_content] =>

This blog walks through the installation of Kong Enterprise (via rpm) on a CentOS 7 Virtual Machine. You can download and install the latest version of CentOS from https://www.centos.org/download/. We will be installing Kong Enterprise in a development environment so it is recommended that you use at least 2 GB of RAM and 2 vCPUs with 20 GB of storage space.  

Additionally, it is recommended to setup VMware tools. In order to do that you will need to mount the vmware tools via the VMware console, and run the following commands via SSH:   

yum install perl 

mkdir /mnt/cdrom 

Mount /dev/cdrom /mnt/cdrom 

cp /mnt/cdrom/VMwareTools-version.tar.gz /tmp/ 

tar -zxvf VMwareTools-version.tar.gz 

/tmp/vmware-tools-distrib/./vmware-install.pl  

umount /mnt/cdrom 

In this tutorial, we will install the Kong Enterprise server and the required PostgreSQL on the same server. For production environments, you can choose to install the database and application tiers on separate machines. To get started, on the Kong Enterprise server, run the following commands:  

sudo yum update 

sudo yum install wget 

sudo yum install python36 

sudo pip3 install httpie 

We will also create a new folder to store the Kong RPMs:
mkdir kong 

In order to download Kong Enterprise you will need to work with your Kong Partner Manager or Kong Enterprise sales rep to get access to your specific repository. Log in with your credentials at https://bintray.com/kong 

The license file is located in the folder with your company or repository name.  

You can either use wget to download the kong rpm and the license files directly on the VM, or you can download the files on a jump box and transfer them to the Kong Enterprise VM. Steps for the latter are below. 

On a separate machine, download the specific rpm for your OS and version (kong-enterprise-edition-0.36-4.el7.noarch.rpm) and the license file. In this case, we first download the files under the 'Downloads' folder on the jump box, and then SCP the files to the target VM.  

scp ~/Downloads/kong-enterprise-edition-0.36-4.el7.noarch.rpm root@<Kong-Enterprise-VM-IP>:~/kong 

scp ~/Downloads/ex12162020.license.json root@<Kong-Enterprise-VM-IP>:~/kong 

Log back into the Kong Enterprise VM via SSH:  

cd /root/kong  

sudo yum install kong-enterprise-edition-0.36-4.el7.noarch.rpm  

sudo cp ex12162020.license.json /etc/kong/license.json 

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 

sudo yum --disablerepo=bintray--kong-kong-enterprise-edition-rpm install postgresql95 postgresql95-server 

Initialize the PostgreSQL Database, and start it: 

sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb 

sudo systemctl enable postgresql-9.5 

sudo systemctl start postgresql-9.5  

Login to the PostgreSQL database, and create the necessary structures for Kong Enterprise installation. Note: For this example, we are using kong as our username, database name, and password. You will want to choose user, database, and passwords according to the naming and complexity standards of your organization. If you need assistance with this step, your friends at Keyva are no more than a click away!

For this example, we are using kong as our username, database name, and password.

sudo -i -u postgres 

$ psql 

$ CREATE USER kong; CREATE DATABASE kong OWNER kong; ALTER USER kong WITH password 'kong'; 

$ \q 

$ exit 

Update database settings in pg_hba.conf: 

sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf 

Change the IPv4 entry to the IP address and the method to md5 

host    all             all             0.0.0.0/0         md5    

Update the database configuration file postgresql.conf: 

sudo vi /var/lib/pgsql/9.5/data/postgresql.conf 

Add the line at the end -  

listen_addresses = '*' 

Restart the PostgreSQL server: 

sudo systemctl restart postgresql-9.5 

Save a copy of the default Kong conf file that ships with the installation before making modifications: 

cp /etc/kong/kong.conf.default /etc/kong/kong.conf 

Update the following variables with your environment specific values: 

sudo vi /etc/kong/kong.conf 

database = postgres           

pg_host = <Kong-Enterprise-VM-IP> 

pg_port = 5432                  

pg_timeout = 5000               

pg_user = kong                  

pg_password = kong                    

pg_database = kong               

Update the user environment with ulimit value: 

vi $HOME/.bashrc 

At the end of the file, add  

ulimit –n 4096  

Add the language settings for the user environment: 

sudo vi /etc/environment  

Add the following lines 

LANGUAGE=en_US.utf-8 

LC_ALL=en_US.UTF-8 

LC_CTYPE=UTF-8 

LANG=en_US.utf-8 

Update permissions: 

sudo chmod -R 777 /usr/local/kong/ 

Important: The KONG_PASSWORD environment variable needs to be exported before running the database migration and bootstrap processes. The password defined in this variable will be used to log in to the Kong Enterprise console once it is set up: 

export KONG_PASSWORD=kong 

kong migrations bootstrap -c /etc/kong/kong.conf 

kong start -c /etc/kong/kong.conf 

Run a test against the local service to make sure Kong is up and running: 

curl -i -X GET --url http://localhost:8001/services 

You can access the Kong Enterprise portal here: 

http://<Kong-Enterprise-VM-IP>:8002/

https://<Kong-Enterprise-VM-IP>:8445/

Troubleshooting 

Even the best-made plans can occasionally go awry, but don't worry, your friends at Keyva have your back. In our experience here's a list of some issues you could encounter, and if you do, how to fix them.

1. If you are unable to open or access the portal, make sure the firewall is turned off 

sudo systemctl stop firewalld

2. Error: [PostgreSQL error] failed to retrieve server_version_num: connection refused OR 

Error: [PostgreSQL error] failed to retrieve server_version_num: host or service not provided, or not known 

Possible Remediations:

  1. Database timing issue after restart of db – sometimes it can take up to 10 mins for the database to be ready for Kong to connect.
  2. Try restarting the Kong server 
  3. In pg_hba.conf add this record in the file:

host all all 0.0.0.0/0 trust 

Make sure the following environment variables are set up and they exist prior to running the database migration and bootstrap process: 

export KONG_DATABASE=postgres 

export KONG_PG_HOST=<Kong-Enterprise-VM-IP> 

3. "Username/Password is invalid" – for the kong admin portal 

Try running the bootstrap process again and clearing the browser cache  

kong migrations reset 

kong migrations bootstrap -c /etc/kong/kong.conf  

kong migrations bootstrap 

kong reload 

kong stop 

kong start 

Try clearing cache, and going directly to the URL https://<Kong-Enterprise-VM-IP>:8445/overview 

Important: You will also need to go to the URL https://<Kong-Enterprise-VM-IP>:8444 and accept the certificate. After accepting the certificate, go to the URL https://<Kong-Enterprise-VM-IP>:8445  

4. "RBAC is disabled! Configuration will not be applied until RBAC is enabled. " 

RBAC is enabled but still keeps showing as disabled when you go to :8002/overview 

In order to use RBAC, you will need to set up the following variables in kong.conf: 

enforce_rbac = on 
admin_gui_auth = basic-auth 
admin_gui_session_conf = { "secret":"your_secret_text" } 

Reload and restart Kong service:

kong reload 

kong stop 

kong start 

5. Error: /usr/local/share/lua/5.1/kong/cmd/start.lua:31: [PostgreSQL error] failed to retrieve server_version_num: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "kong", database "kong", SSL off 

Verify that the below line exists in pg_hba.conf file 

host    all             all             0.0.0.0/0      md5    

You can also try adding the following line to trust all endpoints 

host all all 0.0.0.0/0 trust 

6. Error: /usr/local/share/lua/5.1/kong/db/migrations/state.lua:291: attempt to index local 'legacy_res' (a nil value) 

stack traceback: 

    /usr/local/share/lua/5.1/kong/db/migrations/state.lua:291: in function 'load' 

    /usr/local/share/lua/5.1/kong/db/init.lua:412: in function 'schema_state' 

    :111: in function 'cmd_exec' 

    /usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:88> 

    [C]: in function 'xpcall' 

    /usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:45> 

    /usr/local/bin/kong:9: in function 'file_gen' 

    init_worker_by_lua:50: in function <init_worker_by_lua:48> 

    [C]: in function 'xpcall' 

    init_worker_by_lua:57: in function <init_worker_by_lua:55> 

Verify that the following environment variables are exported 

export KONG_DATABASE=postgres 

export KONG_PG_HOST=kong-database 

Restart the PostgreSQL, and Kong service 

sudo systemctl status postgresql 

kong reload 

kong stop 

kong start 

7. Error: /usr/local/share/lua/5.1/kong/cmd/migrations.lua:109: [PostgreSQL error] failed to retrieve server_version_num: host or service not provided, or not known 

stack traceback: 

    [C]: in function 'assert' 

    /usr/local/share/lua/5.1/kong/cmd/migrations.lua:109: in function 'cmd_exec' 

    /usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:88> 

    [C]: in function 'xpcall' 

    /usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:45> 

    /usr/local/bin/kong:9: in function 'file_gen' 

    init_worker_by_lua:50: in function <init_worker_by_lua:48> 

    [C]: in function 'xpcall' 

    init_worker_by_lua:57: in function <init_worker_by_lua:55> 

Verify that the following environment variable is exported 

export KONG_PG_HOST=<Kong-Enterprise-VM-IP> 

Restart the PostgreSQL, and Kong service 

sudo systemctl status postgresql 

kong reload 

kong stop 

kong start 

8. Kong Manager portal error:  "Authentication is not enabled. " 

Set basic authentication variable (admin-gui-auth) configured in the kong.conf file 

enforce_rbac = on 
admin_gui_auth = basic-auth 
admin_gui_session_conf = { "secret":"your_secret_text" } 

Reload and restart kong service 

kong reload 

kong stop 

kong start 

If you have any questions or comments on the tutorial content above, or run in to specific errors not covered here, please feel free to reach out to info@keyvatech.com 


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

 

[post_title] => How to Install Kong Enterprise on CentOS 7 [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => how-to-install-kong-enterprise-on-centos-7 [to_ping] => [pinged] => [post_modified] => 2020-03-02 12:34:46 [post_modified_gmt] => 2020-03-02 12:34:46 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2083 [menu_order] => 16 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [2] => WP_Post Object ( [ID] => 2072 [post_author] => 6 [post_date] => 2019-12-17 16:41:47 [post_date_gmt] => 2019-12-17 16:41:47 [post_content] =>

A Keyva Executive Blog Post by Jaime Gmach

I was reviewing an executive summary from the recent Gartner 2019 Symposium/Xpo in Orlando and was struck by a very logical, but occasionally overlooked message from the keynote centering on the importance of balance in a digital transformation strategy. The theme of Leading in a Digital Society correctly emphasized the importance of technology leadership in the continued transition to a digital society while recognizing the importance of maintaining a balance on the journey.  

Gartner has coined term “Techquilibrium”, which it defines as the ideal mix of traditional and digital for your enterprise. My interpretation is that businesses have reached an inflection point on their digital transformation journey in which many have come to realize that there is a balance in what the ideal outcome looks like for their unique environment. In other words, one size does not fit all.

It is also the balance point that applies to many elements of leadership in our new digital world, including, how you make decisions; how you lead; how you serve customers; and ultimately, how your organization takes its place in our emerging Digital Society.

The keynote message is that leaders are faced with the paradoxical need to satisfy the “AND” dilemmas facing our world. Examples include: cut AND grow; stability AND change; physical AND digital; analyze AND execute; traditional organization AND digital organization; and many others. You often have to do both to excel in today’s world. My personal takeaway from the keynote is that there is so much information for technology leaders to absorb that it is sometimes difficult to not lose sight of the forest for the trees.  Staying focused on striking a balance of traditional and digital capabilities to provide maximum value to your unique business will help on the journey.


Jaime Gmach
Jaime Gmach, President & CEO, Keyva

Jaime Gmach co-founded Evolving Solutions almost 25 years ago, and continues to lead the company today as its President and CEO. Together with the extended Evolving Solutions team, Jaime has built the company into a leading technology solution provider focused on helping enterprise clients modernize and automate their mission-critical infrastructure to support digital transformation.

In conjunction with a continued focus on the delivery of modern infrastructure solutions, Evolving Solutions is investing in the development of new and innovative business practices to support clients’ success on their journey toward a hybrid cloud operating model.

In addition to Evolving Solutions, Jaime founded Keyva, a services organization focused on cloud automation, orchestration, and DevOps in 2018.

One of Jaime’s true passions in life is giving back to the communities of Minneapolis and St. Paul. He has led multiple Evolving Solutions and Keyva philanthropic initiatives in which the companies provided technology, financial and labor support to charitable organizations throughout the region.

Like what you read? Follow Jaime on LinkedIn at: https://www.linkedin.com/in/jaimegmach/

[post_title] => Takeaway from the Gartner 2019 Symposium [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => takeaway-from-the-gartner-2019-symposium [to_ping] => [pinged] => [post_modified] => 2020-03-05 19:58:26 [post_modified_gmt] => 2020-03-05 19:58:26 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2072 [menu_order] => 17 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [3] => WP_Post Object ( [ID] => 2058 [post_author] => 7 [post_date] => 2019-12-03 17:20:12 [post_date_gmt] => 2019-12-03 17:20:12 [post_content] =>

As organizations transform and containerize their business critical applications with the objective of making them ready for deployment in to various Cloud platforms, they are also need to address application security. There are several considerations to achieve varying levels of security for your cloud native app. Let's take a look at how Kong can help make this process easier:  

Access Restrictions, RBAC and Traffic Restrictions 

Kong API gateway can tie into your existing AD/LDAP setup and map to existing groups and users to provide role based access control (RBAC) in front of your cloud-native app. By setting up access rules in Kong, you can restrict the traffic consuming your application to specific IPs or DNS addresses. You can also easily manage and update these rules so that they can be tweaked based on the type of application and the desired functionality. For example, you can create a security profile for web-based applications that automatically allow incoming traffic on ports 80 and 8080, but block all other ports.  

Throttling 

If your back-end infrastructure is not yet able to handle large spikes of incoming application requests, or if you would like to maintain a set rate of incoming requests into a queue to accommodate for processing times, you can throttle the API calls to be limited to a fixed number using the Kong API gateway. Such throttling can help deter any DDoS based attacks, especially if your critical applications are exposed to the outside network. 

Canary Testing and 'Promote to Production' 

Kong allows you the ability to gradually and smoothly transition the workloads from your lower environments to higher environments and thereby automate the 'promote to production' process. By defining destination 'weights' for the incoming traffic, you can initially assign a higher weight to the lower environment, and as the results are hardened, you can reduce weight for your test end point and increase it for your production end point. This allows you to reduce the deployment risks and also release new patches and updates with zero downtime.    

Additionally, Kong offers a number of free plugins that can be used with its community opensource edition. By leveraging a base Kong API gateway with the Bot Detection plugin, you can protect your application service from most common attack bots, and also allows you to blacklist or whitelist specific traffic sources. 

Keyva helps fortune 500 organizations evaluate their existing business application portfolios and transform their applications to cloud-native architectures. Keyva can help you deliver new agile technical capabilities and drive adoption. If you'd like to have us review your environment and provide suggestions on what might work for you, please contact us at info@keyvatech.com  


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

[post_title] => Secure your business critical apps with Kong [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => secure-your-business-critical-apps-with-kong [to_ping] => [pinged] => [post_modified] => 2020-01-08 18:44:58 [post_modified_gmt] => 2020-01-08 18:44:58 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2058 [menu_order] => 18 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [4] => WP_Post Object ( [ID] => 2038 [post_author] => 7 [post_date] => 2019-11-21 05:38:10 [post_date_gmt] => 2019-11-21 05:38:10 [post_content] =>

If you have an IT environment with hundreds or thousands of servers running a multiple OSes, you know the operational challenges of patching and maintenance all too well. Many organizations have operational team members dedicated to patching systems on a weekly basis. If this process is being carried out manually, it requires a lot of time from an engineer to go through the systems individually. The engineer needs to track the current patch level and deploy the latest patches that make such systems compliant. Then that engineer needs to run integration tests to make sure nothing was adversely affected. All OS types have different methodologies for patching, and this work is mostly targeted for off-hours when the systems are more likely to be idle. 

There are many different levels of automation that can be applied to OS patching. At the lowest level of automation, you can use configuration management systems to make sure that all devices under management are at a consistent level of software patching. This process can be triggered manually via the configuration management console or can be scheduled from within the tool. You can turn this into a more advanced automated use case by integrating with your ticketing system. An example: a Change ticket is scheduled for patching the targeted systems, it goes through the necessary team approvals, and automated configuration management is triggered once the approved change window is reached. Notifications will then be sent out to the operations team upon success or failure of the automation. In one of our customer studies the operations team saved over 800 hours (20 FTE weeks) per year by automating patching for 1500 of their Windows and Unix servers. The more devices or OSes in your environment, the more you have to gain from thorough automation.

Keyva helps fortune 100 organizations assess their existing patch management processes and compare their "As Is" state to their recommended "To Be" state. By helping implement the recommendations around people, process, and tool changes, we've saved hundreds of hours of manual work for these organizations. This in turn has helped make their Operations teams more efficient and able to provide more direct value-add to their core business rather than spend time on repetitive tasks. If you'd like to have us review your environment and provide suggestions on what might work for you, please contact us at info@keyvatech.com  


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

[post_title] => Patch Management Automation [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => patch-management-automation [to_ping] => [pinged] => [post_modified] => 2020-03-05 19:52:02 [post_modified_gmt] => 2020-03-05 19:52:02 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2038 [menu_order] => 19 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [5] => WP_Post Object ( [ID] => 2033 [post_author] => 7 [post_date] => 2019-11-19 19:11:01 [post_date_gmt] => 2019-11-19 19:11:01 [post_content] =>

We talked about how Kong can help you get set up with API abstraction here, and we also talked about Composable Infrastructures here. Today we will discuss how you can combine both these ideas to enable the delivery of Automation-as-a-Service by setting up Composable Automation with Kong.  

Most organizations that are developing a lot of IT automation usually do so using multiple best-of-breed automation tools. We will consider Red Hat Ansible and Chef for the example today. Now, both these tools require a very different set of skills to administer and operate. Ansible is YAML and Python-based, while Chef requires skills with Ruby scripting. But given that an organization has already invested a lot of time and effort in developing automation for these different products, how do we maximize the value out of those existing modules? Would we need another overarching tool that can orchestrate them? Or do we simply replace one with the other? But given they both require different skills, how do we retrain the various teams that use the tool being replaced? All these questions are valid, and require a deeper assessment of the targeted end goal.  

One of the options to resolve this quandary is to create Composable Automation using the tools you already have, and add a layer of Kong API abstraction to it. In other words, Red Hat Ansible and the Chef teams would create a deployable package that has all the platform prerequisites for a team to start creating playbooks, and make it available via a code repository. This way, the end users using these automation platforms can keep working with the tool of their choice, and developing automation leveraging their existing skillsets – without having to worry about administering those platforms or learning a new programming language. Adding a layer of Kong abstraction can help genericize the automation being called. For example, let's say that there is automation built into both products for provisioning a VM, and given that both automation products have specific REST API calls to trigger this specific function, the API abstraction layer can redirect the "provision a VM" call to the appropriate automation tool on the backend depending upon the requested parameters. This also helps from the business value perspective – as you can now replace or retire the automation platform you don't need gradually and without affecting the calling service.   

Keyva can help you assess your application readiness and adopt Agile methodologies. Through leveraging Infrastructure-As-Code deployments and implementing Composable Infrastructures you can rapidly modernize your applications. If you'd like to have us review your environment and provide suggestions on what might work for you, please contact us at info@keyvatech.com 


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

[post_title] => Composable Automation with Kong [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => composable-automation-with-kong [to_ping] => [pinged] => [post_modified] => 2020-03-05 19:46:02 [post_modified_gmt] => 2020-03-05 19:46:02 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2033 [menu_order] => 20 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [6] => WP_Post Object ( [ID] => 2030 [post_author] => 7 [post_date] => 2019-11-15 17:10:16 [post_date_gmt] => 2019-11-15 17:10:16 [post_content] =>

As organizations adopt the Agile framework, there is also a need for the Infrastructure teams to keep pace with providing the basic building blocks for application deployment in fast and cost-effect manner – this includes the underlying compute, network, storage resources, the DevOps pipeline, as well as the applications that flow through that pipeline. Enter composable infrastructure as a solution to meet these needs. However, there is usually confusion among teams as to who owns which parts of the deployment. Do the application teams own the entire stack? Which portions do the infrastructure teams own? Who owns the deployment of the OS layer? What about all of the other components?  Composable infrastructure can help alleviate some of that confusion.

What is composable infrastructure? The idea is to make the basic building blocks of required infrastructure available in a fluid way, think software-driven datacenter, such that it can be stood up at any time, by any consumer, and with a consistent configuration every single time. This can help you create a more agile and cost-effective end product offering, and take huge leaps in to providing IT-as-a-Service. There are also profound business benefits derived from composable infrastructure because of efficiencies gained via modularization of the IT stack.  

Let's take a deeper look. One of the common questions we get asked by our customers is "Who owns IT automation?" Is it the Infrastructure team that owns the Software, or the Operations team, or the Applications team that wants to automate deployments for their CI/CD Pipeline? There is no standard answer to this. But most organizations that are on the upper end of the IT automation maturity curve respond by creating Composable Infrastructure for the Automation tools in question.

The Infrastructure team would own the development of the packaged offering (e.g. Red Hat Ansible and Tower configurations patched and packaged to the latest supported versions made available via source control repository), and the respective Application teams would own the development of IT automation unique for their requirements (e.g. writing Ansible playbooks that automate their tasks, without worrying about the maintenance of the underlying platform).

With composable infrastructure, the Infrastructure and Operations team would also jointly be responsible for releasing new versions of package and deploying them throughout the environment. This way, any team that needs to work on Automation need not worry about learning skills around administration or maintenance for the underlying software, but rather focus on writing automation leveraging pre-built modules. This same concept can also be easily extended to containerized applications.  

Keyva has helped multiple organizations assess their application readiness and deliver application modernization, leverage Agile framework, and create Infrastructure-As-Code deployments by implementing composable infrastructures. If you'd like to have us review your environment and provide suggestions on what might work for you, please contact us at info@keyvatech.com


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

[post_title] => Composable Infrastructures [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => composable-infrastructures [to_ping] => [pinged] => [post_modified] => 2020-01-22 18:09:12 [post_modified_gmt] => 2020-01-22 18:09:12 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2030 [menu_order] => 21 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [7] => WP_Post Object ( [ID] => 1999 [post_author] => 7 [post_date] => 2019-11-11 18:46:49 [post_date_gmt] => 2019-11-11 18:46:49 [post_content] =>

In our most recent post we talked about how to set up Kong in your environment. We will now take a look at how to set up an API abstraction service in Kong, so you can route your requests to backend fulfillment APIs.  

In the example we look at today, we will set up a generic call for "Get Incident Ticket" and have it translated via Kong to a backend ServiceNow API call for ServiceNow Incident Management. You can use this example to set up similar API call translations to any microservice for any custom or commercial application.  

Step 1 – Check to make sure the Kong service is up and running 

kong health 

kong start 

curl -i http://<kong_FQDN_or_IP>:8001/ 

Step 2 – Set up a Service in Kong for the ServiceNow Incident API 

curl -i -X POST --url http://<kong_FQDN_or_IP>:8001/services --data 'name=servicenow-sample-get-incident' --data 'url=https://<servername>.service-now.com/api/now/table/incident?sysparam_limit=1' 

Step 3 – Create a route service for the API endpoint 

curl -i -X POST --url http://<kong_FQDN_or_IP>:8001/services/servicenow-sample-get-incident/routes --data 'hosts[]=itsm-server' --data 'paths[]=/get-incident' --data 'methods[]=GET' 

Step 4 – Test the API routing call. Note that the API translation happens on port 8000 by default. You will also provide the username and password (if needed) for the translated service. In our case, we will be passing basic authentication credentials for ServiceNow.  

curl -i -X GET --url http://localhost:8000/get-incident --header "Host: itsm-server" -u username:password 

The output would return the JSON formatted response from ServiceNow, and would look similar to below:  

{"result":[{"parent":"","made_sla":"true","caused_by":"","watch_list":"","upon_reject":"cancel","sys_updated_on":"2019-09-05 11:30:23","child_incidents":"0","hold_reason":"","approval_history":"","number":"INC0010001","resolved_by":"","sys_updated_by":"admin","opened_by":{"link":"https://itsm-server/api/now/table/sys_user/6816f79cc0a8016401c5a33be04be441","value":"6816f79cc0a8016401c5a33be04be441"},"user_input":"","sys_created_on":"2019-09-05 11:30:16","sys_domain":{"link":"https://itsm-server/api/now/table/sys_user_group/global","value":"global"},"state":"2","sys_created_by":"admin","knowledge":"false","order":"","calendar_stc":"","closed_at":"","cmdb_ci":"","delivery_plan":"","contract":"","impact":"3","active":"true","work_notes_list":"","business_service":"","priority":"5","sys_domain_path":"/","rfc":"","time_worked":"","expected_start":"","opened_at":"2019-09-05 11:30:16","business_duration":"","group_list":"","work_end":"","caller_id":"","reopened_time":"","resolved_at":"","approval_set":"","subcategory":"","work_notes":"","short_description":"keyva_snow_test","close_code":"","correlation_display":"","delivery_task":"","work_start":"","assignment_group":"","additional_assignee_list":"","business_stc":"","description":"keyva snow test description","calendar_duration":"","close_notes":"","notify":"1","service_offering":"","sys_class_name":"incident","closed_by":"","follow_up":"","parent_incident":"","sys_id":"c1341204dbf3b70045a1f26039961932","contact_type":"","reopened_by":"","incident_state":"2","urgency":"3","problem_id":"","company":"","reassignment_count":"0","activity_due":"","assigned_to":{"link":"https://itsm-server/api/now/table/sys_user/6816f79cc0a8016401c5a33be04be441","value":"6816f79cc0a8016401c5a33be04be441"},"severity":"3","comments":"","approval":"not requested","sla_due":"","comments_and_work_notes":"","due_date":"","sys_mod_count":"1","reopen_count":"0","sys_tags":"","escalation":"0","upon_approval":"proceed","correlation_id":"","location":"","category":"inquiry"}]}   

This quick walk-through showed you how you can easily create an API abstraction layer using Kong for specific back-end fulfillment calls. You can create similar calls for any level of infrastructure and application APIs and build capabilities towards an Infrastructure-as-Code implementation. 

Keyva helps organizations implement API abstraction and leverage it to deliver Infrastructure-as-Code. The team at Keyva has years of experience with Kong and other API abstraction tools. We also offer lunch-and-learn sessions for discussions around how other organizations are using these technologies and what use cases would work best for your organization. Please contact us if you're interested in discussing API abstraction and how it can work for you.  


CTO Anuj Tuli

Anuj joined Keyva from Tech Data where he was the Director of Automation Solutions. In this role, he specializes in developing and delivering vendor-agnostic solutions that avoid the “rip-and-replace” of existing IT investments. Tuli has worked on Cloud Automation, DevOps, Cloud Readiness Assessments and Migrations projects for healthcare, banking, ISP, telecommunications, government and other sectors.

During his previous years at Avnet, Seamless Technologies, and other organizations, he held multiple roles in the Cloud and Automation areas. Most recently, he led the development and management of Cloud Automation IP (intellectual property) and related professional services. He holds certifications for AWS, VMware, HPE, BMC and ITIL, and offers a hands-on perspective on these technologies.

Like what you read? Follow Anuj on LinkedIn at: https://www.linkedin.com/in/anujtuli/

Join the Keyva Community! Follow Keyva on LinkedIn at:

[post_title] => How to set up API abstraction service in Kong [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => how-to-set-up-api-abstraction-service-in-kong [to_ping] => [pinged] => [post_modified] => 2020-03-05 19:42:40 [post_modified_gmt] => 2020-03-05 19:42:40 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=1999 [menu_order] => 22 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) ) [post_count] => 8 [current_post] => -1 [in_the_loop] => [post] => WP_Post Object ( [ID] => 2115 [post_author] => 7 [post_date] => 2020-01-09 09:17:07 [post_date_gmt] => 2020-01-09 09:17:07 [post_content] =>

IDC recently presented a list of their worldwide IT Industry predictions for next year. You can find that presentation here.

IDC predicts that most of the worldwide IT spend in 2020, and in the next few years, will be towards innovation and digital transformation initiatives. This includes transformation projects for cloud-native architectures, public cloud adoption, hybrid architectures, AI and edge devices, and other platform migration initiatives. It is anticipated that in the near future, nearly two-thirds of the organizations will be producing and releasing application code more frequently, focusing on building and owning cloud-native technologies and applications, and growing their developer base. The commoditization of the DevOps pipeline – which has been achieved to an extent – will serve as a breeding ground for attention to shift towards the content that flows through that pipeline (i.e. the applications). Enterprises will need to operate as digital service providers - i.e. they will need to set up a product-centric approach for any services they offer, with an assigned product owner, and leveraging various opensource communities and other available resources to constantly innovate and update their offerings.  

As new platforms and solutions are adopted by organizations to achieve their vision of multi-platform multi-cloud self-service automation, there will be an ongoing need to integrate these various services and offerings and leverage API abstraction implementations to enable decoupled architectures. Cultural transformation for organizations to adopt agile practices will likely be one of the biggest challenges to the speed and adoption of digital transformation.  

[post_title] => IDC Report: Worldwide IT Industry Predictions [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => idc-report-worldwide-it-industry-predictions [to_ping] => [pinged] => [post_modified] => 2020-03-05 20:04:22 [post_modified_gmt] => 2020-03-05 20:04:22 [post_content_filtered] => [post_parent] => 0 [guid] => https://keyvatech.com/?p=2115 [menu_order] => 3 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) [comment_count] => 0 [current_comment] => -1 [found_posts] => 52 [max_num_pages] => 7 [max_num_comment_pages] => 0 [is_single] => [is_preview] => [is_page] => [is_archive] => [is_date] => [is_year] => [is_month] => [is_day] => [is_time] => [is_author] => [is_category] => [is_tag] => [is_tax] => [is_search] => [is_feed] => [is_comment_feed] => [is_trackback] => [is_home] => 1 [is_privacy_policy] => [is_404] => [is_embed] => [is_paged] => 1 [is_admin] => [is_attachment] => [is_singular] => [is_robots] => [is_favicon] => [is_posts_page] => [is_post_type_archive] => [query_vars_hash:WP_Query:private] => ffe749ae724a4a135e2f5e8c2aa8e11e [query_vars_changed:WP_Query:private] => [thumbnails_cached] => [stopwords:WP_Query:private] => [compat_fields:WP_Query:private] => Array ( [0] => query_vars_hash [1] => query_vars_changed ) [compat_methods:WP_Query:private] => Array ( [0] => init_query_flags [1] => parse_tax_query ) [tribe_is_event] => [tribe_is_multi_posttype] => [tribe_is_event_category] => [tribe_is_event_venue] => [tribe_is_event_organizer] => [tribe_is_event_query] => [tribe_is_past] => )
person writing in notebook

IDC Report: Worldwide IT Industry Predictions

IDC recently presented a list of their worldwide IT Industry predictions for next year. You can find that presentation here. IDC predicts that most of the worldwide IT spend in 2020, and in the next few years, will ...
Read more
person typing on keyboard

How to Install Kong Enterprise on CentOS 7

This blog walks through the installation of Kong Enterprise (via rpm) on a CentOS 7 Virtual Machine. You can download and install the latest version of CentOS from https://www.centos.org/download/. We will be installing Kong Enterprise in a ...
Read more
digital transformation

Takeaway from the Gartner 2019 Symposium

A Keyva Executive Blog Post by Jaime Gmach I was reviewing an executive summary from the recent Gartner 2019 Symposium/Xpo in Orlando and was struck by a very logical, but occasionally overlooked message from the keynote centering ...
Read more
Kong API

Secure your business critical apps with Kong

As organizations transform and containerize their business critical applications with the objective of making them ready for deployment in to various Cloud platforms, they are also need to address application security. There are several considerations to achieve ...
Read more
man working on laptop

Patch Management Automation

If you have an IT environment with hundreds or thousands of servers running a multiple OSes, you know the operational challenges of patching and maintenance all too well. Many organizations have operational team members dedicated to patching ...
Read more
Kong API

Composable Automation with Kong

We talked about how Kong can help you get set up with API abstraction here, and we also talked about Composable Infrastructures here. Today we will discuss how you can combine both these ideas to enable the delivery of ...
Read more
Young IT engineer standing near datacenter servers

Composable Infrastructures

As organizations adopt the Agile framework, there is also a need for the Infrastructure teams to keep pace with providing the basic building blocks for application deployment in fast and cost-effect manner – this includes the underlying ...
Read more
Kong API

How to set up API abstraction service in Kong

In our most recent post we talked about how to set up Kong in your environment. We will now take a look at how to set up an API abstraction service in Kong, so you can route ...
Read more