AWS CLOUDWATCH VS NAGIOS

AWS CloudWatch Vs Nagios

Nagios is an open-source network monitoring software that monitors systems, networks, and infrastructure. Nagios is designed with the scalability and flexibility in mind. The main aim of Nagios is to monitor the status of network devices and their services and to notify the system administrators when server or network problem occurs. Nagios performs the status check through the use of external “plugins”, which are compiled executables or scripts that can be run from command line to check the status of hosts or services. Users can also create their own plugins to support any peculiar devices or services in their network. Nagios has proven popular among small businesses and also other users include Internet service providers (ISP’s), educational institutions, government agencies, manufacturing companies, and financial institutions.

Benefits:
Comprehensive Monitoring

It provides monitoring of all mission-critical infrastructure components including applications, services, operating systems, network protocols, and network infrastructure.

Proactive Planning

Trending add-ons and capacity add-ons allow the organizations to plan for infrastructure upgrades before outdated systems catch them. Scheduled downtime allows for alert suppression during infrastructure upgrades.

Reporting

It provides historical records of outages, notifications, and alert responses for future analysis.

Intelligent Scheduling

Parallel processing architecture provides quick detection of infrastructure outages and maximum utilization of hardware capabilities.

Route Detection

Intelligent detection of network outages ensures that IT staff can quickly locate the source of problem.

Limitations : 

  • Nagios makes no differentiation among different types of devices such as servers, routers, or switches.
  • Nagios treats every device generically as host.
  • Creating check dependencies is bit burdensome, as you have to refer checks via their service_description field. This means the user has to use either the description like ID or should duplicate the description in all places where the user wants to check.
  • The web interface is mostly read-only.
  • Nagios needs SSH access to monitor remote system internals.

AWS CloudWatch

Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications which the user runs on AWS. CloudWatch enables real-time monitoring of AWS resources such as Amazon EC2 instances, Elastic Load Balancers, and Amazon RDS database instances. Users can access CloudWatch functions through an API, command line tools, AWS SDK (software development kit) or AWS Management Console. The CloudWatch interface provides the frequent statistics that can be viewed in a graph format.

Benefits:
Billing Alarm Metrics

The CloudWatch monitors the charges of AWS bill by sending e-mail alerts when charges exceed a defined threshold.

Limits

Cloud Watch can assign up to five actions per alarm. It can also create 5000 alarms per AWS account. Cloud Watch can also assign up to 10 dimensions per metric.

Monitoring Auto scaling

Auto scaling instances sends metrics to Cloud watch. It offers two kinds of monitoring, basic monitoring which gives aggregated data about each instance every 5 minutes and there is Detailed monitoring which sends metrics every minute.

SNS with Cloud Watch

SNS and Cloud Watch can be integrated to get metrics on each SNS topic. You can monitor the metrics using either the console, CLI, or programmatically using API. Email notifications can be set if specific thresholds are met for an Amazon SNS metric.
Log file monitoring

The Log files can be stored directly on the console.

Limitations :

loudWatch runs on the principle eventually consistent that means, not all the metrics will be available consistently and thus a user may miss some important events.

CloudWatch gives “out of box” metrics for a small subset of services. The user needs to use other softwares to monitor other metrics and then use the AWS API to publish the performance history to CloudWatch.

monitoring tools

While conducting a survey among 235 employees in an AWS summit, the above diagram shows the poll outcome explaining that AWS CloudWatch and Nagios are the most preferred monitoring tools.

AWS CLI IN A DOCKER CONTAINER?

AWS CLI in a Docker Container?

Most of the systems we are using now have Docker on it. Here we will walk you through how to use the container and two of the many useful commands available to the AWS CLI tool.

Starting the Docker container:
It is pretty simple to start the Docker container and get a shell:

AWS CLI

Once you are in the shell, you can use any of the supported commands.  For example, you can copy/upload items to S3, list ec2 instances, and start ec2 instances.

Copy files to S3:

If you have set of files on your local server that you want to copy over to S3, you can use the tool to do that. I’ve written instructions for copying over files in /opt/database to s3://garland.public.bucket/database below.

First, you need to restart the container and map the directory you want to copy over.

Capture

This adds the Docker -v option which maps a path from your local server to inside the container.  The format is /local/path:/inside/cvontainer/path.

