Monday, November 30, 2020

How industries are solving challenges using Ansible?


What is Ansible?

    Before an illustration of the advantages of Ansible, let us reflect on its definition, basic architecture, applications in DevOps, and reasons to use Ansible. Ansible’s definition suggests that it is an opensource tool for IT configuration management, deployment, and orchestration. Organizations could get massive improvements in productivity by resolving various automation challenges.

    The simplicity of Ansible, along with its potential for automation of complex, multi-tier IT application environments, validate its popularity. The next important concern on our agenda in this discussion should be the reasons to use Ansible. The growth of data centers all over the world, resulting in the increasing complexity of hosted applications, created problems for administrators.

    The scalability of manual systems management, according to the speed of enabling applications, became very difficult. As a result, the DevOps philosophy could not be realized completely as the IT operations team engaged constantly in system configuration. Therefore, the need for ideal server provisioning and configuration management tools became evident.

Ansible Architecture



Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.
Being designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.

It uses no agents and no additional custom security infrastructure, so it’s easy to deploy - and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English.

In this section, we’ll give you a really quick overview of how Ansible works so you can see how the pieces fit together.

Modules

Ansible works by connecting to your nodes and pushing out scripts called “Ansible modules” to them. Most modules accept parameters that describe the desired state of the system. Ansible then executes these modules (over SSH by default), and removes them when finished. Your library of modules can reside on any machine, and there are no servers, daemons, or databases required.

You can write your own modules, though you should first consider whether you should. Typically you’ll work with your favorite terminal program, a text editor, and probably a version control system to keep track of changes to your content. You may write specialized modules in any language that can return JSON (Ruby, Python, bash, and so on).

Module utilities

When multiple modules use the same code, Ansible stores those functions as module utilities to minimize duplication and maintenance. For example, the code that parses URLs is lib/ansible/module_utils/url.py. You can write your own module utilities as well. Module utilities may only be written in Python or in PowerShell.

Plugins

Plugins augment Ansible’s core functionality. While modules execute on the target system in separate processes (usually that means on a remote system), plugins execute on the control node within the /usr/bin/ansible process. Plugins offer options and extensions for the core features of Ansible - transforming data, logging output, connecting to inventory, and more. Ansible ships with a number of handy plugins, and you can easily write your own. For example, you can write an inventory plugin to connect to any datasource that returns JSON. Plugins must be written in Python.

Inventory

By default, Ansible represents the machines it manages in a file (INI, YAML, and so on) that puts all of your managed machines in groups of your own choosing.

To add new machines, there is no additional SSL signing server involved, so there’s never any hassle deciding why a particular machine didn’t get linked up due to obscure NTP or DNS issues.

If there’s another source of truth in your infrastructure, Ansible can also connect to that. Ansible can draw inventory, group, and variable information from sources like EC2, Rackspace, OpenStack, and more.

Here’s what a plain text inventory file looks like:

---
[webservers]
www1.example.com
www2.example.com
[dbservers]
db0.example.com
db1.example.com

