Infrastructure . DevOps (a combination of development and operation) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professional thereby:
Important Keys. ‹#› Infrastructure Design This slide included draft proposed version of Infrastructure design Tools Set This slide has detail information about the tools that we will use for this robust system Environment To keep the system we will have Dev, Staging , PreProd and production environment CICD Continuous Integration, Continuous Delivery, (CI/CD). Complete release automation Performance system will meet the Performance guidelines,number of user / Concurrency of the users etc. High Availability Is your infrastructure HA (Highly Available) ? Detail how infra will be up and running 99.9999% Security all the Security Guidelines and standards preferable OWASP guideline Support and Monitoring This slide includes information , how we will monitor our system and log policies Backup and recovery Real time data recovery for any critical crash or emergency . On load traffic backup Documentation DevOps and infrastructure is not useful without learning platform. There will be documentation for each process , Audit log and tracking System will log all the activity related to devops engineer and the system administrator
Infrastructure design ‹#›
Tools Sets ‹#› Lorem Ipsum is simply dummy text of the printing and Lorem Ipsum is simply text of the printing and SURVEY COMMUNICAE Lorem Ipsum is simply dummy text of the printing and Source Code Management SCM is a software tool used by teams of programmers to manage source code. SCMs are used to track revisions in software. Continuous Integration Continuous integration is a process in which all development work is integrated as early as possible. The resulting artifacts are automatically created and tested. This process allows to identify errors as early as possible. Code Quality continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages. Quality Testing web UI development teams where testing is conducted by developers or testers who are well-versed in a programming / scripting language. Web Server A Web server is a program that uses HTTP (Hypertext Transfer Protocol) to serve the files that form Web pages to users, in response to their requests, which are forwarded by their computers' HTTP clients. Dedicated computers and appliances may be referred to as Web servers as well. Application Software An application software (app or application for short) is Computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Frontend The frontend of a website is what you see and interact with on your browser. Also referred to as “client-side”, it includes everything the user experiences directly: from text and colors to buttons, images, and navigation menus. Monitoring To visualize monitoring data from across the Elastic Stack. You can view health and performance data for Elasticsearch, Logstash, and Beats in real time, as well as analyze past performance.
Tools Sets ‹#› SURVEY COMMUNICAE GItLab Jenkins Selenium automated testing suite for web applications across different browsers and platforms. An application that allows you to record changes to your codebase in a structured and controlled fashion. Continuous Integration services for software development. continuous inspection of code quality. SonarQube
Environment ‹#› These four environment will help us to continuously deliver the new feature or enhancement from dev to production … All Environment will have its own report and criteria to promote code from one label to another . Non Production and production environment
Security ‹#› OWASP guideline VF Security guidelines Unauthorize access should be tracked. Complete Audit log information. strong, mutual authentication and dynamic encryption key management via support for IEEE 802.1X We have expertise to get security certificate as per the guidelines provided by the authority Last two assignment got the SECURE certificate as per VF guidelines
CICD ‹#› ‹#›
Release Management ‹#› For each new feature that needs to be developed, a new Feature branch will be created from the latest commit of the Develop branch. When the feature development is completed and the feature is planned for the next release, the Feature branch will be merged back to the Develop branch and the Feature branch will be deleted. When a bug is reported on the production environment, then the Hotfix procedure must be triggered in order to patch the defect outside of the normal release cycle. A new Hotfix branch will be created from the production version tag on Master branch. When the hot fix development is completed then the Hotfix branch will be merged to Master branch and Develop branch. The merge to Master creates a new version tag.
Performance ‹#› As per SRS System shall support 3 lakhs to 4 Lakhs user at initial level and may grow 10-15% on year and year basis. System shall support 5% of concurrent user with 2-5 second response time. To achieve this we will use index data to serve to system . System will have inbuilt opcache and memcache . Traffic will be fully control with the non media request so that response reaches to machine quickly as a textview . this will be faster for all three media devices as SRS stated Fine tuned http request to avoid unnecessary load . DB Query Fine tuning . proxy Server Fine tune
Support and Monitoring ‹#› Kibana Monitoring Kibana is highly customizable dashboarding.Flexible analytics and visualization platform Real-time summary and charting of streaming data Intuitive interface for a variety of users Instant sharing and embedding of dashboards. Zabbix Monitoring Zabbix is an enterprise open source monitoring solution for networks and applications. It is designed to monitor and track the status of various network services, servers, and other network hardware
Backup and recovery ‹#› Some Causes of Failures There are many different types of failure that can effect database processing. System crashes Media failures Application software errors Backup Full database backups represent the whole database at the time the backup finished. Differential database backups contain only changes made to the database since its most recent full database backup. Restore A multi-phase process that copies all the data and log pages from a specified Server backup to a specified database, and then rolls forward all the transactions that are logged in the backup by applying logged changes to bring the data forward in time. Backup and restore operations occur within the context of a recovery model. A recovery model is a database property that controls how the transaction log is managed. Also, the recovery model of a database determines what types of backups and what restore scenarios are supported for the database. Typically a database uses either the simple recovery model or the full recovery model. The full recovery model can be supplemented by switching to the bulk-logged recovery model before bulk operations.
DevOps Capability
Analytics ‹#› Setup JIRA Jira Software is built for every member of your software team to plan, track, and release great software. We can set up JIRA tools in your infrastructure to easily monitor project progress , protrise task as per the available resource . Help to plan of next assignment for the individual resource . Better utilization of resource and on time delivery with the help of summeried report available in side this Tools . Powerful Notification system to keep you updated always
Analytics ‹#› Setup Confluence Create, collaborate, and keep all your work in one place Unlike document and file-sharing tools, Confluence is open and accessible, helping your team, and your company do their best work together We can set up Confluence tools in your infrastructure to easily create , collaborate , and keep all your work in one place . Create powerful pages Improve work by jointly editing pages, giving feedback via inline or page comments, or at-mention teammates Group related pages in a dedicated space that can be accessed by you, your team, or everyone Powerful Notification system to keep you updated always
Auto test tools ‹#› Setup Selenium Selenium is the most popularly used freeware and open source automation tool. The benefits of Selenium for Test Automation are immense. Amongst the many benefits, Selenium is an Open-Source tool and is easy to get started with for functional testing of web applications. We can set up Selenium tool in your infrastructure to automate your outdated testing experience . It ensures higher ROI on the initially huge investments done. You can test 24*7 from a remotely held device as well. There is less manual intervention, so the possibility of errors diminishes. It makes the test scripts reusable – need new scripts every time even with changes in the version of the OS on the device and the tests can recur without any errors. Automation helps you find bugs at an early stage. Automated tests make the process more reliable and the tests more dependable. Most importantly, it enables testing in volumes. For instance, it allows you to run tests on thousands of mobile devices. Now, this is impossible with Manual Testing.
Repo /SCM/Git Repository ‹#› We can Set Up Stash for your Team Stash delivers you a central, secure solution to create and manage distributed repositories, on your own servers GitLab does this by shortening your DevOps cycle time, bridging silos and stages, and taking work out of your hands. Git is on its way to becoming the world’s most popular version control system. Git can speed up development time compared to centralized version control systems like Subversion, making it a top choice among open source and greenfield projects. Stash help Development Teams to develop quickly and share their Git source code in a central location, it helps Businesses to keep repositories organized, secure, and on their own servers and IT Administrators can be configured to fit into their environment Setup GitLab GitLab is a single application for the entire DevOps lifecycle that allows teams to work together better and bring more value to your customers, faster.
Code Test ‹#› Set Up sonarqube pre build for checked in code SonarQube is a web-based open source platform used to measure and analyse the source code quality. Code quality analysis makes your code more reliable and more readable. Sonar covers the 7 sections of code quality Architecture and Design Unit tests Duplicated code Potential bugs Complex code Coding standards Comments SonarQube receives files as an input and analyzes them along with barriers. Then calculates a set of metrics, stores them in a database and shows them on a dashboard. This recursive implementation helps in analysis of code quality and how code improves over time. We can setup Sonarqube in your infrastructure , that help you to improve developer’s code quality as per the IT standers .
Test Automation ‹#› Bind up your current test suite to CI (Jenkins ) In software engineering, continuous integration (CI) means the continuous application of quality control processes — small units of effort, applied frequently. Advantages of Continuous Integration Testing Early warning of broken/incompatible code Early warning of conflicting changes Immediate testing of all changes Constant availability of a “current” build for testing, demo, or release purposes Immediate feedback to developers on the quality, functionality, or system-wide impact of their written code Frequent code check-ins push developers to create modular, less complex code Jenkins has powerful capability to setup test suite and print JUnit-compatible report , Jenkins Job can take decision on the basis of report .
Build and deploy ‹#› Pipeline to build and deploy your package to server . We will create a pipeline inside jenkins to build a new version package from code and after performing testing deploy it to server . Continuous integration, continuous delivery, and continuous deployment Fast feedback loop Increase transparency and visibility Avoid “integration hell” Detect and fix issues early Improve quality and testability We can setup jenkins and connect it with git repo for regular deployment
Infrastructure ‹#› We have expertise to create highly available server , Good Experience of mid to large application on cloud with automation Backup and recovery plan for instant restore , Real time monitoring for ongoing server and attached resources . Zero downtime for infrastructure resource update or application update AWS Compute Cloud (ec2) Simple Storage Service S3 RDS and DynamoDb Elastic Load Balancer Identity & Access Management gCloud Compute Engine Cloud Storage Google Cloud SQL Cloud Load Balancing Cloud IAM Microsoft Azure Virtual Machines Block Blob SQL Database Load Balancer Application GW Active Directory & AD premium
Infrastructure as a code ‹#› Benefit of Infrastructure as a CODE Being able to provision services with code means a simplification to sometimes complicated processes. Plus, you won't need to worry about the platform that service will run on. Security benefits of infrastructure as code Include security in the code Speed and simplicity, Configuration consistency. Minimization of risk Increased efficiency in software development, Cost savings Infrastructure as Code can simplify and accelerate your infrastructure provisioning process, help you avoid mistakes and comply with policies, keep your environments consistent, and save your company a lot of time and money. Infrastructure as a CODE We create infrastructure using script .we keeps all the provision and configuration as a code and create multiple server from same code . it will benefit you to keep tested infrastructure with you always . You will get a single package of code to create your Infra in one click . We will help you to cost optimization of your infrastructure resource , that will be direct benefit of your business cost . On Paper blueprint of your infra for transparent networking and security
Database and Security ‹#› Database We have highly mature team to understand your DB requirement and help you to choose best option for your application that will be optimize , efficient and well mature for your application Security Unauthorize access should be tracked. Complete Audit log information. strong, mutual authentication and dynamic encryption key management via support for IEEE 802.1X Our infrastructure design is always secure with bastion server , this is the only one entry point for the development team , and we track their activity on each login .
Audit Log and tracking ‹#› Servers Network Security Network Devices Centralized Log Server Analyzed & Patternized Against Rule Set Daily Review Database server log monitoring With in-depth database server log analysis this tool provides information on server activity, user logon and logoffs, account and permission changes in database servers and more. Database security monitoring Monitor the database for any common attack patterns to strengthen database security. Get instant alerts for any targeted attack such as db injection and also detailed report on the same that helps in incident investigation. Comprehensive management EventLog Analyzer centrally collects database events from across the network, provides out-of-the-box reports for database auditing, account management and other user changes, server security reports, and more, alerts you in real-time to important events, and securely archives the logs.