WHAT IS AMAZON EC2 CONTAINER SERVICE AND WHY WE USE IT?

What is Amazon EC2 Container Service and why we use it?

Amazon EC2 Container Service (ECS) is highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances.

Why we use Amazon ECS?

Amazon ECS makes it easy to use containers as a building block for your applications by eliminating the need for you to install, operate, and scale your own cluster management infrastructure.

Amazon ECS lets you schedule long-running applications, services, and batch processes using Docker containers.

Amazon ECS is integrated with familiar features like Elastic Load Balancing, EBS volumes, VPC, and IAM. Simple APIs let you integrate and use your own schedulers or connect Amazon ECS into your existing software delivery process.

WHAT IS DOCKER AND WHEN TO USE DOCKER?

What is Docker and When to Use Docker?

Docker is a basic tool that you should start incorporating into your daily development and ops practices.

* Use Docker when you want to distribute/collaborate on your app’s operating system with a team

* Use Docker whenever your app needs to go through multiple phases of development (dev/test/qa/prod, try Drone or Shippable, both do Docker CI/CD)

Use Docker with your Chef Cookbooks and Puppet Manifests (remember, Docker doesn’t do configuration management)

Docker Lifecycle:
docker create creates a container but does not start it.
docker rename allows the container to be renamed.
docker run creates and starts a container in one operation.
docker rm deletes a container.
docker update updates a container’s resource limits.

WHAT ARE CONTAINERS?

What are Containers?

Containers are a solution to the problem of how to get software to run reliably when moved from one computing environment to another. This could be from a developer’s laptop to a test environment, from a staging environment into production, and perhaps from a physical machine in a data center to a virtual machine in a private or public cloud.
 
 
 
 
 
 
 
 

TOP 5 ESSENTIAL TIPS FOR MOBILE SEO IN 2016

Top 5 essential tips for mobile SEO in 2016

Essential Tips for Mobile SEO in 2016

It might sound like illogical if we say that the world is shifting towards mobile. That would have been pretty much correct three years ago. But today it is evident that we have already shifted towards mobile.

One in every five searches happens on mobile, 88% of the users are using smartphones to conduct local searches. As of April 2015, mobile search has finally surpassed desktop search. Google is developing and pushing mobile search as the future in all of its products and also, many brands are beginning to make a different approach to their internet strategies.

As mobile is growing very fast, marketers need to be smart enough to optimize their mobile site by doing the right mobile SEO.

Mobile SEO is slightly different from desktop, and it is important to understand that the way user search on mobile is different from how they search on desktop. Google recently announced separate changes for mobile and desktop in its search quality updates.

There are many essential tips introduced for mobile SEO, in this article we will let you know the top five essential tips of mobile SEO released in 2016.

Following are the top five essential tips for mobile SEO:

Mobile friendly:

Many designers and developers are now choosing to work using mobile. This means it is necessary to plan out the website and its content with mobile and responsive design on mind.

It’s not only about having a responsive site, it is also possible to have both mobile site and app. Last year, Google has announced that there are more searches performed on mobile devices than on desktops. Users will be seeing your website from their tablets, smartphone, and other mobile devices Is your website is ready for this? Make sure that your website is mobile-friendly, or your ranking will suffer terribly.

Speed up slow loading pages:

Page load speed can have a significant impact on mobile users and conversions. Based on research by Nielsen Norman Group, Google wants mobiles pages to load in one second or less to deliver a positive experience and also to keep the user engaged. According to google the average page load speed, today is about 7 seconds.

Page load speed is the important factor for creating a positive mobile user experience. It is essential for a successful mobile SEO strategy. While it is not clear that how much of a direct impact mobile page load has on rankings. Google is always stressing its importance because of the impact on user experience. It is always good for rankings which are good for user experience.

Location:

The location is one of the key factors that can change the mobile search results for different users. If your business is one that relies on local people, then it is important than ever to ensure that you use local SEO. Register with Google places makes sure that you get reviews and that your business uses local directories. The major advantage of Location in mobile SEO is, it stops unnecessary website traffic.

Content optimization: Keywords and Keyword phrases.

Like all kinds of internet marketing campaigns, content optimization plays an important role in helping search engine spiders and evaluates the applicability of your content in any given search. A user definitely needs keywords or keyword phrases in content optimization, as mobile screens are dramatically smaller than the laptops or desktops screens. The keypads are also smaller, so search terms are likely going to be shorter. Choose the keywords which are mobile-user specific and check the content’s length to optimize the mobile users experience for your website.