Once inventory hosts are listed, variables can be assigned to them in simple text files (in a subdirectory called ‘group_vars/’ or ‘host_vars/’ or directly in the inventory file.

Or, as already mentioned, use a dynamic inventory to pull your inventory from data sources like EC2, Rackspace, or OpenStack.

Playbooks

Playbooks can finely orchestrate multiple slices of your infrastructure topology, with very detailed control over how many machines to tackle at a time. This is where Ansible starts to get most interesting.

Ansible’s approach to orchestration is one of finely-tuned simplicity, as we believe your automation code should make perfect sense to you years down the road and there should be very little to remember about special syntax or features.

Here’s what a simple playbook looks like:

---
- hosts: webservers
serial: 5 # update 5 machines at a time
roles:
- common
- webapp
- hosts: content_servers
roles:
- common
- content

The Ansible search path

Modules, module utilities, plugins, playbooks, and roles can live in multiple locations. If you write your own code to extend Ansible’s core features, you may have multiple files with similar or the same names in different locations on your Ansible control node. The search path determines which of these files Ansible will discover and use on any given playbook run.

Ansible’s search path grows incrementally over a run. As Ansible finds each playbook and role included in a given run, it appends any directories related to that playbook or role to the search path. Those directories remain in scope for the duration of the run, even after the playbook or role has finished executing. Ansible loads modules, module utilities, and plugins in this order:

  1. Directories adjacent to a playbook specified on the command line. If you run Ansible with ansible-playbook /path/to/play.yml, Ansible appends these directories if they exist:

    /path/to/modules
    /path/to/module_utils
    /path/to/plugins
    /path/to/subdir/modules
    /path/to/subdir/module_utils
    /path/to/subdir/plugins
    /path/to/roles/myrole/modules
    /path/to/roles/myrole/module_utils
    /path/to/roles/myrole/plugins
    DEFAULT_MODULE_PATH
    DEFAULT_MODULE_UTILS_PATH
    DEFAULT_CACHE_PLUGIN_PATH
    DEFAULT_FILTER_PLUGIN_PATH
    ANSIBLE_LIBRARY
    ANSIBLE_MODULE_UTILS
    ANSIBLE_CACHE_PLUGINS
    ANSIBLE_FILTER_PLUGINS

  2. Directories adjacent to a playbook that is statically imported by a playbook specified on the command line. If play.yml includes - import_playbook: /path/to/subdir/play1.yml, Ansible appends these directories if they exist:

  3. Subdirectories of a role directory referenced by a playbook. If play.yml runs myrole, Ansible appends these directories if they exist:

  4. Directories specified as default paths in ansible.cfg or by the related environment variables, including the paths for the various plugin types. See Ansible Configuration Settings for more information. Sample ansible.cfg fields:

    Sample environment variables:

  5. The standard directories that ship as part of the Ansible distribution.

System Automation




Although ansible works well with Linux based Operating system as controller nodes, Ansible can be used to automate many other Operating systems like:
  • Windows
  • OSX
  • UNIX and may others
The abundant modules provided by ansible makes it universal to use
Since Ansible is Idempotent, the efficiency of automation is high with the built-in intelligence in the tool
Things like setting up a reverse proxy server like Haproxy server is a small task but yet Automation will increase the speed of production by many times
when we use ansible, we can create multiple resources like web servers and launch Web Apps by scaling the number of servers by integrating with container technologies allowing us to create microservices too.

Cloud Infrastructure



    Nowadays, cloud instances and other Cloud services are very famous to use and Cloud Computing plays a significant role in Automation because of the high availability services and effectively Low-cost plans.
Although we have cloud services like EKS which makes it easier to set up Kubernetes, setting Kubernetes is a laborious task to be done manually. This stuff can be automated using Ansible with it's builtin or community modules created.
Ansible with the help of the Boto library can be used to automate the provisioning of AWS cloud instances like EC2 and other AWS services.


Virtualization


    Virtualization plays an important role in automation with the infrastructure that it can provide us by allowing multiple Operating systems to run parallel to another and helps us achieve virtual scaling.
But Virtualization is an advance concept and automating it will decrease the cost of human input for each and every time we need to work on Virtualization.
Ansible has the modules that can integrate with tools like:
But Virtualization is an advance concept and automating it will decrease the cost of human input for each and every time we need to work on Virtualization.
Ansible has the modules that can integrate with tools like:

  • VMware
  • Vagrant
  • Red Hat Virtualization (RHV)
  • XenServer
Ansible also can be used in Networking automation too.
Finally, Ansible automation has revolutionised the technologies and lead to a more automated and efficient Infrastructure building for many Industries and also made the automation simple with the software's ease of use.
I would like to thank Vimal Daga sir for providing this Great Knowledge and Hope you enjoyed this post and found it useful.

How Companies Use Ansible


The ongoing digital transformation coupled with the growing popularity of cloud means companies are now more dependent on dynamic, all-in-one tools that can solve multiple problems across a host of platforms.

Further, today’s organizations are looking for ways to ease into automation while also striving toward higher levels of customer satisfaction. For many organizations, the open source platform Ansible is the answer to these modern-day challenges. Here are a few examples of companies successfully implementing an Ansible migration.

HOOTSUITE




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.

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.

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.

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.

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.”

AMELCO




Amelco is a UK-based company that develops software solutions for the betting industry and financial betting markets. The business was looking for a way to deploy its applications efficiently across its hundreds of different environments, and it also sought to limit downtime. To do this, Amelco performed an Ansible migration to an agentless automation framework. This reduced the complexities it faced with the deployment, operations and the upgrade of applications over a range of contrasting locations, while also using one simplified language.

In addition, by introducing Ansible and Ansible Tower, Amelco has successfully automated its application deployments. Other benefits include reduced complexity and continuous delivery, along with speed solution delivery.

Further benefits include:

  • “Faster time to deployment for its bespoke and modular client solutions, resulting in speedier time to market and higher customer satisfaction”.

  •  “A simplified and repeatable deployment process, leveraging true multi-tier, multi-step orchestration that minimized the complex dependencies of heterogeneous environments,”.

LIFESUM




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.

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.

Prior to introducing Ansible, Lifesum had used another tool but found provisioning and managing different environments a challenge.

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”.

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.”

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”.

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.

CONCLUSION

With today’s demand for automation, consistency and the move towards cloud, companies from all sectors are adopting easy-to-use tools that enable them to achieve these goals and overcome complexities. These three success stories show how an Ansible migration is the ideal solution for automating organizations’ modern technology challenges, while also performing an essential role in app deployment and improving responsiveness.

Thankyou For Reading.... Keep Learning.... 

Monday, October 19, 2020

How IBM is benefited using Artificial Intelligence?

Hello Learners...

    This post is all about," How IBM is using Artificial Intelligence in its core sectors? "

But before going directly to that point I would like to give you a brief knowledge about Artificial Intelligence and its Applications.


What is artificial intelligence?

In computer science, the term artificial intelligence (AI) refers to any human-like intelligence exhibited by a computer, robot, or other machine. In popular usage, artificial intelligence refers to the ability of a computer or machine to mimic the capabilities of the human mind—learning from examples and experience, recognizing objects, understanding and responding to language, making decisions, solving problems—and combining these and other capabilities to perform functions a human might perform, such as greeting a hotel guest or driving a car.

After decades of being relegated to science fiction, today, AI is part of our everyday lives. The surge in AI development is made possible by the sudden availability of large amounts of data and the corresponding development and wide availability of computer systems that can process all that data faster and more accurately than humans can. AI is completing our words as we type them, providing driving directions when we ask, vacuuming our floors, and recommending what we should buy or binge-watch next. And it’s driving applications—such as medical image analysis—that help skilled professionals do important work faster and with greater success.


Artificial intelligence applications


As noted earlier, artificial intelligence is everywhere today, but some of it has been around for longer than you think. Here are just a few of the most common examples:

  • Speech recognition: Also called speech to text (STT), speech recognition is AI technology that recognizes spoken words and converts them to digitized text. Speech recognition is the capability that drives computer dictation software, TV voice remotes, voice-enabled text messaging and GPS, and voice-driven phone answering menus.
  • Natural language processing (NLP): NLP enables a software application, computer, or machine to understand, interpret, and generate human text. NLP is the AI behind digital assistants (such as the aforementioned Siri and Alexa), chatbots, and other text-based virtual assistance. Some NLP uses sentiment analysis to detect the mood, attitude, or other subjective qualities in language.
  • Image recognition (computer vision or machine vision): AI technology that can identify and classify objects, people, writing, and even actions within still or moving images. Typically driven by deep neural networks, image recognition is used for fingerprint ID systems, mobile check deposit apps, video and medical image analysis, self-driving cars, and much more.
  • Real-time recommendations: Retail and entertainment web sites use neural networks to recommend additional purchases or media likely to appeal to a customer based on the customer’s past activity, the past activity of other customers, and myriad other factors, including time of day and the weather. Research has found that online recommendations can increase sales anywhere from 5% to 30%.
  • Virus and spam prevention: Once driven by rule-based expert systems, today’s virus and spam detection software employs deep neural networks that can learn to detect new types of virus and spam as quickly as cybercriminals can dream them up.
  • Automated stock trading: Designed to optimize stock portfolios, AI-driven high-frequency trading platforms make thousands or even millions of trades per day without human intervention.
  • Ride-share services: Uber, Lyft, and other ride-share services use artificial intelligence to match up passengers with drivers to minimize wait times and detours, provide reliable ETAs, and even eliminate the need for surge pricing during high-traffic periods.
  • Household robots: iRobot’s Roomba vacuum uses artificial intelligence to determine the size of a room, identify and avoid obstacles, and learn the most efficient route for vacuuming a floor. Similar technology drives robotic lawn mowers and pool cleaners.
  • Autopilot technology: This has been flying commercial and military aircraft for decades. Today, autopilot uses a combination of sensors, GPS technology, image recognition, collision avoidance technology, robotics, and natural language processing to guide an aircraft safely through the skies and update the human pilots as needed. Depending on who you ask, today’s commercial pilots spend as little as three and a half minutes manually piloting a flight.

Artificial intelligence and IBM Cloud



IBM has been a leader in advancing AI-driven technologies for enterprises and has pioneered the future of machine learning systems for multiple industries. Based on decades of AI research, years of experience working with organizations of all sizes, and on learnings from over 30,000 IBM Watson engagements, IBM has developed the AI Ladder for successful artificial intelligence deployments:

  • Collect: Simplifying data collection and accessibility.
  • Analyze: Building scalable and trustworthy AI-driven systems.
  • Infuse: Integrating and optimizing systems across an entire business framework.
  • Modernize: Bringing your AI applications and systems to the cloud.

The IBM Cloud AI services start with Watson Studio for building and training AI models, preparing data and performing analysis on the data. This is available in one integrated environment. For existing data, there is Watson Knowledge Catalog to do intelligent data and analytic asset discovery, cataloging and governance, and Watson Discovery to find connections and relations.

IBM has made a point of noting that only 20% of the world’s data is searchable, and there is heavy emphasis in IBM Cloud Watson on data processing and discovery. An example of this is IBM Watson Services for Core ML, which allows enterprises to build AI-powered apps that securely connect to their data and run either on-premises, offline or in cloud. These apps utilize machine learning to adapt and improve through each user interaction.

Other data discovery apps include Data Refinery, a self-service data preparation tool for data scientists, engineers and business analysts and Deep Learning, which helps developers design and deploy deep learning models using neural networks, easily scale to hundreds of training runs.

To build AI platforms, IBM has Watson Assistant to build and deploy chat bots and virtual assistants, Watson IoT Platform to provide a cloud-hosted service for device registration, connectivity, control, rapid visualization and data storage.

IBM is also big on language recognition and translation. Watson Speech to Text (STT) converts audio and voice into written text, while Watson Text to Speech (TTS) does the opposite and converts written text into natural-sounding audio in a variety of languages and voices.

How IBM Is Using AI At Scale To Benefit The Media Industry


IBM (NYSE: IBM) recently announced 3 new products to add to its growing suite of artificial intelligence solutions for brands and publishers. The new capabilities are privacy-forward and designed to enable brands to reach consumers while considering user privacy. And IBM intends to work with industry leaders, including Xandr/AT&T, Magnite, Nielsen, MediaMath, LiveRamp, and Beeswax to help scale the use of artificial intelligence across the industry.

The IBM Watson Advertising suite of solutions utilizes artificial intelligence to help clients make informed data-based decisions. And expanding on recent additions to the suite, including Watson Advertising Accelerator, Watson Advertising Social Targeting with Influential and Watson Advertising Weather Targeting among others, the planned AI-enabled capabilities also include:

1.) Extensions for IBM Watson Advertising Accelerator: Enhanced video and OTT capabilities available in the next few months that are expected to leverage Watson Machine Learning to help enable marketers to pivot video advertising creative based on individual user reaction.
2.) IBM Watson Advertising Attribution: The Beta Solution available in the coming months that utilizes Watson Machine Learning — which allows marketers to accurately quantify the efficacy of their advertising spend while understanding intent and performance drivers.
3.) IBM Watson Advertising Predictive Audiences: Solution utilizes Watson Discovery, to help enable marketers to progress beyond ‘look-alike’ to ‘do-alike’ segments in a privacy-forward format to reach consumers that exhibit similar behaviors.

