<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Bhavesh Kumawat on Medium]]></title>
        <description><![CDATA[Stories by Bhavesh Kumawat on Medium]]></description>
        <link>https://medium.com/@bhaveshkumawat77?source=rss-50f82dbe4888------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*7eq7RkSuVTmXRwzw9ypybw.jpeg</url>
            <title>Stories by Bhavesh Kumawat on Medium</title>
            <link>https://medium.com/@bhaveshkumawat77?source=rss-50f82dbe4888------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 26 May 2026 23:02:58 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@bhaveshkumawat77/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Exploring databases:MongoDB]]></title>
            <link>https://bhaveshkumawat77.medium.com/exploring-databases-mongodb-616c08eba7c1?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/616c08eba7c1</guid>
            <category><![CDATA[nosql-database]]></category>
            <category><![CDATA[database]]></category>
            <category><![CDATA[industry-use-case]]></category>
            <category><![CDATA[mongodb]]></category>
            <category><![CDATA[nosql]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Sat, 22 May 2021 16:35:33 GMT</pubDate>
            <atom:updated>2021-05-22T16:35:33.589Z</atom:updated>
            <content:encoded><![CDATA[<h3>Exploring databases: MongoDB</h3><h3>What Is a Database?</h3><p>A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A database is usually controlled by a database management system (DBMS). Together, the data and the DBMS, along with the applications that are associated with them, are referred to as a database system, often shortened to just database.</p><p>Data within the most common types of databases in operation today is typically modeled in rows and columns in a series of tables to make processing and data querying efficient. The data can then be easily accessed, managed, modified, updated, controlled, and organized. Most databases use structured query language (SQL) for writing and querying data.</p><h3>Types of Databases</h3><p>There are various types of databases used for storing different varieties of data:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/660/1*q3Phs7TfcBOeIvLYICnGcg.png" /><figcaption>Types of databases</figcaption></figure><h3>Difference between SQL and NoSQL databases</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NRlGYZWBbwamSAoLAgf1yQ.png" /><figcaption>difference table</figcaption></figure><h3>What is MongoDB?</h3><p><strong>MongoDB</strong> is a document-oriented NoSQL database used for high volume data storage. Instead of using tables and rows as in the traditional relational databases, MongoDB makes use of collections and documents. Documents consist of key-value pairs which are the basic unit of data in MongoDB. Collections contain sets of documents and function which is the equivalent of relational database tables. MongoDB is a database which came into light around the mid-2000s.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ce0gUe0LbnhL7ebnDGTp5w.png" /></figure><h3>Why Use MongoDB?</h3><p>MongoDB is a document database built on a scale-out architecture that has become popular with developers of all kinds who are building scalable applications using agile methodologies.</p><p>MongoDB was built for people who are building internet and business applications who need to evolve quickly and scale elegantly. If you are doing that, you should consider MongoDB.</p><p>Companies and development teams of all sizes use MongoDB because:</p><ul><li>The document data model is a powerful way to store and retrieve data that allows developers to move fast.</li><li>MongoDB’s horizontal, scale-out architecture can support huge volumes of both data and traffic.</li></ul><p>MongoDB has a great user experience for developers who can install MongoDB and start writing code immediately.</p><ul><li>MongoDB can be used everywhere by anyone:</li><li>For free through the open source community edition</li><li>In the largest data centers through the enterprise edition</li><li>In any of the major public clouds through MongoDB Atlas</li></ul><p>MongoDB has developed a large and mature platform ecosystem, which means:</p><ul><li>MongoDB has a worldwide community of developers and consultants, so it is easy to get help.</li><li>MongoDB works on all types of computing platforms, both on-premise and in the cloud (both private, and public clouds such as <a href="https://www.mongodb.com/mongodb-on-aws">AWS</a>, <a href="https://www.mongodb.com/mongodb-on-azure">Azure</a>, and <a href="https://www.mongodb.com/cloud/atlas/mongodb-google-cloud">Google Cloud</a>)</li><li>MongoDB can be used from all major languages.</li><li>MongoDB can be accessed from all major ETL and <a href="https://www.mongodb.com/database-management-system">data management systems</a>.</li><li>MongoDB has enterprise-grade support.</li></ul><h3>MongoDB Features</h3><ol><li>Each database contains collections which in turn contains documents. Each document can be different with a varying number of fields. The size and content of each document can be different from each other.</li><li>The document structure is more in line with how developers construct their classes and objects in their respective programming languages. Developers will often say that their classes are not rows and columns but have a clear structure with key-value pairs.</li><li>The rows (or documents as called in MongoDB) doesn’t need to have a schema defined beforehand. Instead, the fields can be created on the fly.</li><li>The data model available within MongoDB allows you to represent hierarchical relationships, to store arrays, and other more complex structures more easily.</li><li>Scalability — The MongoDB environments are very scalable. Companies across the world have defined clusters with some of them running 100+ nodes with around millions of documents within the database</li></ol><h3>Top MongoDB Usage</h3><h3>1. Mobility and Scaling</h3><p>MongoDB is very scalable and flexible, which gives fantastic database solutions to deal with different kinds of environments. The schemas of MongoDB will evolve over time, and in this way, mobile application developers can focus their time on developing better customer experience. This will help many companies to deal with varying structures of data that are coming from many different sources in the mobile application development world.</p><h3>2. Real-Time Data Integration</h3><p>There is a lot of value to data if it is consolidated and aggregated into one single view, and MongoDB plays a vital role in doing that. Due to the query capabilities and flexibility of MongoDB, now it is easier to aggregate data and create those tools which will make an organization more efficient.</p><p>With the help of MongoDB, one can see aggregated data in a single view in real-time, which provides massive value to the companies. A developer can also take quick action on specific events and also monitor with the help of MongoDB 3.6.</p><h3>3. Product Catalog</h3><p>There are many attributes to products which are easily stored as an object using MongoDB and can be used to understand the customer better in the digital experience. Nowadays, the quality and volume of data are increasing and are being used to improve the interaction in product catalogs of customers. MongoDB has dynamic schema capability, which helps in bringing relevancy between attributes and product documents. It will provide a better experience for both customers and developers</p><h3>Some Real-World Companies That Use MongoDB</h3><p><strong>1. eBay</strong></p><p>eBay is a multinational company that provides a platform for the customer to customer sales. It is currently running a large number of projects in MongoDB like merchandising categorization, cloud management, metadata storage, search suggestions.</p><p><strong>2. MetLife</strong></p><p>MetLife is a leading company in employee benefit programs, annuities, and insurance. There are more than 90 million customers in the Middle East, Europe, Aisa, Latin America, Japan, United States. MetLife is using MongoDB for its advanced customer service application called The Wall.</p><p>This application provides a combined view of transactions, policy details, and other details of MetLife Customers. It looks like Wall of Facebook, which takes data from 70 legacy systems and merges it into a single record. It stores 24 Terabytes of data and runs across six servers in two data centers. MetLife is working on a series of Big Data projects where MongoDB-based applications are part of it.</p><p><strong>3. Aadhar</strong></p><p>It is India’s Unique Identification project, which has the biggest biometrics database in the world. Aadhar Project is using MongoDB as its database to store a massive amount of demographic and biometric data of more than 1.2 billion Indians. MongoDB is being used for the storage of images in the Aadhar project.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=616c08eba7c1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Message Queues : importance ,need and implementation using Amazon SQS]]></title>
            <link>https://bhaveshkumawat77.medium.com/message-queues-importance-need-and-implementation-using-amazon-sqs-de23649c0304?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/de23649c0304</guid>
            <category><![CDATA[aws]]></category>
            <category><![CDATA[cloud-services]]></category>
            <category><![CDATA[case-study]]></category>
            <category><![CDATA[message-queue]]></category>
            <category><![CDATA[aws-sqs]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Sat, 01 May 2021 17:08:24 GMT</pubDate>
            <atom:updated>2021-05-01T17:08:24.684Z</atom:updated>
            <content:encoded><![CDATA[<h3>Message Queues : importance ,need and implementation using Amazon SQS</h3><h3>What is message queuing?</h3><p>Message queuing allows applications to communicate by sending messages to each other. The message queue provides temporary message storage when the destination program is busy or not connected.</p><h3>Message queues</h3><p>A message queue provides an <strong>asynchronous communications protocol,</strong> which is a system that puts a message onto a message queue and does not require an immediate response to continuing processing. Email is probably the best example of asynchronous communication. When an email is sent, the sender continues to process other things without needing an immediate response from the receiver. This way of handling messages decouples the producer from the consumer so that they do not need to interact with the message queue at the same time.</p><h4>Decoupling and Scalability</h4><p>Decoupling describes how much one piece of a system relies on another piece of the system. Decoupling is the process of separating functions so that they are more self-contained.</p><p>A decoupled system is achieved when two or more systems are able to communicate without being connected. The systems can remain completely autonomous and unaware of other functions. Decoupling is often a sign of a computer system that is well structured because it is easier to maintain,</p><p>If one process in a decoupled system fails to process messages from the queue, other messages can still be added to the queue and be processed when the system has recovered. You can also use a message queue to delay processing — for example, a producer posts messages to a queue. At the appointed time, the consumers start and process the messages in the queue. A queued message can be stored-and-forwarded, and the message can be redelivered until it is processed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/443/1*Xu8RnlfibaHx1zzf9w5QeQ.jpeg" /></figure><h3>What is Amazon SQS service?</h3><p>Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. SQS eliminates the complexity and overhead associated with managing and operating message oriented middleware, and empowers developers to focus on differentiating work. Using SQS, you can send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be available. Get started with SQS in minutes using the AWS console, Command Line Interface or SDK of your choice, and three simple commands.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/711/1*Y18kBidhHpuRx6gxW3xPIw.png" /></figure><p>SQS offers two types of message queues. Standard queues offer maximum throughput, best-effort ordering, and at-least-once delivery. SQS FIFO queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent.</p><h3>Benefits</h3><h3>Eliminate administrative overhead</h3><p>AWS manages all ongoing operations and underlying infrastructure needed to provide a highly available and scalable message queuing service. With SQS, there is no upfront cost, no need to acquire, install, and configure messaging software, and no time-consuming build-out and maintenance of supporting infrastructure. SQS queues are dynamically created and scale automatically so you can build and grow applications quickly and efficiently.</p><h3>Reliably deliver messages</h3><p>Use Amazon SQS to transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be available. SQS lets you decouple application components so that they run and fail independently, increasing the overall fault tolerance of the system. Multiple copies of every message are stored redundantly across multiple availability zones so that they are available whenever needed.</p><h3>Keep sensitive data secure</h3><p>You can use Amazon SQS to exchange sensitive data between applications using server-side encryption (SSE) to encrypt each message body. Amazon SQS SSE integration with AWS Key Management Service (KMS) allows you to centrally manage the keys that protect SQS messages along with keys that protect your other AWS resources. AWS KMS logs every use of your encryption keys to AWS CloudTrail to help meet your regulatory and compliance needs.</p><h3>Scale elastically and cost-effectively</h3><p>Amazon SQS leverages the AWS cloud to dynamically scale based on demand. SQS scales elastically with your application so you don’t have to worry about capacity planning and pre-provisioning. There is no limit to the number of messages per queue, and standard queues provide nearly unlimited throughput. Costs are based on usage which provides significant cost saving versus the “always-on” model of self-managed messaging middleware.</p><h3>How SQS is used by the industry</h3><h3>Environmental Monitoring Solutions (EMS) Case Study</h3><h4>EMS Delivers 500% ROI through IoT Capabilities Using AWS</h4><p>With our AWS IoT–enabled Fuelsuite solution, customers manage their petrol stations proactively rather than reactively… to dramatically improve efficiencies and detect fuel leaks early to minimize environmental impacts.</p><p>Russell Dupuy Founder and Managing Director, EMS</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/199/0*vKcBuG3IdBUpAV52.jpg" /></figure><h3>About Environmental Monitoring Solutions (EMS)</h3><p><a href="https://drivingfueliq.com/">Environmental Monitoring Solutions</a> (EMS) is based in Victoria, Australia. Launched 25 years ago, the company specializes in solutions that help petrol retailers gather and analyze data on the performance of their petrol stations. Its solutions provide remote monitoring and 24/7 support services — helping customers boost sales, reduce maintenance expense, and decrease the risk of accidents. Today, EMS operates with a team of 30 personnel.</p><h3>The Challenge</h3><p>EMS customers such as Viva Energy (Shell), PUMA Energy, BP, and 7-Eleven typically own and operate hundreds of petrol stations across Australia. The stations need to operate highly efficiently because profit margins are small. Yet, at the same time, they have to offer great customer experiences, ensure employee safety, and minimize their environmental impact. Sometimes accidents do occur, and a typical EMS customer is likely to incur annual costs of AU$15 million (US$12.13 million) for cleaning up underground petrol tank leaks or vehicle fuel tank contamination. To help customers maximize efficiencies while addressing the need for service excellence, safety, and environmental protection, EMS developed Fuelsuite, which enables customers to switch from legacy technologies that are largely manual and unify station management — significantly reducing costs. With Fuelsuite, customers can monitor inventories, deliveries, and prices. The solution also raises alarms in event of possible environmental incidents, such as underground tank overfills. After the successful launch of Fuelsuite, EMS focused on product development. It looked to connect sensors in the stations’ underground tanks and pumps and, regardless of the configurations of those sensors, collect all their data at 30-second intervals. The data would then be aggregated on a cloud-computing infrastructure and displayed via a web-enabled interface in Fuelsuite in near-real time. Russell Dupuy, founder and managing director of EMS, says, “Our job was to find an IT partner and cloud-computing provider that could help us re-engineer our Fuelsuite technology and deliver an innovative off-the-shelf product that was user-friendly and easily customizable.”</p><h3>Why Amazon Web Services</h3><p>EMS researched the market for cloud-computing providers, focusing specifically on providers of Internet of Things (IoT) technology. Through IoT, EMS would be able to collect all the sensor data and deliver it to the Fuelsuite interface. In 2015, when EMS first started looking at cloud providers and their IoT services, Dupuy found that Amazon Web Services (AWS) was way ahead of Microsoft Azure. “From what I’d read, I was more confident in the AWS IoT roadmap,” says Dupuy. “We were investing millions of dollars in this project, so I had to be sure of the provider we were going to work with.”</p><p>EMS then engaged with AWS Partner Network (APN) Advanced Consulting Partner DiUS, which organized a two-day workshop with key stakeholders to agree on a shared vision for Fuelsuite. “The expertise that DiUS has in AWS and IoT gave us a lot of confidence,” says Dupuy. Just as importantly, DiUS agreed to the plan of designing, supporting productization, and launching the IoT-enabled Fuelsuite solution for a major EMS customer retail network within 12 months. “DiUS showed that it was possible to meet our schedule by rolling out the platform at first with just enough AWS IoT capabilities for customers, and then extending those capabilities down the line.”</p><p>DiUS and EMS designed the new version of Fuelsuite so that data from the sensors is aggregated by a custom-built physical device, called Fuelscan®, which is situated inside the petrol stations. Fuelscan then wirelessly transmits the data to the AWS Cloud, where it gets processed and delivered via the Fuelsuite web-based interface. So that EMS is able to offer customized functionality for different customers, DiUS designed the solution to take advantage of AWS IoT Device Management to securely onboard, organize, monitor, and remotely manage the Fuelscan devices. <strong>It also uses Amazon Simple Queue Service (Amazon SQS) to queue messages from the AWS Cloud to Fuelscan devices and relies on Amazon Elastic Compute Cloud (Amazon EC2) to process the messages to and from the devices.</strong> In addition, the sensor data is stored from the devices in an Amazon Relational Database Service (Amazon RDS) instance, and Amazon Elasticsearch Service is used to keep a historical record of all Fuelscan data. Finally, the collected data is archived in Amazon Simple Storage Service (Amazon S3) buckets.</p><h3>The Benefits</h3><p>At present, more than 1,000 petrol stations in Australia are benefiting from the IoT-enabled Fuelsuite solution. Station operators get near-real-time data on the performance of their stations, including how much petrol is being sold and how much is in the underground storage tanks. It also includes data on the pressure inside the hoses connecting the petrol pumps to the automobiles, and on the temperature and petrol level inside the underground tanks. “With our AWS IoT–enabled Fuelsuite solution, customers manage their petrol stations proactively rather than reactively — gaining a complete picture of petrol station performance to dramatically improve efficiencies and detect fuel leaks early to minimize environmental impacts,” says Dupuy.</p><p>The potential savings from proactive rather than reactive management are significant. Likewise, operators can use the performance data on fuel sales to optimize the distribution of the most heavily used petrol pumps. “We expect that customers gain a 500 percent return on their annual costs of the AWS IoT–enabled Fuelsuite solution,” says Dupuy. Furthermore, EMS expects the return on investment to increase over time. “The AWS IoT Core platform is extensible so that we can incorporate more data from the petrol stations.”</p><p>Dupuy says that without AWS and DiUS, EMS would have found it challenging to take advantage of IoT. “The expertise of DiUS and the total reliability of the AWS infrastructure meant we could develop and roll out our IoT-enabled Fuelsuite in 12 months and be sure it would meet the needs of our customers.”</p><p>EMS, in partnership with DiUS, is now developing Fuelsuite further, adding new services for the fuel industry. It will also be launching the product internationally. Dupuy says, “An advantage of AWS is that machine learning, deep learning, and other new artificial intelligence services can easily be applied to a customer’s aggregated data that is collected through the Fuelsuite solution.”</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=de23649c0304" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Use Helm With Kubernetes?]]></title>
            <link>https://medium.com/geekculture/how-to-use-helm-with-kubernetes-363d5eee6371?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/363d5eee6371</guid>
            <category><![CDATA[helm]]></category>
            <category><![CDATA[helm-chart]]></category>
            <category><![CDATA[kubernetes-cluster]]></category>
            <category><![CDATA[kubernetes]]></category>
            <category><![CDATA[package-manager]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Wed, 28 Apr 2021 14:45:51 GMT</pubDate>
            <atom:updated>2021-04-28T21:12:03.959Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*vYjNPycxLPi6nv7fDPoBwQ.png" /></figure><h3>Brief introduction about Kubernetes</h3><p><strong>Kubernetes</strong>, at its basic level, is a system for running and coordinating containerized applications across a cluster of machines. It is a platform designed to completely manage the life cycle of containerized applications and services using methods that provide predictability, scalability, and high availability.</p><p>As a Kubernetes user, you can define how your applications should run and the ways they should be able to interact with other applications or the outside world. You can scale your services up or down, perform graceful rolling updates, and switch traffic between different versions of your applications to test features or rollback problematic deployments. Kubernetes provides interfaces and composable platform primitives that allow you to define and manage your applications with high degrees of flexibility, power, and reliability.</p><h3>What is Helm?</h3><p>In simple terms, Helm is a package manager for Kubernetes. Helm is the K8s equivalent of yum or apt. Helm deploys charts, which you can think of as a packaged application. It is a collection of all your versioned, per-configured application resources which can be deployed as one unit. You can then deploy another version of the chart with a different set of configuration.</p><p>Helm helps in three key ways:</p><ul><li>Improves productivity</li><li>Reduces the complexity of deployments of micro services</li><li>Enables the adaptation of cloud native applications</li></ul><h3>Why use Helm?</h3><p>Writing and maintaining Kubernetes <strong>YAML manifests</strong> for all the required Kubernetes objects can be a time consuming and tedious task. For the simplest of deployments, you would need at least 3 YAML manifests with duplicated and hardcoded values. Helm simplifies this process and creates a single package that can be advertised to your cluster.</p><h3>What are Helm charts?</h3><p>Helm Charts are simply Kubernetes YAML manifests combined into a single package that can be advertised to your Kubernetes clusters. Once packaged, installing a Helm Chart into your cluster is as easy as running a single <strong>helm install</strong>, which really simplifies the deployment of containerized applications.</p><h3>Prerequisites</h3><p>The following prerequisites are required for a successful and properly secured use of Helm.</p><ol><li>A Kubernetes cluster</li><li>Deciding what security configurations to apply to your installation, if any</li><li>Installing and configuring Helm.</li></ol><p><strong><em>In this blog we will be creating a simple wordpress helm chart having back-end MYSQL connectivity.</em></strong></p><h4>Setting up MySQL deployment before configuring wordpress helm chart</h4><p>As the wordpress requires a back-end database for its functioning , so let us first create a deployment for it .</p><p>For this we can use a yaml file for deployment:-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ubOb21OxqZXC4BBv26XYmA.png" /><figcaption>MySQL.yaml deployment file</figcaption></figure><p>Run this file using :-</p><p><strong><em>#kubectl apply -f mysql.yaml</em></strong></p><p>After creating deployment expose the services so that wordpress can utilize it using :-</p><p><strong><em>#kubectl expose deploy mysql — port:3306 — type=NodePort</em></strong></p><p>3306 is the by default port number for the MYSQL.</p><h4>Now let’s configure a helm chart for the wordpress:-</h4><h4>Step1: configure k8s cluster</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qFexVCzBkm8Wecfbax9fag.png" /><figcaption>K8s cluster configured</figcaption></figure><p>The cluster shown in above image configured already and used in this tutorial.</p><h4>Step2: Installing helm</h4><p>Helm can be installed by using the link mentioned below with the <strong>wget command </strong>or any other according to the operating system:-</p><p><a href="https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz">https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HVX-FV35vdRldqPMLrobkA.png" /></figure><p>After downloading helm :-</p><p>Unpack it (<strong><em>#tar -zxvf helm-v3.5.2-linux-amd64.tar.gz</em></strong>)</p><p>Find the helm binary in the unpacked directory, and move it to its desired destination (<strong><em>mv linux-amd64/helm /usr/bin/</em></strong>)</p><h4>Step3: Installing helm chart</h4><p>For installing or creating the helm chart first create a empty directory with the name of the chart you want to create can be done with <strong><em>mkdir</em></strong> command. In our case wordpress.</p><p>Now for installing helm chart inside the directory the basic requirement is of chart file having by default name <strong>Chart.yaml</strong> . Which contains basic information about the helm chart.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ULKBKi7d1ssG2rNc9goVrQ.png" /><figcaption>Chart.yaml file</figcaption></figure><p>Now the helm chart can be installed in the directory by following command helm install [chart_name] [directory_name]/</p><p><strong><em>#helm install wordpress /wordpress</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hsyuCN2oVgQuAfIFYN9biA.png" /><figcaption>helm installed in the directory</figcaption></figure><h4>Step4: Adding yaml files in helm chart</h4><p>For adding the yaml files in the helm chart directory create another directory/folder with the name templates(by default ).</p><p>And add all the Yaml files in it. Two files has been used in this configuration</p><ol><li>The deployment file having details of environmental values for the back-end MySQL.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/775/1*jSbNFNCo2q4KKpzmrwo0xA.png" /><figcaption>wordpress deployment file</figcaption></figure><p>2.The service file which alongside expose the services of wordpress deployment for the public world connectivity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/362/1*Dx4f3JYC1uddIYey0vJCzg.png" /><figcaption>service file for exposing the wordpress alongside</figcaption></figure><h4>Step5: Helm upgrade</h4><p>Hence some new files are added in the helm chart so to affect the changes ,if we again try to install the helm chart it will give us error.</p><p>Now we would have to take help of the helm upgrade command:-</p><p><strong><em>#helm upgrade wordpress wordpress/</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5-zkoTorC77fai8BIMeo7A.png" /><figcaption>output of upgrade command</figcaption></figure><p>Now the required resources will be launched respectively</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QOGpromStOCPgqmuu_PIrg.png" /><figcaption>resources launched successfully</figcaption></figure><p>And thus our helm chart has been successfully set-up and configured.</p><h4>Result : Accessing wordpress site</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wJRrL6PVyhcGdogX3nNlyQ.png" /><figcaption>wordpress successfully configured</figcaption></figure><p>After creating account on this page a login page will appear</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xuggANIvPhuQ-n2k1xsrlg.png" /><figcaption>login page</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ivlj928Ge5l54ckDJbYz5Q.png" /></figure><p>Since after login dashboard appears , by this we can conclude that the helm chart has been configured successfully and have proper connection with back-end MYSQL.</p><p>All the files available at:-</p><p><a href="https://github.com/bhaveshkumawat/kubernetes-helm-chart-wordpress">bhaveshkumawat/kubernetes-helm-chart-wordpress</a></p><h3>Making our chart more dynamic</h3><p>For making our chart more dynamic in the previous file the mysql database values are hard coded and fixed and anyone can have their different values.</p><p>So for this the concept of values come in place . For taking the values dynamically create a file with by default name <strong><em>values.yaml</em></strong> and define the variable values in this file .</p><p>for example lets take our own chart :-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ssFPOW0DpvJlbChFYLPu_A.png" /><figcaption>values.yaml file</figcaption></figure><p>And use the value as <strong><em>{{ .Values.variable_name }}</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/790/1*UJYtcTW50sDb_NygwBUFDg.png" /><figcaption>dynamic values fille</figcaption></figure><p>Now before installing the chart on can define its own values in the file and the wordpress will be configured accordingly.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=363d5eee6371" width="1" height="1" alt=""><hr><p><a href="https://medium.com/geekculture/how-to-use-helm-with-kubernetes-363d5eee6371">How to Use Helm With Kubernetes?</a> was originally published in <a href="https://medium.com/geekculture">Geek Culture</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Integrating Kubernetes with Ansible]]></title>
            <link>https://bhaveshkumawat77.medium.com/integrating-kubernetes-with-ansible-65a3d83f1cff?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/65a3d83f1cff</guid>
            <category><![CDATA[configuration-management]]></category>
            <category><![CDATA[ansible]]></category>
            <category><![CDATA[kubernetes]]></category>
            <category><![CDATA[automation]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Thu, 08 Apr 2021 11:06:55 GMT</pubDate>
            <atom:updated>2021-04-08T11:06:55.044Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*-c_6OSS9z3hvlNdXa7ccvA.png" /></figure><h3>Objective:-</h3><p>📌 Ansible Role to Configure K8S Multi Node Cluster over AWS Cloud. <br>🔅 Create Ansible Playbook to launch 3 AWS EC2 Instance <br>🔅 Create Ansible Playbook to configure Docker over those instances. <br>🔅 Create Playbook to configure K8S Master, K8S Worker Nodes on the above created EC2 Instances using kubeadm. <br>🔅 Convert Playbook into roles.</p><p>So as described above in this we will configure multi node cluster over cloud services provided by the Amazon. The whole task would be performed with the help of Ansible which is a tool used for configuration management .From our local system we will run different playbooks and whole configuration would be done automatically.</p><h4>Brief Introduction</h4><p>Ansible is a software tool that provides simple but powerful automation for cross-platform computer support. It is primarily intended for IT professionals, who use it for application deployment, updates on workstations and servers, cloud provisioning, configuration management, intra-service orchestration, and nearly anything a systems administrator does on a weekly or daily basis. Ansible doesn’t depend on agent software and has no additional security infrastructure, so it’s easy to deploy.</p><p>Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available. The name Kubernetes originates from Greek, meaning helmsman or pilot. Google open-sourced the Kubernetes project in 2014. Kubernetes combines over 15 years of Google’s experience running production workloads at scale with best-of-breed ideas and practices from the community</p><h4>How the task will be performed?</h4><ol><li>Playbook for launching three instances using AWS ec2 service.</li><li>Second playbook for installing docker in the above launched instances.</li><li>Playbook for setting up K8S master node</li><li>Playbook for setting up K8S slave node</li></ol><h3>Step-1</h3><p>launching three instances using ansible playbook:-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ISdahJBQhwA2UAOngXWTiA.png" /><figcaption>playbook successful execution</figcaption></figure><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/7591afae0f9d166aea914b780cddd591/href">https://medium.com/media/7591afae0f9d166aea914b780cddd591/href</a></iframe><p>The playbook contains two tasks one for master node and second for slave node.</p><p>The variable file “/key.yaml ” is used for storing the access key and secret key for authorization by amazon.</p><p>The master node is launched with the tag name Master and in the region “ap-south-1” which denotes Mumbai data center.</p><p>Similarly the slave node is launched with tag name Slave in the Mumbai region with respective configuration.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9FJSHjjWpbvBqBN_x_Wvxg.png" /><figcaption>instance launched successfylly</figcaption></figure><h3>Step -2</h3><p>Installing docker in the above launched instances</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/5dadeee57ffe5cd1a9116031ef8fe381/href">https://medium.com/media/5dadeee57ffe5cd1a9116031ef8fe381/href</a></iframe><p>The above playbook comprises of only a single task which would be run on the managed node having tags Master as well as Slave and task is to install docker.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JYTADzpGxxQDZRJ947tPBw.png" /><figcaption>successful execution of the playbook</figcaption></figure><h3>Step-3</h3><p>Now setting up Master using ansible playbook</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/9a2e73e4678a1f659232ddfca002c209/href">https://medium.com/media/9a2e73e4678a1f659232ddfca002c209/href</a></iframe><p>The playbook created for configuring master node.</p><p>1&gt;First task to enable docker services.</p><p>2&gt;configuring yum repository in managed node so that we can install required packages.</p><p>3&gt;Installing kubeadm,kubelet,kubectl</p><p>4&gt; enabling services of Kubelet</p><p>5&gt; changing driver for docker services from cgroup to systemd.</p><p>6&gt;after changing driver restarting services of docker.</p><p>7&gt;Installing iproute-tc package</p><p>8&gt;Updating routing tables for K8S master.</p><p>9&gt;Refreshing system as something is change in conf file.</p><p>10&gt;As the master system would be used as client so updating ./kube directory</p><p>11&gt;Making the master to be used as client also</p><p>12&gt;Installing flannel that would be helpful in setting up tunneling</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GtojZYJhAPXXPLRvXmPcnw.png" /><figcaption>Successful execution of master playbook</figcaption></figure><p>In the image below you can see the master is configured successfully</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vn13iT2rnd6jOEyGOxSQ3w.png" /><figcaption>master configured</figcaption></figure><h3>Step-4</h3><p>Last and final step for configuring slave node for the kubernetes</p><p>The slave and master have almost similar configuration</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/d789c256df243194c1da51f36041fc47/href">https://medium.com/media/d789c256df243194c1da51f36041fc47/href</a></iframe><p>The playbook created for configuring master node.</p><p>1&gt;First task to enable docker services.</p><p>2&gt;configuring yum repository in managed node so that we can install required packages.</p><p>3&gt;Installing kubeadm,kubelet,kubectl</p><p>4&gt; enabling services of Kubelet</p><p>5&gt; changing driver for docker services from cgroup to systemd.</p><p>6&gt;after changing driver restarting services of docker.</p><p>7&gt;Installing iproute-tc package</p><p>8&gt;Updating routing tables for K8S master.</p><p>9&gt;Refreshing system as something is change in conf file.</p><p>10&gt;Connecting slave to the master by running join command using shell module.</p><p>The <strong><em>join.yaml</em></strong> is the file which is used for storing join command as a variable.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kyXC0gBheN1gt5HT8Myf7g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PPxw2jjSVHpSo3_kHLB6xg.png" /><figcaption>Successful execution of slave node</figcaption></figure><h3>Conclusion</h3><p>The cluster is configured successfully with the help of executing different playbooks altogether . The cluster can be verified with the following image:-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ewfq67pe-XRmmEKeBMeLHQ.png" /><figcaption>master and slave architecture launched successfully</figcaption></figure><p>Also for testing launching a pod using master:-</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/690/1*PxBeTQWx_aVsktMwKOo0oA.png" /><figcaption>pod launched successfully</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=65a3d83f1cff" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Neural Network and its working]]></title>
            <link>https://medium.com/swlh/neural-network-and-its-working-b7ac3acc39f6?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/b7ac3acc39f6</guid>
            <category><![CDATA[neural-networks]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Mon, 22 Mar 2021 16:33:39 GMT</pubDate>
            <atom:updated>2021-03-22T16:33:39.322Z</atom:updated>
            <content:encoded><![CDATA[<h3>What is a neural network?</h3><p>A neural network is a series of algorithms that endeavors to recognize underlying relationships in a set of data through a process that mimics the way the human brain operates. In this sense, neural networks refer to systems of neurons, either organic or artificial in nature. Neural networks can adapt to changing input; so the network generates the best possible result without needing to redesign the output criteria. The concept of neural networks, which has its roots in artificial intelligence, is swiftly gaining popularity in the development of trading systems.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6Dl-ll01IeDmKTmnkbQdxw.png" /></figure><h3>Basics of Neural Networks</h3><p>Neural networks, in the world of finance, assist in the development of such process as time-series forecasting, algorithmic trading, securities classification, credit risk modeling and constructing proprietary indicators and price derivatives.</p><p>A neural network works similarly to the human brain’s neural network. A “neuron” in a neural network is a mathematical function that collects and classifies information according to a specific architecture. The network bears a strong resemblance to statistical methods such as curve fitting and regression analysis.</p><p>A neural network contains layers of interconnected nodes. Each node is a perceptron and is similar to a multiple linear regression. The perceptron feeds the signal produced by a multiple linear regression into an activation function that may be nonlinear.</p><p>In a multi-layered perceptron (MLP), perceptrons are arranged in interconnected layers. The input layer collects input patterns. The output layer has classifications or output signals to which input patterns may map. For instance, the patterns may comprise a list of quantities for technical indicators about a security; potential outputs could be “buy,” “hold” or “sell.”</p><p>Hidden layers fine-tune the input weightings until the neural network’s margin of error is minimal. It is hypothesized that hidden layers extrapolate salient features in the input data that have predictive power regarding the outputs. This describes feature extraction, which accomplishes a utility similar to statistical techniques such as principal component analysis.</p><h3>Attributes of Neural Networks</h3><p>With the human-like ability to problem-solve — and apply that skill to huge datasets — neural networks possess the following powerful attributes:</p><ul><li><strong>Adaptive Learning</strong>: Like humans, neural networks model non-linear and complex relationships and build on previous knowledge. For example, software uses adaptive learning to teach math and language arts.</li><li><strong>Self-Organization</strong>: The ability to cluster and classify vast amounts of data makes neural networks uniquely suited for organizing the complicated visual problems posed by medical image analysis.</li><li><strong>Real-Time Operation</strong>: Neural networks can (sometimes) provide real-time answers, as is the case with self-driving cars and drone navigation.</li><li><strong>Prognosis</strong>: NN’s ability to predict based on models has a wide range of applications, including for weather and traffic.</li><li><strong>Fault Tolerance</strong>: When significant parts of a network are lost or missing, neural networks can fill in the blanks. This ability is especially useful in space exploration, where the failure of electronic devices is always a possibility.</li></ul><h3>Advantages of using Neural Networks:</h3><ul><li>Neural Networks have the ability to learn by themselves and produce the output that is not limited to the input provided to them.</li><li>The input is stored in its own networks instead of a database, hence the loss of data does not affect its working.</li><li>These networks can learn from examples and apply them when a similar event arises, making them able to work through real-time events.</li><li>Even if a neuron is not responding or a piece of information is missing, the network can detect the fault and still produce the output.</li><li>They can perform multiple tasks in parallel without affecting the system performance.</li></ul><h3>Neural vs. Conventional Computers</h3><p>One of the primary differences between conventional, or traditional, computers and neural computers is that conventional machines process data sequentially, while neural networks can do many things at once. Here are some of the other major differences between conventional and neural computers:</p><ul><li><strong>Following Instructions vs. Learning Capability</strong>: Conventional computers learn only by performing steps or sequences set by an algorithm, while neural networks continuously adapt their programming and essentially program themselves to find solutions. Conventional computers are limited by their design, while neural networks are designed to surpass their original state.</li><li><strong>Rules vs. Concepts and Imagery</strong>: Conventional computers operate through logic functions based on a given set of rules and calculations. In contrast, artificial neural networks can run through logic functions and use abstract concepts, graphics, and photographs. Traditional computers are rules-based, while artificial neural networks perform tasks and then learn from them.</li><li><strong>Complementary, Not Equal</strong>: Conventional algorithmic computers and neural networks complement each other. Some tasks are more arithmetically based and don’t require the learning ability of neural networks. Often though, tasks require the capabilities of both systems. In these cases, the conventional computer supervises the neural network for higher speed and efficiency.</li></ul><p>As impressive as neural networks are, they’re still works-in-progress, presenting challenges as well as promise for the future of problem-solving.</p><h3>Neural Network In Business Applications</h3><p>Neural networks are widely used in different industries. Both big companies and startups use this technology. Most often, neural networks can be found in all kinds of industries: from eCommerce to vehicle building.</p><p>So, lets take some examples on the following industries:-</p><ul><li>eCommerce</li><li>Healthcare</li><li>Vehicle Building</li></ul><h3>eCommerce</h3><p>This technology is used in this industry for various purposes. But the most frequent example of artificial neural network application in eCommerce is <strong>personalizing the purchaser’s experience. </strong>For instance, Amazon, AliExpress, and other eCommerce platforms use AI to show the related and recommended products. The compilation is formed on the basis of the users’ behavior. The system analyzes the characteristics of certain items and shows similar ones. In other cases, it defines and remembers the person’s preferences and shows the items meeting them.</p><h3>Healthcare</h3><p>It is very difficult to create and train a neural network for usage in this industry because it requires high accuracy. For many years it seemed to be a fantasy to use this technology for examining patients and diagnosing them. But finally, it has become possible.</p><p>IBM Watson is the most powerful artificial intelligence in the world. It took 2 years to train the neural network for medical practice. Millions of pages of medical academic journals, medical records, and other documents were uploaded to the system for its learning. And now it can prompt the diagnosis and propose the best treatment pattern based on the patient’s complaints and anamnesis.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*DiQVkRUnUw_CT-JLnsN_yw.png" /></figure><h3>Vehicle building</h3><p>AI and ML are used in this industry to automate processes. For example, <a href="https://www.tesla.com/videos/enhance-your-commute-autopilot">Tesla</a> uses a neural network for the autopilot system in the vehicles. With the help of trained artificial intelligence, it recognizes the road markings, detects obstacles, and makes the road safer for the driver.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b4BfTCzpH_pPFoPhem0Vag.jpeg" /><figcaption>This is what tesla autopilot sees.</figcaption></figure><p><strong>As you can see, AI and ML are the future of all the industries. These technologies help to make decisions, automate the working processes, prevent fraud, and do other important tasks. And they will continue developing.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b7ac3acc39f6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/swlh/neural-network-and-its-working-b7ac3acc39f6">Neural Network and its working</a> was originally published in <a href="https://medium.com/swlh">The Startup</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[OpenShift : shifting towards a new world]]></title>
            <link>https://bhaveshkumawat77.medium.com/openshift-shifting-towards-a-new-world-9879b66ca715?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/9879b66ca715</guid>
            <category><![CDATA[containerization]]></category>
            <category><![CDATA[openshift]]></category>
            <category><![CDATA[red-hat-openshift]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Sat, 13 Mar 2021 17:11:03 GMT</pubDate>
            <atom:updated>2021-03-13T17:11:03.103Z</atom:updated>
            <content:encoded><![CDATA[<h3>OpenShift : shifting towards a new world</h3><h3>What is OpenShift?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SPC6XpCrcGT0XnX_GTxfMw.png" /></figure><p><strong>OpenShift</strong> is a family of containerization software products developed by Red Hat. Its flagship product is the <strong>OpenShift Container Platform</strong> — an on-premises platform as a service built around Docker containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux. The family’s other products provide this platform through different environments: OKD serves as the community-driven upstream (akin to the way that Fedora is upstream of Red Hat Enterprise Linux), OpenShift Online is the platform offered as software as a service, and Openshift Dedicated is the platform offered as a managed service.</p><p>The OpenShift Console has developer and administrator oriented views. Administrator views allow one to monitor container resources and container health, manage users, work with operators, etc. Developer views are oriented around working with application resources within a namespace. OpenShift also provides a CLI that supports a superset of the actions that the Kubernetes CLI provides.</p><h3>What is containerization?</h3><p>Containerization has become a major trend in software development as an alternative or companion to virtualization. It involves encapsulating or packaging up software code and all its dependencies so that it can run uniformly and consistently on any infrastructure. The technology is quickly maturing, resulting in measurable benefits for developers and operations teams as well as overall software infrastructure.</p><p>Containerization allows developers to create and deploy applications faster and more securely. With traditional methods, code is developed in a specific computing environment which, when transferred to a new location, often results in bugs and errors. For example, when a developer transfers code from a desktop computer to a virtual machine (VM) or from a Linux to a Windows operating system. Containerization eliminates this problem by bundling the application code together with the related configuration files, libraries, and dependencies required for it to run. This single package of software or “container” is abstracted away from the host operating system, and hence, it stands alone and becomes portable — able to run across any platform or cloud, free of issues.</p><h3>Products</h3><h4>OpenShift Container Platform</h4><p>OpenShift Container Platform (formerly known as OpenShift Enterprise) is Red Hat’s on-premises private platform as a service product, built around a core of application containers powered by Docker, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux and Red Hat Enterprise Linux CoreOS (RHCOS).</p><h4>OKD</h4><p>OKD, known until August 2018 as OpenShift Origin (Origin Community Distribution) is the upstream community project used in OpenShift Online, OpenShift Dedicated, and OpenShift Container Platform. Built around a core of Docker container packaging and Kubernetes container cluster management, OKD is augmented by application lifecycle management functionality and DevOps tooling. OKD provides an open source application container platform. All source code for the OKD project is available under the Apache License (Version 2.0) on GitHub.</p><h4>Red Hat OpenShift Online</h4><p>Red Hat OpenShift Online (RHOO) is Red Hat’s public cloud application development and hosting service which runs on AWS and IBM Cloud.</p><p>Online offered version 2 of the OKD project source code, which is also available under the Apache License Version 2.0. This version supported a variety of languages, frameworks, and databases via pre-built “cartridges” running under resource-quota “gears”. Developers could add other languages, databases, or components via the OpenShift Cartridge application programming interface. This was deprecated in favor of OpenShift 3 and was withdrawn on 30 September 2017 for non-paying customers and 31 December 2017 for paying customers.</p><p>OpenShift 3 is built around Kubernetes. It can run any Docker-based container, but Openshift Online is limited to running containers that do not require root.</p><h4>OpenShift Dedicated</h4><p>OpenShift Dedicated is Red Hat’s managed private cluster offering, built around a core of application containers powered by Docker, with orchestration and management provided by Kubernetes, on a foundation of Red Hat Enterprise Linux. It is available on the Amazon Web Services (AWS), IBM Cloud, Google Cloud Platform (GCP) and Microsoft Azure marketplaces since December 2016.</p><h3>Features of using OpenShift</h3><h4>Standardized developer workflows</h4><p>With OpenShift as the cloud application platform, the application development organization can <a href="https://docs.openshift.com/container-platform/latest/applications/application_life_cycle_management/creating-apps-from-installed-operators.html">standardize the developer workflow</a> and create repeatable processes for application delivery to streamline the entire process.</p><h4>Multiple environment support (dev/test/prod)</h4><p>With the OpenShift platform’s ability to support <a href="https://docs.openshift.com/container-platform/latest/architecture/understanding-development.html">multiple Application Development Lifecycle stage environments</a> (such as Dev, QA, Pre-Prod, and Prod), the Enterprise can adopt and implement the OpenShift platform without changing their current methodologies or processes.</p><h4>Continuous integration and release management</h4><p>OpenShift includes <a href="https://docs.openshift.com/container-platform/latest/openshift_images/using_images/images-other-jenkins-agent.html">Jenkins for continuous integration</a> and release management. Jenkins can perform tests at code check-in, orchestrate the build process, and automatically promote or cancel an application release based on the results. This automated release management becomes a critical part of streamlining the application development. Plus, you can easily tie into your existing Jenkins-based workflows with the <a href="https://docs.openshift.com/container-platform/3.5/install_config/configuring_pipeline_execution.html">Jenkins Pipeline plugin</a>.</p><h4>Managing builds and deployment</h4><p>OpenShift is designed for <a href="https://docs.openshift.com/container-platform/3.11/architecture/core_concepts/builds_and_image_streams.html">building</a> and <a href="https://docs.openshift.com/container-platform/3.11/architecture/core_concepts/deployments.html">deploying</a> applications. Depending on how much you want to involve OpenShift in your development process, you can choose to focus your <a href="https://docs.openshift.com/container-platform/3.11/dev_guide/application_lifecycle/development_process.html#devstrategy-developing-on-openshift">development within an OpenShift project</a> by using it to build an application from scratch, or <a href="https://docs.openshift.com/container-platform/3.11/dev_guide/application_lifecycle/development_process.html#devstrategy-developing-then-deploying-on-openshift">bring an application</a> (binary, container image, source code) you have already developed in a separate environment and deploy it to OpenShift.</p><h3>1.Case study:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/573/1*iCNJIGxWgm5el9z_Ctqj8A.png" /></figure><p>The State of Michigan’s Department of Technology, Management, and Budget (DTMB) supports internal and citizen-facing services for 19 state agencies. To keep pace with demand, the department sought to improve development, delivery, and reliability for agencies’ digital services by migrating to a container-based infrastructure. With this new environment based on Red Hat OpenShift, DTMB has reduced application delivery times while creating a scalable, vendor-agnostic foundation for future cloud adoption.</p><h3>Outcomes</h3><ul><li>Reduced time to market for new, digital data services</li><li>Improved infrastructure security with consistent container images</li><li>Created cloud-ready infrastructure foundation</li><li>Adopted collaborative work approach to improve efficiency</li></ul><h3>2. Case Study:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/505/1*f7m-8GFaphAfYS-HipGHhw.jpeg" /></figure><p>Cloud service provider ORock Technologies (ORock) needed a technology partner to help it build a secure enterprise open source cloud solution for government and highly regulated industries. Red Hat worked with ORock to build a cloud environment on Red Hat OpenStack Platform, a container service on Red Hat OpenShift Container Platform, and to gain Federal Risk and Authorization Management Program (FedRAMP) accreditation. Thanks to its partnership with Red Hat, ORock holds a unique position in the FedRAMP marketplace, from which it is well positioned to grow.</p><h3>Outcomes</h3><ul><li>Drove growth by providing technology and resources critical to FedRAMP accreditation</li><li>Increased exposure by raising market awareness, building credibility</li><li>Enabled the <a href="https://www.redhat.com/en/topics/devops/what-is-ci-cd">CI/CD pipeline </a>customers are looking for</li></ul><h3>Conclusion</h3><p>A major portion of the added efficiency of containerization at the enterprise level, perhaps as much as 50 percent, comes from orchestrating container usage throughout your environment. OpenShift offers a platform for managing your containers across a variety of operating environments, significantly reducing the time necessary to build, deploy, and scale them. As an open source next-generation virtualization tool, OpenShift provides you with the all the functionality you need to optimize containerization usage with your existing IT resources.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9879b66ca715" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Jenkins : a must needed tool]]></title>
            <link>https://bhaveshkumawat77.medium.com/jenkins-a-must-needed-tool-f9d663a00c90?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/f9d663a00c90</guid>
            <category><![CDATA[ci]]></category>
            <category><![CDATA[pipeline]]></category>
            <category><![CDATA[jenkins]]></category>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[automation]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Fri, 12 Mar 2021 11:35:03 GMT</pubDate>
            <atom:updated>2021-03-12T11:35:03.412Z</atom:updated>
            <content:encoded><![CDATA[<h3>Jenkins : a must needed tool</h3><h3>What is jenkins ?</h3><p>Jenkins is the simple to use automation application which is used for continuous Integration(CI) as well as continuous delivery (CD) using pipeline. It is a DevOps tool written in the <strong>Java programming language</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/796/1*8m8uLGCp5XZluzeDyn1OtQ.png" /></figure><p><em>Or as the technical definition says</em>:- <strong>Jenkins</strong> is a free and open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase and RTC, and can execute Apache Ant, Apache Maven and sbt based projects as well as arbitrary shell scripts and Windows batch commands.</p><h3>Jenkins Features</h3><p>The following are some facts about Jenkins that makes it better than other Continuous Integration tools:</p><ul><li><strong>Adoption:</strong> Jenkins is widespread, with more than 147,000 active installations and over 1 million users around the world.</li><li><strong>Plugins:</strong> Jenkins is interconnected with well over 1,000 plugins that allow it to integrate with most of the development, testing and deployment tools.</li></ul><p>It is evident from the above points that Jenkins has a very high demand globally.</p><figure><img alt="Image depicting vast usecases of jenkins" src="https://cdn-images-1.medium.com/max/840/1*nQgPUMBV-pAD-rv28ze47w.jpeg" /></figure><p>It is clearly can be seen that how vastly Jenkins is being used in the industry as version control system , continuous monitoring tool, building application , continuous testing , configuration management and continuous deployment.</p><h3>Why use Continuous Integration with Jenkins?</h3><p>To understand why Jenkins is such a popular product and widely used let’s consider following example.</p><p>Suppose, that there are around 10 developers who are working on a shared repository. Some developer completes their task in 25 days while others take 30 days to complete.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*h2oWRz_DtMDfD3BGx9GAQw.png" /></figure><h3>Some uses of Jenkins</h3><p>Jenkins is open-source and hence free of cost. It can be easily configured and extended. Jenkins comes with a lot of plugins which ensure great flexibility. It deploys code instantly, produces a report after deployment, shows an error in code or tests and a lot of issues are detected and resolved in almost real-time. It is also great for integration as integration is automated. The great support community is also available.</p><h4>Jenkins lowers the Effort of repeated coding</h4><p>with the uses of Jenkins, one can convert a command prompt code into a GUI button click. This can be done by wrapping up the script as a Jenkins job. Parameterized Jenkins jobs can be created for customization or to take user input. Thus, hundreds of lines of code writing can be saved.</p><h4>Integration of Individual Jobs</h4><p>Jenkins jobs are usually small tools. They serve small purposes and quite simple. Jenkins provides pipeline plugin using which multiple jobs can be combined. Pipe lining provides such <a href="https://www.educba.com/careers-in-linux/">benefit which Linux users</a> can understand more than anyone. Both sequential or parallel combination is possible.3. Synchronization with Slack</p><p>A large team uses a centralized platform for communication. Slack is one such most popular platform. Slack integration can be done to Jenkins and thus communication such as activities have been triggered, its time, users name, results etc. can be shared with other people.</p><h4>Effortless Auditing</h4><p>Jenkins jobs, when run, capture console output from stdout as well as stderr. Troubleshooting with the uses of Jenkins is also very clear. For performance tuning each individual job, run timing can be measured and slowest step can be identified using Time stamper plugin.</p><h4>Option of Manual Tests</h4><p>Sometimes things work great locally but fail when pushed on a central system. This happens because, by the time they push, things change. Continuous Integration tests the code against the current state of a code base and is done in the production-like environment.</p><h3>How industry adopted Jenkins :-</h3><h3>1.Case Study : D4Science</h3><h4>Amping up scientific research with CI/CD powered by Jenkins</h4><p>To promote open science practices and support scientific communities while serving 11k registered users in 45 countries, <a href="https://www.d4science.org/">D4Science</a> introduced a new delivery pipeline that replaced their per-existing build platform.</p><p>Of course, they had to build and release their software framework (gCube) in a way that would support multi-project releases at scale — from 200+ Git repositories within the same day! It had to be fast, automate all release activities, and it had to deliver incremental releases to address user requirements quickly. Most of all, the solution had to be cost-effective.</p><p><strong><em>Using Jenkins, they created an innovative approach to software delivery: a continuous integration/continuous delivery (CI/CD) pipeline, scalable, easy to maintain, and up gradable at a minimal cost.</em></strong></p><h3>2.Case Study : Avoris Travel</h3><h4>Reinventing travel with an inventive technology platform</h4><p>Part of Barceló Group, Ávoris Travel is behind prominent destination travel brands like LeSki, Le Musik, and a selection of author travels under its “Viagens Com Assinatura” signature travel concept. A proprietary database and a smart, dynamic booking engine are the tickets to offering differentiating and inventive travel opportunities.</p><p>Also unique to Avoris is a discreet machining technology that enables agents to enter specific criteria to search and find all types of trips and travel opportunities across the entire network.</p><p>“Our infrastructure is very important because we have to be online to meet customer demand anywhere in the world,” said Alejandro Alvarez Vazquez, Sysadmin, Avoris Travel. “Our CI/CD platform is used by 200 people. The services that we build and deploy are used by thousands of potential clients and by our network of 675 own agencies located in Spain and Portugal.”</p><p><strong><em>The flexibility of Jenkins plugins helped Avoris reduce build times by over 50% and became a go-to, scalable infrastructure supporting 675 agencies and over 2.8 million international consumers.</em></strong></p><h3>Conclusion:</h3><ul><li>In Continuous Integration, after a code commit, the software is built and tested immediately</li><li>Jenkins is an open source Continuous Integration server capable of orchestrating a chain of actions</li><li>Before Jenkins when all Developers had completed their assigned coding tasks, they used to commit their code all at same time. Later, Build is tested and deployed.</li><li>After Jenkins the code is built and test as soon as Developer commits code. Jenkin will build and test code many times during the day</li><li>By default, Jenkins comes with a limited set of features. If you want to integrate your Jenkins installation with version control tools like Git, then you need to install plugins related to Git</li><li>The biggest pros of Jenkins is that it is managed by the community which holds public meetings and take inputs from the public for the development of Jenkins projects</li><li>The biggest con of Jenkin is that Its interface is out dated and not user friendly compared to current UI trends.</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f9d663a00c90" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Combining Amazon RDS with WordPress]]></title>
            <link>https://medium.com/swlh/combining-amazon-rds-with-wordpress-c615455959c4?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/c615455959c4</guid>
            <category><![CDATA[aws-ec2]]></category>
            <category><![CDATA[aws-rds]]></category>
            <category><![CDATA[web-server]]></category>
            <category><![CDATA[wordpress]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Sun, 17 Jan 2021 16:30:40 GMT</pubDate>
            <atom:updated>2021-01-17T16:30:40.497Z</atom:updated>
            <content:encoded><![CDATA[<h3>Objective:-</h3><p>🔅 Create an AWS EC2 instance</p><p>🔅 Configure the instance with Apache Webserver.</p><p>🔅 Download php application name “WordPress”.</p><p>🔅 As wordpress stores data at the backend in MySQL Database server. Therefore, you need to setup a MySQL server using AWS RDS service using Free Tier.</p><p>🔅 Provide the endpoint/connection string to the WordPress application to make it work</p><h3>What is Wordpress?</h3><p><strong>WordPress is the simplest, most popular way to create your own website or blog. </strong>In fact, WordPress powers <a href="https://kinsta.com/wordpress-market-share/">over 39.5%</a> of all the websites on the Internet. Yes — more than one in four websites that you visit are likely powered by WordPress.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/285/1*FfXjv5FboeKZvDt5_wSzXg.png" /></figure><p>On a slightly more technical level, WordPress is an open-source content management system licensed under GPLv2, which means that anyone can use or modify the WordPress software for free. A <a href="https://kinsta.com/knowledgebase/content-management-system/">content management system</a> is basically a tool that makes it easy to manage important aspects of your website — like content — without needing to know anything about programming.</p><p>The end result is that WordPress makes building a website accessible to anyone — even people who aren’t developers.</p><h3>Amazon RDS service</h3><p>Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching and backups. It frees you to focus on your applications so you can give them the fast performance, high availability, security and compatibility they need.</p><p>Amazon RDS is available on several <a href="https://aws.amazon.com/rds/instance-types/">database instance types</a> — optimized for memory, performance or I/O — and provides you with six familiar database engines to choose from, including <a href="https://aws.amazon.com/rds/aurora/">Amazon Aurora</a>, <a href="https://aws.amazon.com/rds/postgresql/">PostgreSQL</a>, <a href="https://aws.amazon.com/rds/mysql/">MySQL</a>, <a href="https://aws.amazon.com/rds/mariadb/">MariaDB</a>, <a href="https://aws.amazon.com/rds/oracle/">Oracle Database</a>, and <a href="https://aws.amazon.com/rds/sqlserver/">SQL Server</a>. You can use the <a href="https://aws.amazon.com/dms/">AWS Database Migration Service</a> to easily migrate or replicate your existing databases to Amazon RDS.</p><h3>1.Configuring Database as a service</h3><p>For setting up database in the amazon there is service named <strong>RDS</strong> under the database section . After clicking we will land to the dashboard page from where select the create database option and follow the steps or customize it according to your need.</p><p>First selecting the creation method we will select standard create because it provides more option to customize. Then will go with the MySQL datatype.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uuw9lZ_bNDiEWV0B0mO0Fw.png" /><figcaption>selecting database</figcaption></figure><p>After selecting the type select the required version of the datatype, here I selected 5.7.31.</p><p>Also select the template according to your need, this is for just practice Free tier is selected.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ll8uz9UnWStth0464flZXg.png" /></figure><p>Now provide the credential setting that is username and password for authentication.</p><p>Since it is a free tier so we cant select the db instance type.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*59hEj5DpjgKJh4sETjr2zA.png" /></figure><p>Now specifying the minimum allocated storage and maximum threshold storage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dQrqBAiDcLfpLXNsQzVGZQ.png" /></figure><p>Now there is need to provide the connectivity details here such as VPC to be used and security group and also about the public access for database.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PahVRFtcoJnNu1g9ItB-wA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k5laXmKlQgsJJSZW9-GdCw.png" /></figure><p>In the additional information a name will be provided and the database with this name will already be created when the it is launched.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8xnBh7q9u8oZ6ugsU_b5mg.png" /></figure><p>And thus click on create database button. The database will be successfully launched.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1XuG395slG9poErxtgt6-w.png" /></figure><h3>2.Configuring EC2 instance as Web server</h3><p>For the ec2 instance redhat linux AMI will be used.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u1sXMLwa7lOUSmCRmokaxA.png" /><figcaption>selecting redhat AMI</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*31jN5np7e8zF1aRKqAf19g.png" /><figcaption>ec2 launched successfully</figcaption></figure><p>Now for the configuring this instance as a web server there is need of software named as httpd and it can be installed with the help of yum.</p><p><strong>#yum install httpd</strong></p><p>First there is need of wget package for downloading different packages over internet. It can be installed with the help of yum .</p><p><strong>#yum install wget</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*O9pRhHvv0uXcvXzSnz-KhQ.png" /><figcaption>installing wget</figcaption></figure><h4>There are also some requirements for wordpress :-</h4><p>PHP version 7.4 or greater.</p><p>MySQL version 5.6 or greater OR MariaDB version 10.1 or greater.</p><p>The php 7 or greater packages available in different repositories one of them is REMI and this REMI repository depends upon the EPEL repository so we have to intsall or configure both.</p><p>For EPEL:-</p><p><strong><em>#yum install </em></strong><a href="https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm"><strong><em>https://dl.fedoraproject.org/pub/epel/epel-release- latest-8.noarch.rpm</em></strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*t83IRDOe9vSlATglz6jZtQ.png" /><figcaption>installing epel</figcaption></figure><p>For REMI-</p><p><strong><em>#yum install </em></strong><a href="https://rpms.remirepo.net/enterprise/remi-release-8.rpm"><strong><em>https://rpms.remirepo.net/enterprise/remi-release-8.rpm</em></strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*ilYPdrzxTX7ftAvsEAdqgg.png" /><figcaption>installing remi</figcaption></figure><p>Now installing php7.4 as -</p><p><strong><em>#dnf module install php:remi-7.4</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*phJN3ryj6ygywzTEqVkeaQ.png" /></figure><p>Installing php-mysqlnd as it is native driver of MySQL for php-</p><p><strong><em>#dnf install php-mysqlnd</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*RUqpS1guq96E4MiI4Gaw9Q.png" /></figure><p>Now the most important step to download the wordpress application with the help of wget command installed previously with the help of command:-</p><p><strong><em>#wget </em></strong><a href="https://wordpress.org/latest.tar.gz"><strong><em>https://wordpress.org/latest.tar.gz</em></strong></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*BmFZTP3LhL70GkZLGAiPZA.png" /><figcaption>downloading tar file</figcaption></figure><p>After downloading this tar file to be unpacked and store its content in the root directory of httpd package that is <strong>/var/www/html</strong> this can be done as</p><p><strong><em>#tar xf latest.tar.gz -C /var/www/html</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*bKo9n9CJREPPjt32TGpWyg.png" /><figcaption>unpacking and moving files</figcaption></figure><p>In the above image it can be seen the files successfully moved to the directory.</p><h4>Httpd can’t write to folder/file because of <strong>SELinux </strong>so allow it &amp; use the commands:-</h4><p><strong><em>#setenforce 0</em></strong></p><p><strong><em>#chcon -t httpd_sys_rw_content_t /var/www/html/wordpress -R</em></strong></p><p>Start the services of httpd:-</p><p><strong><em>#systemctl start httpd</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*-M1dmPrYcf_sUVueP13-PA.png" /><figcaption>services of httpd</figcaption></figure><h4>Testing the web site-</h4><p>Hit the url- &lt;public_ip_instance&gt;/wordpress</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rF0wbHy3h0qFYcAqPBKfMQ.png" /></figure><p>Hurray! successfully launched.</p><p>Now for proper connection provide the details . Here we use same database initially created and in the host field provide the endpoint given by AWS.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aV22VZcjc-JFykiRJExa2g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DPx8PahlE9qcuqssVWvCaA.png" /></figure><p>In my case the wordpress was not able to create <strong>wp-config.php</strong> file so I have to create manually in the same root directory and copy the content provided and then hit on run installation button.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BXpJkMGownxv5k4HpkN1mw.png" /><figcaption>creation of account</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cg00il9PM-rv1emoFdkPvA.png" /><figcaption>account successfully created</figcaption></figure><p>After creation of account log in back to the wordpress</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tJndaEhXa-GEJ0VqYHIt9g.png" /></figure><h3>The Final outcome</h3><h4>Cross verifying the database</h4><p>For verifying the successful database creation there is need to login into the database and it can be done with the password authentication with the credentials set initially.</p><p>Command to install mysql:-</p><p><strong><em>#yum install mysql</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*HSNFTzQFOcuXBH2u1zESSw.png" /><figcaption>installing mysql</figcaption></figure><p>Now for login into the database the following command can be used:-</p><p><strong><em>#mysql -h [endpoint url] -u [username] -p</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*n1bYHurStlcaEp98ts7JOg.png" /><figcaption>login into database</figcaption></figure><p>Now for viewing different databases use <strong><em>#show databases;</em></strong></p><p>using a particular database <strong><em>#use [dbname]</em></strong> is used.</p><p>And to see the tables in a paricular database the command used as:-</p><p><strong><em>#show tables;</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/825/1*6kArYn6AS5YruJ3lVLuucw.png" /></figure><p>Hence, the database is created and objective is successfully achieved.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c615455959c4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/swlh/combining-amazon-rds-with-wordpress-c615455959c4">Combining Amazon RDS with WordPress</a> was originally published in <a href="https://medium.com/swlh">The Startup</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Creating custom network topology]]></title>
            <link>https://bhaveshkumawat77.medium.com/creating-custom-network-topology-54759d4aa4fd?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/54759d4aa4fd</guid>
            <category><![CDATA[topology]]></category>
            <category><![CDATA[networking]]></category>
            <category><![CDATA[routing-table]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Sun, 03 Jan 2021 16:50:08 GMT</pubDate>
            <atom:updated>2021-01-03T16:50:08.559Z</atom:updated>
            <content:encoded><![CDATA[<h3>Overview</h3><p>Yes you read the title right , till the last you will able to create your own custom need network topology. Throughout this article we will be working on three systems let’s take example A,B and C . Now these systems will be configured in such a way that system A will be able to connect to system B and C both , but system B will only be able to connect A but not C , similarly C will be able to ping A but not B. This whole practical is performed on REHL8 linux OS.</p><h4>Initially</h4><p>System A</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yocqRaaW7mZs0pWLHSwwOg.png" /><figcaption>system A</figcaption></figure><p>System B</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nvm24VkqK6_YkjqSnbYAMA.png" /><figcaption>system B</figcaption></figure><p>System C</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CXkGnYF-pPc4r_C6ceIpcA.png" /><figcaption>system c</figcaption></figure><h4>Configuring new IP’s for these systems</h4><p>The new ip can be set to a system by <strong><em>#ifconfig [n/w card name ] [new_IP]/[netmask]</em></strong>. Command to show the routing table <strong><em>#route -n</em></strong></p><p>System A</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*08XAYyLew7LK46lq3Myntw.png" /><figcaption>New IP &amp; routing table of system A</figcaption></figure><p>System B</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BFKhUozZ7tyyYTXd0ro8LQ.png" /><figcaption>New IP &amp; routing table of system B</figcaption></figure><p>System C</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JTmPdMwpRu825spOXd47tQ.png" /><figcaption>New IP &amp; routing table of system C</figcaption></figure><p>So basically system A has given IP<strong><em>192.168.1.1/30 </em></strong>which means that it is in the network 192.168.1.0 and /30 denotes this network is having 4 IP’s only 192.168.1.0, 192.168.1.1, 192.168.1.2 and 192.168.1.3.</p><p>System B is in the same network as A and IP assigned to it as <strong><em>192.168.1.2</em></strong>.</p><p>Now the system C has assigned IP as <strong><em>192.168.1.6/30 </em></strong>that means it’s network name is 192.168.1.4 as well as first IP and other three are following 192.168.1.5 , 192.168.1.6 and 192.168.1.7.</p><h4>For establishing connection ,creating our own custom routing rules</h4><p>The new rule can be added with the help of <strong><em>#route add -net</em></strong> command as shown:-</p><p>System A</p><p>For the system A we are adding two rules 1. to establishing connection in it’s own network and 2. for connecting system C present in other network.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s_cdzXXZnPh4UVS-qKQ3Sw.png" /><figcaption>new rules with routing table for system A</figcaption></figure><p>System B</p><p>For system B only one rule is added for connecting to system present in its own network. So that it can’t be able to connect to system C.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QBSZwj0hgA6uKu-KD793ng.png" /><figcaption>new rules with routing table for system B</figcaption></figure><p>System C</p><p>For System C two rules are added 1. to connect to system present in its own network and 2. to connect to system A . Now system C will only be able to connect to system A having IP 192.168.1.1. The genmask 255.255.255.254 denotes that only first two ip of network 192.168.1.0 will be able to connect.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BHJhdjhdJGIV7cPaojGP0A.png" /><figcaption>new rules with routing table for system C</figcaption></figure><h4>Final testing</h4><p>System A</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dT7PqtgQexwU3_GiMPxBcQ.png" /><figcaption>system A pinging to both B and C</figcaption></figure><p>System B</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7GCvO2tNLpMv1lfDrwsahg.png" /><figcaption>B pinging to A but not able to ping C</figcaption></figure><p>System C</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MrpsXEgJCf2qYQE07aRYHw.png" /><figcaption>C pinging to A but not able to ping B</figcaption></figure><p>Hurray!! the required network topology is successfully achieved.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=54759d4aa4fd" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Ansible: changing world]]></title>
            <link>https://bhaveshkumawat77.medium.com/ansible-changing-world-5f237fa4d2e1?source=rss-50f82dbe4888------2</link>
            <guid isPermaLink="false">https://medium.com/p/5f237fa4d2e1</guid>
            <category><![CDATA[ansible]]></category>
            <dc:creator><![CDATA[Bhavesh Kumawat]]></dc:creator>
            <pubDate>Fri, 01 Jan 2021 16:06:59 GMT</pubDate>
            <atom:updated>2021-01-01T16:06:59.941Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>What is ansible?</strong></h3><p>Ansible is a universal language, unraveling the mystery of how work gets done. Turn tough tasks into repeatable playbooks. Roll out enterprise-wide protocols with the push of a button.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LJ0vlVuUNEnMbadIH4_19w.png" /><figcaption>ansible</figcaption></figure><p>Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intraservice orchestration, and provisioning. Automation is crucial these days, with IT environments that are too complex and often need to scale too quickly for system administrators and developers to keep up if they had to do everything manually. Automation simplifies complex tasks, not just making developers’ jobs more manageable but allowing them to focus attention on other tasks that add value to an organization. In other words, it frees up time and increases efficiency. And Ansible, as noted above, is rapidly rising to the top in the world of automation tools. Let’s look at some of the reasons for Ansible’s popularity.</p><p>Now that we have seen what is Ansible, let us find out the various advantages of Ansible.</p><h3>Advantages of Ansible</h3><ul><li>Free: Ansible is an open-source tool.</li><li>Very simple to set up and use: No special coding skills are necessary to use Ansible’s playbooks (more on playbooks later).</li><li>Powerful: Ansible lets you model even highly complex IT workflows.</li><li>Flexible: You can orchestrate the entire application environment no matter where it’s deployed. You can also customize it based on your needs.</li><li>Agentless: You don’t need to install any other software or firewall ports on the client systems you want to automate. You also don’t have to set up a separate management structure.</li><li>Efficient: Because you don’t need to install any extra software, there’s more room for application resources on your server.</li></ul><h3>Ansible Architecture</h3><h3>1. Modules</h3><p>Modules are like small programs that Ansible pushes out from a control machine to all the nodes or remote hosts. The modules are executed using playbooks (see below), and they control things such as services, packages, and files. Ansible executes all the modules for installing updates or whatever the required task is, and then removes them when finished. Ansible provides more than 450 modules for everyday tasks.</p><h3>2. Plugins</h3><p>As you probably already know from many other tools and platforms, plugins are extra pieces of code that augment functionality. Ansible comes with a number of its plugins, but you can write your own as well. Action, cache, and callback plugins are three examples.</p><h3>3. Inventories</h3><p>All the machines you’re using with Ansible (the control machine plus nodes) are listed in a single simple file, along with their IP addresses, databases, servers, and so on. Once you register the inventory, you can assign variables to any of the hosts using a simple text file. You can also pull inventory from sources like EC2 (Amazon Elastic Compute Cloud).</p><h3>4. Playbooks</h3><p>Ansible playbooks are like instruction manuals for tasks. They are simple files written in YAML, which stands for YAML Ain’t Markup Language, a human-readable data serialization language. Playbooks are really at the heart of what makes Ansible so popular is because they describe the tasks to be done quickly and without the need for the user to know or remember any particular syntax. Not only can they declare configurations, but they can orchestrate the steps of any manually ordered task, and can execute tasks at the same time or at different times.</p><p>Each playbook is composed of one or multiple plays, and the goal of a play is to map a group of hosts to well-defined roles, represented by tasks.</p><h3>5. APIs</h3><p>Various APIs (application programming interfaces) are available so you can extend Ansible’s connection types (meaning more than just SSH for transport), callbacks, and more.</p><p>Now that we’ve come this far to understand what Ansible is, let us next look into the Ansible tower.</p><h3>Industries success stories</h3><h4>HOOTSUITE</h4><p>Hootsuite is a social media management system used by businesses and organizations. It allows the execution of social media campaigns on a variety of networks from a secure dashboard. Hootsuite is popular among Fortune 1000 companies.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/810/1*uXtXh8qcwz0rfTRUjCoEMw.jpeg" /><figcaption>hootsuite logo</figcaption></figure><p>The main challenge facing Hootsuite was the lack of repeatability. This made automating Hootsuite’s infrastructure a challenge, and Hootsuite were also facing difficulties in application deployment.</p><p>To resolve this, Hootsuite introduced Ansible core. This allowed Hootsuite to build servers from scratch and enabled repeatability. In the future, Hootsuite plans to implement an Ansible migration of its app deployment and possibly in ad hoc production server management.</p><p>Since performing their Ansible migration, Hootsuite says ops and devs ‘feel safer’. Additionally, Ansible allows developers to repeatedly test server builds on a local level until the team can be sure they work.</p><p>Hootsuite intends to use Ansible in many other ways, and as Beier Cai, Director of Technology, Hootsuite Media Inc., explains, “In the beginning I didn’t realize Ansible is good for orchestration as well but found it out quickly and I really loved it as it beats competitors right there.”</p><h4>LIFESUM</h4><p>Based in Stockholm, Lifesum is a digital health platform that encourages users to lead a healthier, more balanced lifestyle. Lifesum has proved hugely successful throughout Europe, reaching over 6 million downloads so far.</p><p>Lifesum’s platform uses a host of applications, in addition to a joint back end API, and it bases its infrastructure on AWS. Lifesum was looking for a simplified yet robust tool to allow configuration management, application deployment, and server provisioning.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/246/1*H6Kt6zcDYjUWD7nJjWTbEQ.png" /><figcaption>lifesum logo</figcaption></figure><p>Prior to introducing Ansible, Lifesum had used another tool but found provisioning and managing different environments a challenge.</p><p>Lifesum started their Ansible migration in 2014. It started implementing Ansible straight away and has used it in several major areas. First, Lifesum used Ansible playbooks “to automatically spin up virtual development machines with Vagrant”.</p><p>In the case study, Michal Gasek, SYSOPS Engineer/DBA at Lifesum also notes that Lifesum’s goal, “[is] to ensure that everyone had exactly the same working environment as we deploy our applications regularly. Three months later all our environments, from developer’s laptops to production instances on Amazon, [are] fully Ansible managed.”</p><p>Gasek continues, “We use AWS Auto Scaling and pre-bake Amazon AMI images with Ansible provisioning playbooks. When EC2 instances are launched by Auto Scaling, Ansible, triggered by cloud-init, runs provisioning playbooks, once again ensuring up-to-date configuration changes are applied, and pulling the latest applications versions from repositories. Ansible has helped us to automate, significantly simplify and speed up the process of dynamic resources scaling”.</p><p>Gasek adds that Ansible stood out because of its ‘power and simplicity’. Gasek also highlights how Ansible has enabled developers to concentrate on building ‘great product features’, rather than solving common problems like inconsistencies and misconfiguration.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5f237fa4d2e1" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>