iam vs acm certificates

ACM is the preferred tool to provision, manage, and deploy your server certificates. With ACM you can request a certificate or deploy an existing ACM or external certificate to AWS resources. Certificates provided by ACM are free and automatically renew. 

Use IAM as a certificate manager only when you must support HTTPS connections in a Region that is not supported by ACM. IAM securely encrypts your private keys and stores the encrypted version in IAM SSL certificate storage. IAM supports deploying server certificates in all Regions, but you must obtain your certificate from an external provider for use with AWS.

You cannot upload an ACM certificate to IAM. Additionally, you cannot manage your certificates from the IAM Console.

Server Migration Checklist

Server migration checklists

Validation Checklist

  • Set the hosts file to locally load services
  • Check to see if all required services are functioning
  • Check your site for 404 errors, 500 errors, PHP warnings, etc.
  • Update all server software to the latest version
  • Tune LAMP performance (Apache, MySQL, PHP)
  • Test the cron
  • Check email deliverability and email records (DKIM, SPF, etc.)
  • Verify mail is synced (i.e. that all messages are there and all contacts have been migrated)
  • Check backups are still working

Security Checklist

  • Audit firewall configuration
  • Identify and implement non-standard security requirements
  • Restrict access where appropriate
  • Implement programs to educate staff
  • Ensure setup is compliant with all protocols

Configuration Checklist

  • Analyse configurations of both old and new hosting environments
  • Configure web server modules (i.e. suexec, mod_php, mod_perl, mod_ssl, etc.)
  • Identify shared libraries and other code/program dependencies
  • Set up SSL certificates
  • Create fresh (or import existing) configuration files
  • Import databases
  • Fine-tune server performance
  • Check and reconfigure applications that connect from remote sources

User Account Checklist

  • Migrate user accounts and passwords
  • Consider forcing password reset on next login
  • Purge old/inactive accounts

File System Checklist

  • Ensure all files copied over
  • Check that permissions are correct
  • Crawl website to identify 404 not found errors

Final Check Checklist

  • Were all of the issues addressed during migration?
  • Was the migration painless? If not, what went wrong?
  • Are you happy with your new server?
  • What else (if anything) needs doing?

Server Migration Service

What is a Server Migration?

A server migration is the term used to describe copying or moving complete data from one server to another, as well as configuring that target server to replace the previous one. Server migrations in the context of web hosting might revolve around setting up web server and database software, copying websites and their configurations, and changing DNS to direct visitors to that new server.

Why Should I Consider a Server Migration?

Server migrations may need to happen for a number of reasons. Organizations may migrate to:

  1. Take advantage of new technology or better service, or to ensure that the operating system (OS) and the hardware beneath it stay up-to-date with current technology.
  2. Move to the cloud for increased flexibility or scalability.
  3. To economize and consolidate hosting and reduce CapEx.
  4. Replace aging infrastructure at the end of its lifecycle.
  5. To expand and distribute hosting to help reduce load at a single point and achieve high availability.

Migrations should be handled with utmost care. You could sink hours of time, effort, and money into a migration only to find yourself onto the wrong server solution, or worse, with downtime and profit loss. It takes considerable planning and forethought to migrate your data onto an optimized server that is right for you. After all, on-average downtime can cost an enterprise $686,000 an hour, so your organization’s success absolutely depends on a successful migration.

5 Step Server Migration Plan

  1. Preparing Your New Server
  2. Assess Data Fidelity
  3. Data Transfer
  4. Testing (QA/QC)
  5. Changing DNS and “Going Live”

Extensions for ReactJS in Visual Studio Code

Development quicker and life easier, install a number of the Visual Studio Extensions that square measure outlined below and create your development a lot of and a lot of power tools than the alternative.

Top 10 Extensions for ReactJs in VSCode are:

  • The Bracket Pair Colorizer extension.
  • The change-case extension.
  • The Code Spell Checker extension.
  • The Duplicate Selection extension.
  • The EditorConfig for VS Code extension.
  • The VSCode React Refactorextension.
  • The npm Intellisense extension.
  • The ESLint extension.
  • The ES7 React/Redux/GraphQL/React-Native snippetsextension.
  • The Prettier – Code formattedextension.