IBM Watson is able to offer increased AI capabilities for businesses across language, automation, and trust. And the planned capabilities from IBM Watson Advertising will be designed to help infuse trust and transparency into the advertising ecosystem. IBM is also negotiating definitive agreements with Xandr/AT&T and Magnite.

IBM sees AI benefits in phase-change memory


In a development that holds promise of more sophisticated programming of mobile devices, drones and robots that rely on artificial intelligence, IBM researchers say they have devised a programming approach that achieves greater accuracy and reduced energy consumption.

AI systems generally employ procedures that divide memory and processing units. This practice means time is consumed transferring data between the two waypoints. The volume of data transfer is massive enough to accrue costly energy tabs.

Nature Communications reported this week that IBM devised an approach that relies on  to execute code faster and cheaper. This is a type of random access memory containing elements that can rapidly change between amorphous and crystalline states, offering performance superior to the more commonly used Flash memory modules. It is also known as P-RAM or PCM. Some refer to it as "perfect RAM" because of its extraordinary performance capabilities.

PCM relies on chalcogenide glass, which has a unique capacity to alter its state when a current passes through. A key advantage of phase change technology, first explored by Hewlett Packard, is that the memory state does not require continuous power to remain stable. The addition of data in PCM does not require an erase cycle, typical of other types of memory storage. Also, since code may be executed directly from memory rather than being copied into RAM, PCM operates faster.