Voice search and Structured data:

87% of the world’s population owning a smart phone, most of the people are using smartphones and tablets instead of traditional desktop computer or laptops. Tying-in with the increasing prominence of mobile search is the growing importance of “voice search”. Users don’t prefer searching in Google when they are in move. In that situation users simply depend on Siri, Google Now or Cortana to find what they are looking for.

This has already brought about ethereal-yet-profound changes in the way that search works. Structured data and rich snippets are increasingly growing its importance as Google and other search engines attempt to directly answer the user’s questions by understanding the content they retrieve.

This is some serious indication for the industry as whole but in the short term, it is better to start including structured data in your site. You might not like the concept of Google using your information without referring visitors, but it is better than being left out of the loop entirely.

Conclusion:

These are the five elements essential for the success of mobile SEO. Mobile SEO should no longer be considered separate from desktop SEO. Though, they are two different parts of SEO strategy.

Users utilize multiple devices to research the products and services that interest them. An SEO strategy that allows the customers to find your products and services and provide a great user experience, regardless of devices, will be the best SEO strategy in 2016.

Essential Tips for Mobile SEO

Essential Tips for Mobile SEO

WHAT IS POLYMER IS IT NECESSARY FOR WEB DEVELOPMENT

What is Polymer Is it Necessary for Web Development

Building modern web applications requires a lot of tooling. This includes pre-processors, JavaScript frameworks, testing tools and much more. As the complexities of these applications increase, the usage of tooling and services are needed to be managed by them.

Web components aim to solve some of these complexities by providing a consolidated way to create new elements that encompass rich functionalities without the need for extra libraries. Web components are comprised of four different specifications they are, Custom elements, Templates, Shadow DOM, and HTML imports, these are still in the process of standardization by W3C and are not yet present in today’s browsers.

To bridge the gap and give developers access to this rich functionality, Google has created the Polymer library which serves as a set of polyfills to bring the promise of Web Components to you today. So, let’s dive a little deeper to know more about the concept.
Polymer
What is Polymer?

The polymer library is designed for the developers to create great and reusable components for the modern web. Polymer library is a set of Polyfills that helps a developer to create Web Components on all modern web browsers. It provides the framework for defining, creating, and rendering complex custom elements in a simple manner. It also helps to simplify the way you use complex components by:

1) Encapsulating the complex code and structure.
2) Allows the developers to use simple-to-use tag style naming convention.
3) Providing a suite of predefined user interface elements to leverage and extend.

With Polymer.js, you can create your own HTML elements and can compose them into complete complex web applications that are scalable and maintainable.

Polymer – Web Development:

Polymer.js places a heavy set of requirements on the browsers, relying on a number of technologies that are still in the process of standardization and are not yet exist in today’s browsers. Examples include Shadow DOM, template elements, custom elements, HTML imports, mutation observers, model-driven views, pointer events, and web animations. As we already know, in order to fill the gap, the Polymer suggests the usage of Polyfills. The recommended Polyfills are designed in such a way that it will be seamless to replace once the native browser versions of these capabilities become available.

For now, we are going to use Polyfills to avoid the usage of JavaScript libraries. Isn’t it fascinating?

The developers are in an oblivion mode with the polymer, as it is ultimately relying on browser technologies that do not exist yet. Polymer.js today seem more likely a study in how element-centric applications may be built in the future. At present, Polymer seems like an intriguing concept than an actual option for creating robust change of your view in the world of applications right here and now, which makes writing a Polymer tutorial difficult outside of Google’s documentation.

Polymer architecture:

Polymer.js is architecturally divided into four layers.

Native Layer:

Needed features that are currently available in all major browsers.

Foundation Layer:

The major intention of this layer is to disappear overtime as the capabilities become available natively in the browser.

Core Layer:

The necessary infrastructure for Polymer elements to exploit the capabilities provided by the Native and Foundation layers.

Elements:

A basic set of elements, intended to serve as building blocks that can help you to create your own applications. It also includes elements that provide basic functionalities like Ajax, animation, flex layout, and gestures. And also the encapsulation of complicated browser API’s and CSS layouts.