Bracket Pair Colorizer: This extension permits matching brackets to be known with colors. The user will outline the characters to match, and which colors to use. The main aim of this extension is to allow the matching brackets to be identified with colors.

change-case: It is a wrapper around node-change-case for Visual Studio Code. The main job is to quickly modify the case of this choice or current word. It also works with multiple cursors.

Code Spell Checker: It is a basic spell checker that works well with the camelCase code. It basically assists in catching the common spelling errors whereas keeping the number of false positives low.

Duplicate Selection: This extension brings Sublime-like duplication of designated text, it duplicates it inline, and not during a printing operation, just like the default behavior of VSCode.

EditorConfig for VS Code: This extension brings the EditorConfig and .editorconfig support to our VSCode. This plugin mains to override user or workspace settings with settings that are found in .editorconfig files.

VSCode React Refactor: This simple extension provides the refactor code actions for React developers. IT extracts the JSX element to file or function. It also supports the TypeScript and TSX syntax. This extension works well with the classes, functions, and arrow functions.

npm Intellisense: This is a plugin that will auto-complete all the npm modules import statements. All imports for npm modules get automatically handled by this extension.

ESLint: It integrates the ESLint into your VS Code system. The ESLint statically analyzes your code in order to quickly find problems.

ES7 React/Redux/GraphQL/React-Native snippets: This extension helps in providing the JavaScript and React/Redux related snippets in ES7 with Babel plugin options for your VS Code.

Prettier – Code formatter: It is a code formatted. This VS Code package is used to format your JavaScript/matter/CSS exploitation is prettier. It basically parses your code and re-printing it with its own rules.

IDE for reactjs

1. VS Code –

You can download VS code on Windows, Mac, Ubuntu, Debian, Red Hat, Fedora, and on SUSE, free of cost under the open-source of MIT license. It is popular among developers for providing all kinds of programming needs. React and VS code easily transformed into a compelling React IDE to enhance the productivity and speed of development using plugins.

vs-code

2. Atom –

Atom is another interesting and widely used ReactJS IDE. With 50K plus Github stars and more than 13k forks, this open-source IDE for ReactJS development brings varieties of features for an amazing development experience for users as well as for developers. It allows programmers to mangle each part of Atom according to their convenience even without tasting any configuration file.

atom

Windows, Mac, and Linux offer a wide range of applications and high-end support. Additionally, with auto-completion of syntax and inline indentation, mini-map features, it can be customized using Node.js based plugins to maximize functionality.

3. Reactide –

Reactide is the first ReactJS IDE which can be considered as a cross-platform for web application development. It just does not offer an integrated Node Server and custom simulator which eliminates the need for building unnecessary built-tool and server configurations, it renders the project in the browser instantly and provides hot module re-loading by default. This free tool can be downloaded from macOS, Windows and Debian.

reactide

4. Alloy Editor React –

This rich ReactJS IDE text editor gets used as a core component for several applications such as blogs, eCommerce administrator tools, and many more. It comprises smart toolbars that appear on the selected text depending on the different context functionality. It allows developers to add buttons or upload relevant images from clipboards or to drag from any other applications. Its amazing architecture enables programmers to paste rich text from web pages and preserve the formatting.

alloy-editor-react

5. Webstorm

This ReactJS IDE is a paid service but one of the most feature-rich IDE for ReactJS Development around the entire javascript ecosystem. Its ecosystem includes Cordova, React Native, Electron, NodeJS, and many more.

webstorm

JetBrains is a producer of Webstorm, and from the last 18 years, it has been proved as one of the best IDE for continuous product upgrades as well as customer support. Due to its regular product upgrades and support, most of the React.js Development Company relies on this.

6. Nuclide –

Developed by FaceBook, Nuclide works as a text editor for both React Native and ReactJS. However, now Facebook is no longer associated with this and does not offer any associated updates; still, it gets huge community support. Many developers have considered Nuclide as one of the best IDE reactJS technology due to its cross-platform support, autocomplete, inline indentation, build in debugging capabilities, and diagnosis capabilities.

