Friday, June 26, 2020

Aws HoneyCode

Amazon Honeycode is new fully-managed AWS service gives you the power to build powerful mobile & web applications without writing any code.

Amazon Honeycode is available in beta. 

Honeycode comes with built-in common application templates that users can pick to start building their own apps. Some of these templates come in handy for those looking to build surveys, task trackers, inventory management system or event management process.

It uses the familiar spreadsheet model and lets you get started in minutes. If you or your teammates are already familiar with spreadsheets and formulas, you’ll be happy to hear that just about everything you know about sheets, tables, values, and formulas still applies.

The service uses an underlying AWS database, allowing data to be linked, filtered and sorted, but with a point-and-click interface and a data entry structure reminiscent of a spreadsheet.

The service is free for applications with up to 20 users, with charges kicking in for larger applications.



Docker on 32-bit Windows

Docker is a set of platform as a service (PaaS)that uses OS-level virtualization to deliver software in packages called containers.
Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.
Docker allows applications to use the same Linux kernel as the system that they're running on and only requires applications be shipped with things not already running on the host computer.
For some reason, Docker really doesn’t want people to run on 32-bit.
Below are the steps.
  • Download choco from below link:https://chocolatey.org/docs/installation
  • Once installed,issue below steps.
  • choco install docker-machine -y
  • docker-machine create --driver virtualbox default
  • docker-machine env | Invoke-Expression
That’s it! You can verify that it’s working correctly by running “docker version”:
PS C:\Windows\system32> docker version
Client:
 Version: 1.12.1
 API version: 1.24
 Go version: go1.6.3
 Git commit: 23cf638
 Built: Thu July 18 17:52:38 2021
 OS/Arch: windows/386

Wednesday, June 24, 2020

Ansible Tower