Installing Polymer:

The most recommended way to install polymer is through Bower. Bower is a package manager that manages dependencies for your project. The below are the instructions to install Bower and get started with it.

Assuming you have a project folder setup with a bower.json file, and also, you can install the latest version of Polymer by running the following command.

bower install –save Polymer/polymer

this will install the Polymer library and the platform polyfills inside the bower – components folder

bower_components/
├── core-component-page
├── platform
└── polymer

After installing the Polymer, you can start by creating the index.html file in the root of your project folder.

├── bower_components/
├── bower.json
└── index.html

Add the platform.js polyfill in theof your document and then you’ll be ready to use predefined custom elements in your documents.

Final thought:

The polymer has an enormous scope and it might take some time to get used to all the custom elements as well as its APIs. Nevertheless, Web Components and Polymer will certainly influence the way you build web applications.

UC DAVIS WEB DEVELOPMENT CERTIFICATE PROGRAM

UC Davis web development certificate program

The IT sector is thriving very fast, and the demand for web developers and IT professionals continues to rise. In response to this growing demand, UC Davis Extension has launched a new online web development certificate program designed to provide students with the core skill set necessary to succeed in almost any IT environment. It is designed in partnership with national employers like (Amazon, Google, and Hewlett-Packard), Robert Half Technology and highly regarded UC Davis Computer Science faculty. This program delivers exactly the skills which are needed for an employer.

The web development certificate program is an in-depth foundational program that will prepare students for fulfilling, long-term careers in web development. The program covers all the functionalities of web development from programming to databases from both client to server side, allowing students to fully understand and execute web development using trending technologies and languages. Courses have strong applied focus, with an emphasis on project-based assignments, ensuring that students build a portfolio that demonstrates their ability to create dynamic and modern websites.

Designed for professionals like you:

This in-depth programming designed for the people who are interested in learning current technologies and tools used to develop and design websites for professional or personal use. Individuals with less or no experience in web development or those looking to brush up their skills like web professionals, graphic designers, and multimedia designers who are looking out to change their careers or excel in their current position will get benefited from this program.

Learn where ever and whenever you want:

This program is designed by the award-winning educational design team at UC Davis Extension, this online program offers high-quality instructions from industry experts in an engaging multimedia format that leverage screencasts and interactive graphics to illustrate key concepts.

UC Davis web development certificate program consists of five courses; they are as follows,
Creating functional websites:

Design and build your own professional and attractive web pages. In this course you can learn the basics of hypertext mark-up language(HTML), how to write code in HTML and how to work with HTML editors. Discover how to construct your own web pages by using the concepts involved in CSS and HTML, including fundamentals such as lists, menus, hyperlinks, images, forms, tables, frames, and other customizable parts.

Web programming with JavaScript:

Once you are keen with the concept of building static web pages then learning JavaScript is the next step in creating dynamic interactions with your web pages. Because JavaScript is built into web browsers, there is no need of installing extra software tools. Learn the introduction of JavaScript and discover how to create usable, interactive pages that can respond to the web browser and user input. Examine the techniques for controlling the web browser and user environment. Although a programming background is helpful it is not a requirement for learning the powerful features of JavaScript. This is not specifically a programming course, students will learn a great deal about programming while learning JavaScript.

Server side scripting with PHP:

Transform basic websites into interactive experiences with server-side scripting languages. Server-side scripting languages allows a user to create dynamic web pages driven by programming logic, data from databases and server files, or content based on user input. This course makes you learn PHP, which is the most common programming language, to create interactive web pages

Database design, development, and management

Learn the basics of modern database terminology, architecture, design, and creation, as well as how to access the stored data. Acquire the skills to describe the functions of a database management system and its internal components, and construct logical data models for the implementation of a specific database requirement. Students also go through with the concepts like how to code simple SQL statements to create, retrieve, update, and delete data values stored in a relational database.

Creating web applications with AJAX

AJAX has been described as the special sauce that makes the web-magic really happen. In reality, it is a combination of technologies working together to create highly interactive web content. AJAX combines HTML5, CSS, JavaScript and server side scripting to allow fully dynamic web page content without the need to reload the pages in the browser, including database-driven content. Learning AJAX combines the skills of learning HTML5, CSS, and JavaScript, Database development and PHP is a complete package allowing the user to build any type of website.