nuclide

7. Sublime Text-3 –

It is another powerful integrated development programme which helps in various programming languages and frameworks. The sublime Text tool is a great option for those who do not want to scratch their head for anything else.

sublime-text-3

It has many plugins available to turn sublime into a feature-rich IDE for ReactJS Development. Plus, it can be used for enhancing development experience with ColorSublime, Babel, SublimeREPL, ColorPicker, React ES6 snippet, and many other technologies.

8. Rekit Studio –

Rekit is another ReactJS IDE, which basically focuses on developing apps using React. Along with IDE it also works as a toolkit that gets used for developing scalable applications utilizing React, react-router, and redux. A few basic features like refactoring, unit tests, code generation, support for Less and Sass, react-router, command-line tools etc. help in expanding its functionality.

rekit-studio

9. Brackets –

If you are looking for any lightweight, modern and powerful text editor which blends seamlessly with visual tools, Brackets is worth consideration for you. Brackets are produced from Adobe, and it is available under MIT license as free to use the tool. You can find a range of plugins available to enhance Brackets functionality using React components even without delving into the creative procedures. Brackets are specially crafted for web designers and front-end developers.

brackets

10. Deco IDE –

Many React.js development services found Deco IDE as the best IDE to react to native development. Earlier it was supported by macOS, but now it is not getting any regular updates from them. Originally it was a paid IDE reactJS, but since 2016 it is now free and open-source to use.

deco-ide

How to minify files using nodejs

 Minification can help your website load several times faster

In production, it is recommended to minify any JavaScript code that is included with your application. Minification can help your website load several times faster, especially as the size of your JavaScript source code grows.

Here’s one way to set it up:

  1. Install Node.js
  2. Run npm init -y in your project folder (don’t skip this step!)
  3. Run npm install terser

Now, to minify a file called like_button.js, run in the terminal:

npx terser -c -m -o like_button.min.js -- like_button.js

This will produce a file called like_button.min.js with the minified code in the same directory. If you’re typing this often, you can create an npm script to give this command a name.

What is DevOps?

DevOps Model Defined

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.

What is DevOps?

How DevOps Works

Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.

In some DevOps models, quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle. When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps.

These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity.

Learn about AWS DevOps tooling and services »

Benefits of DevOps

DevOps-What-is_scale

Speed

Move at high velocity so you can innovate for customers faster, adapt to changing markets better, and grow more efficient at driving business results. The DevOps model enables your developers and operations teams to achieve these results. For example, microservices and continuous delivery let teams take ownership of services and then release updates to them quicker.

DevOps-What-is_delivery

Rapid Delivery

Increase the frequency and pace of releases so you can innovate and improve your product faster. The quicker you can release new features and fix bugs, the faster you can respond to your customers’ needs and build competitive advantage. Continuous integration and continuous delivery are practices that automate the software release process, from build to deploy.

DevOps-What-is_reliability

Reliability

Ensure the quality of application updates and infrastructure changes so you can reliably deliver at a more rapid pace while maintaining a positive experience for end users. Use practices like continuous integration and continuous delivery to test that each change is functional and safe. Monitoring and logging practices help you stay informed of performance in real-time.

DevOps-What-is_scale

Scale

Operate and manage your infrastructure and development processes at scale. Automation and consistency help you manage complex or changing systems efficiently and with reduced risk. For example, infrastructure as code helps you manage your development, testing, and production environments in a repeatable and more efficient manner.

DevOps-What-is_collaboration

Improved Collaboration

Build more effective teams under a DevOps cultural model, which emphasizes values such as ownership and accountability. Developers and operations teams collaborate closely, share many responsibilities, and combine their workflows. This reduces inefficiencies and saves time (e.g. reduced handover periods between developers and operations, writing code that takes into account the environment in which it is run).

DevOps-What-is_security

Security

Move quickly while retaining control and preserving compliance. You can adopt a DevOps model without sacrificing security by using automated compliance policies, fine-grained controls, and configuration management techniques. For example, using infrastructure as code and policy as code, you can define and then track compliance at scale.