IBM recognized that the growing requirements of operations relying on  in the fields of image and speech recognition, gaming and robotics demand greater efficiencies.

"As  continues to evolve and demand greater processing power," an IBM team studying solutions posted on a company blog, "companies with large data centers will quickly realize that building more  to support an additional one million times the operations needed to run categorizations of a single image, for example, is just not economical, nor sustainable."

"Clearly, we need to take the efficiency route going forward by optimizing microchips and hardware to get such devices running on fewer watts," the report states.

IBM compared PCM to the human brain, noting that it "has no separate compartments to store and compute data, and therefore consumes significantly less energy."

One drawback with PCMs is the introduction of computational inaccuracies due to read and write conductance noise. IBM addressed that problem by introducing such noise during AI .

"Our assumption was that injecting noise comparable to the device noise during the training of DNNs would improve the robustness of the models," the IBM report states.

Their assumption was correct. Their model achieved an accuracy of 93.7 percent, which IBM researchers say is the highest accuracy rating achieved by comparable  hardware.

IBM says more work needs to be done to obtain even higher degrees of accuracy. They are pursuing studies using small-scale convolutional neural networks and generative adversarial networks, and recently reported on their progress in Frontiers in Neuroscience.

"In an era transitioning more and more towards AI-based technologies, including internet-of-things battery-powered devices and autonomous vehicles, such technologies would highly benefit from fast, low-powered, and reliably accurate DNN inference engines," the IBM report.