Ansible Tower(<https://www.ansible.com/products/tower>) by Red Hat is an enterprise framework for managing your Ansible automation that provides a UI and restful API.
It provides role-based access control, graphical inventory management, and job scheduling.
It provides real-time output of playbook runs and is fully compatible with the major cloud environments.
Ansible Tower features:
  • Role-based access control: you can set up teams and users in various roles. These can integrate with your existing LDAP or AD environment.
  • Job scheduling: schedule your jobs and set repetition options
  • Portal mode: this is a simplified view of automation jobs for newbies and less experienced Ansible users. This is an excellent feature as it truly lowers the entry barriers to starting to use Ansible.
  • Fully documented REST API: allows you to integrate Asible into your existing toolset and environment
  • Tower Dashboard: use this to quickly view a summary of your entire environment. Simplifies things for sysadmins while sipping their coffee.
  • Cloud integration: Tower is compatible with the major cloud environments: Amazon EC2, Rackspace, Azure.
Ansible Tower is supported by the following operating systems:
  • Red Hat Enterprise Linux 6 64-bit
  • Red Hat Enterprise Linux 7 64-bit
  • CentOS 6 64-bit
  • CentOS 7 64-bit
  • Ubuntu 12.04 LTS 64-bit
  • Ubuntu 14.04 LTS 64-bit
  • Ubuntu 16.04 LTS 64 bit
  • 64-bit support required (kernel and runtime) and 20 GB hard disk.
  • Minimum 2 GB RAM (4+ GB RAM recommended) is required.
  • 2 GB RAM (minimum and recommended for Vagrant trial installations
  • 4 GB RAM is recommended /100 forks


Tuesday, June 23, 2020

Top GUI's for Docker

Graphical user interfaces give you a bunch of different and useful ways to interact with Docker.
Portainer:
Portainer (formerly UI for Docker) is a free open-source web application that runs as a container itself. You can install and start it with:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
Rancher:
Rancher is a tool that takes what’s possible with a Docker GUI further and is more useful for production clusters. 
Reflecting this focus on production, Rancher is designed to work on Linux machines, so to test locally you might need to install onto a Virtual Machine.
Start the Rancher container using the following docker run command:
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable

DockStation (Desktop app):
OS Support: Linux/Mac/Windows
DockStation is a free full-featured desktop app which allows you to work with docker and docker-compose. It can help generate a clean and native docker-compose.yml file which can be used even outside the application, using the native Docker Compose CLI commands.

With DockStation, you can easily track CPU, Memory, Networks I/O, Blocks I/O usage and open ports. 



Lazydocker (Terminal UI):
        Open-sourceOS: (Linux/OSX/Windows)
  • Requirements:
  • Go version >= 1.8
  • Docker >= 1.13 (API >= 1.25)
  • Docker-Compose >= 1.23.2 (optional)
Shipyard:
With a similar set of features to the other web-based GUIs mentioned in this article, Shipyard provides an interface to your containers, images, and Docker instances. Start it running with this one command that handles multiple operating systems:
curl -s https://shipyard-project.com/deploy | bash

 

Conclusion:
The above is not a full list but some of the most popular and convenient free GUIs for Docker. Which one to select — depends on your needs.
If you need a really powerful instrument for a team with access management, works with Docker swarm, with Docker stack and can be deployed on a remote server — choose Portainer. 

Monday, June 22, 2020

Netflix Eureka Server

In a typical microservice architecture we have many small applications deployed separately and they often need to communicate with each other.

Problem in this type of architecture is how the client service finds all of its end services. We normally hardcode the hostname/port in some property file,which is not a best practice. 

There could be any number of microservices, and it's time and resource-consuming to hard-code when there's an uncertain amount of them, and when their locations may change.

Discovery implies a mechanism where:
  • Services have no prior knowledge about the physical location of other Service Instances
  • Services advertise their existence and disappearance
  • Services are able to find instances of another Service based on advertised metadata
  • Instance failures are detected and they become invalid discovery results
Service Discovery is not a single point of failure by itself.

To solve this issue, we need a tool that will monitor and maintain the registry of all the microservices in the ecosystem.

Netflix Eureka:

Netflix to provide a solution to the above problem. It consists of the Eureka Server and Eureka clients. Eureka Server is itself a microservice to which all other microservices registers. Eureka Clients are the independent microservices.

The actual routing is done at runtime along with equally distributing the load among the end services.

There are other service discovery clients like Consul,Zookeeper,etcd,Cloudfoundry..etc.


High Availability in Eureka:

Netflix Eureka is built for High Availability. In CAP Theorem terms, it favors Availability over Consistency.

Focus is on ensuring Services can find each other in unplanned scenarios like network partitions or Server crashes.

High Availability is achieved at two levels:
  • Server Cluster :Production setup includes a cluster of Eureka Servers,
  • Client Side Caching.
Client Side Caching:

One of the best Eureka features is Client Side Caching. The Client pulls regularly discovery information from the registry and caches it locally. 

It basically has the same view on the system as the Server. In case all Servers go down or the Client is isolated from the Server by a network partition, it can still behave properly until its cache becomes obsolete.

Note:Clients retrieve and cache the registry information from the Eureka Server. In case all Servers crash, the Client still holds the last healthy snapshot of the registry.

Sunday, June 21, 2020

Install Jenkins Plugins

Plugins are the primary means of enhancing the functionality of a Jenkins environment to suit organization needs. 

There are over a thousand different plugins which can be installed on a Jenkins master and to integrate various build tools, cloud providers, analysis tools, and much more.

Plugins can be automatically downloaded, with their dependencies, from the Update Center. 

The Update Center is a service operated by the Jenkins project which provides an repository of open source plugins which have been developed and maintained by various members of the Jenkins community.

Jenkins provides a couple of different methods for installing plugins on the master:
  • Using the "Plugin Manager" in the web UI.
  • Using the Jenkins CLI install-plugin command.
The plugins are packaged as self-contained .hpi files, which have all the necessary code, images, and other resources which the plugin needs to operate successfully.

Advanced installation:

The Update Center only allows the installation of the most recently released version of a plugin.

For Older version plugins, a Jenkins administrator can download an older .hpi archive and manually install that on the Jenkins master.




Docker on AWS

Docker is a tool that allows developers,sys-admins etc. to easily deploy their applications in a sandbox (called containers) to run on the host operating system i.e. Linux. 

The key benefit of Docker is that it allows users to package an application with all of its dependencies into a standardized unit for software development.Like virtual machines, containers do not have high overhead and hence enable more efficient usage of the underlying system and resources.

There are a Multiple ways to run your containerized workloads on AWS. 
  • Amazon Elastic Container Service with AWS Fargate
  • AWS Ec2 Instance
  • Amazon Elastic Container Service for Kubernetes
  • AWS Elastic BeanStack with Single Conatiner Docker

In this blog post, we are going to install Docker on EC2 instance.


ES12 new Features