Why DevOps Matters

Software and the Internet have transformed the world and its industries, from shopping to entertainment to banking. Software no longer merely supports a business; rather it becomes an integral component of every part of a business. Companies interact with their customers through software delivered as online services or applications and on all sorts of devices. They also use software to increase operational efficiencies by transforming every part of the value chain, such as logistics, communications, and operations. In a similar way that physical goods companies transformed how they design, build, and deliver products using industrial automation throughout the 20th century, companies in today’s world must transform how they build and deliver software.

How to Adopt a DevOps Model

DevOps Cultural Philosophy

Transitioning to DevOps requires a change in culture and mindset. At its simplest, DevOps is about removing the barriers between two traditionally siloed teams, development and operations. In some organizations, there may not even be separate development and operations teams; engineers may do both. With DevOps, the two teams work together to optimize both the productivity of developers and the reliability of operations. They strive to communicate frequently, increase efficiencies, and improve the quality of services they provide to customers. They take full ownership for their services, often beyond where their stated roles or titles have traditionally been scoped by thinking about the end customer’s needs and how they can contribute to solving those needs. Quality assurance and security teams may also become tightly integrated with these teams. Organizations using a DevOps model, regardless of their organizational structure, have teams that view the entire development and infrastructure lifecycle as part of their responsibilities.

DevOps Practices Explained

There are a few key practices that help organizations innovate faster through automating and streamlining the software development and infrastructure management processes. Most of these practices are accomplished with proper tooling.

One fundamental practice is to perform very frequent but small updates. This is how organizations innovate faster for their customers. These updates are usually more incremental in nature than the occasional updates performed under traditional release practices. Frequent but small updates make each deployment less risky. They help teams address bugs faster because teams can identify the last deployment that caused the error. Although the cadence and size of updates will vary, organizations using a DevOps model deploy updates much more often than organizations using traditional software development practices.

Organizations might also use a microservices architecture to make their applications more flexible and enable quicker innovation. The microservices architecture decouples large, complex systems into simple, independent projects. Applications are broken into many individual components (services) with each service scoped to a single purpose or function and operated independently of its peer services and the application as a whole. This architecture reduces the coordination overhead of updating applications, and when each service is paired with small, agile teams who take ownership of each service, organizations can move more quickly.

However, the combination of microservices and increased release frequency leads to significantly more deployments which can present operational challenges. Thus, DevOps practices like continuous integration and continuous delivery solve these issues and let organizations deliver rapidly in a safe and reliable manner. Infrastructure automation practices, like infrastructure as code and configuration management, help to keep computing resources elastic and responsive to frequent changes. In addition, the use of monitoring and logging helps engineers track the performance of applications and infrastructure so they can react quickly to problems.

Together, these practices help organizations deliver faster, more reliable updates to their customers. Here is an overview of important DevOps practices.

Learn More

Accidentally ufw aws disable

Detach and fix the volume of the problem instance using another instance

  • Launch a new instance (recovery instance).
  • Stop the original instance (DO NOT TERMINATE)
  • Detach the volume (problem volume) from the original instance
  • Attached it to the recovery instance as /dev/sdf.
  • Login to the recovery instance via ssh/putty
  • Run sudo lsblk to display attached volumes and confirm the name of the problem volume. It usually begins with /dev/xvdf. Mine is /dev/xvdf1
  • Mount problem volume.
$ sudo mount /dev/xvdf1 /mnt
$ cd /mnt/etc/ufw

Open ufw configuration file

  $ sudo vim ufw.conf
  • Press i to edit the file.
  • Change ENABLED=yes to ENABLED=no
  • Type Ctrl-C and type :wq to save the file.
  • Display content of ufw conf file using the command below and ensure that ENABLED=yes has been changed to ENABLED=no
  $ sudo cat ufw.conf 

Unmount volume

 $ cd ~
 $ sudo umount /mnt
  • Detach problem volume from recovery instance and re-attach it to the original instance as /dev/sda1.
  • Start the original instance and you should be able to log back in.

If you have any problem please call me aws support – +91-9555699081