Why IBM is using A.I. to find jobs for people who don’t have a college degree



With the unemployment rate at a low 3.7% and the skills shortage severe, corporations need to get creative about finding talented job candidates. IBM is among the technology giants testing new methods involving artificial intelligence to overcome the labor market challenges.

AI has been applied to the job application process directly as a method to prevent human bias in hiring decisions. Now more companies are using AI assessment tools to reverse-engineer job roles and find candidates often overlooked by recruiters.

IBM introduced its SkillsBuild platform in France in May 2019 with the goal of identifying job skills and employment opportunities for members of disadvantaged communities. It will be rolled out in Germany in the coming months, followed by India, and then IBM plans to bring the platform to the U.S. in 2020, by which time it is likely that the program will have thousands of users, the company says.

The IBM initiative provides jobseekers, including those with long-term unemployment, refugees, asylum seekers and veterans, with career fit assessments, training, personalized coaching and learning needed to reenter the workforce. SkillsBuild has partnered with several NGO partners and nonprofits to form, in IBM’s words, “a new, sustainable hiring mindset,” but it is not currently used as part of the application process for IBM jobs, specifically.    

Hiring below the college degree

Within the IBM Skillsbuild platform are AI tools like MyInnerGenius, created by San Diego area-based GreatBizTools, which designs AI products to find talent in nontraditional ways. 

MyInnerGenius is helping fill entry-level and mid-level IT roles for IBM’s New Collar program in the U.S. and SkillsBuild program in Europe. Many of these roles are being filled by applicants with no prior experience in technology, many of whom don’t have college degrees.

“There are currently more than 500,000 IT job openings, and colleges are only producing around 50,000 people with degrees in IT per year,” said Denise Leaser, president of GreatBizTools. The skills shortage has made it more necessary than ever for companies like IBM to look outside of their usual applicant pool. “IBM wants to open up IT to more people, especially people who may have never thought of or considered an IT role before.”

IBM using AI to predict employee performance


IBM may have the most forward-thinking employee performance review system around. Rather than simply judge employees on what they’ve already done, the company uses its Watson AI to predict what they’re going to do in the future.

How it works: Predicting the future is right inside of Watson’s wheelhouse. In this case it isn’t determining whether you’re going to win the lottery and quit, it’s using company data to make logical projections about individual performance.

Why it’s cool: IBM has 380,000 employees worldwide. That’s a lot of performance reviews for human managers to handle, and a massive time investment if they’re going to give them the scrutiny they deserve.

Watson could, theoretically, give each individual a comprehensive evaluation based on every scrap of information available, in a fraction of the time it would take humans. And the data generated is what it uses to fuel its predictions for future performance.

According to a report from Bloomberg, IBM claims Watson predicts future employee performance with 96 percent accuracy.

What’s next: IBM wants Watson everywhere. It’s been to the Grammys and outer space, and the next stop could be your company. But at least an AI probably won’t overlook your recent training, forget about your strong sales in the first quarter, or hold the fact that you’re a Yankees fan against you.

Hope you guys enjoyed reading and gained quiet good amount of knowledge about IBM and its benefits of using AI.

Thanks a lot for reading this post.... Stay tuned for more!!!



Hadoop WebApp Automation

  Abstract : Today is an era of Technology and with the increase of technology the amount of data it produces increases every second even no...