CLOUD DEVELOPMENT BEST PRACTICES & SUPPORT APPLICATIONS



Similar documents
Cloud Platforms, Challenges & Hadoop. Aditee Rele Karpagam Venkataraman Janani Ravi

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Cloud Based Application Architectures using Smart Computing

Best Practices for Installing and Configuring the Captaris RightFax 9.3 Shared Services Module

ScaleArc for SQL Server

Library Recovery Center

Server Consolidation with SQL Server 2008

Designing, Optimizing and Maintaining a Database Administrative Solution for Microsoft SQL Server 2008

Cloud computing - Architecting in the cloud

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Expert Reference Series of White Papers. Understanding Data Centers and Cloud Computing

MS Design, Optimize and Maintain Database for Microsoft SQL Server 2008

DISASTER RECOVERY WITH AWS

be architected pool of servers reliability and

Increased Security, Greater Agility, Lower Costs for AWS DELPHIX FOR AMAZON WEB SERVICES WHITE PAPER

Oracle SOA Infrastructure Deployment Models/Patterns

Microsoft Private Cloud Fast Track

Software-Defined Networks Powered by VellOS

Ecomm Enterprise High Availability Solution. Ecomm Enterprise High Availability Solution (EEHAS) Page 1 of 7

HRG Assessment: Stratus everrun Enterprise

Configuring and Deploying a Private Cloud

Benefits of Consolidating and Virtualizing Microsoft Exchange and SharePoint in a Private Cloud Environment

Access to easy-to-use tools that reduce management time with Arcserve Backup

Achieving Zero Downtime and Accelerating Performance for WordPress

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Leveraging Dedicated Servers and Dedicated Private Cloud for HIPAA Security and Compliance

CA Cloud Overview Benefits of the Hyper-V Cloud

IBM Cognos TM1 on Cloud Solution scalability with rapid time to value

Microsoft Private Cloud

Relational Databases in the Cloud

How To Choose A Cloud Computing Solution

Symantec Backup Exec 2014 TM Licensing Guide

Course 20465C: Designing a Data Solution with Microsoft SQL Server

Bricks Cluster Technical Whitepaper

Barracuda Backup Server. Introduction

You need to recommend a monitoring solution to ensure that an administrator can review the availability information of Service1. What should you do?

Planning, Implementing and Managing a Microsoft SharePoint 2003 Infrastructure

How To Manage A Multi Site In Drupal

High Availability of VistA EHR in Cloud. ViSolve Inc. White Paper February

VALUE PROPOSITION FOR SERVICE PROVIDERS. Helping Service Providers accelerate adoption of the cloud

Online Firm Improves Performance, Customer Service with Mission-Critical Storage Solution

DevOps with Containers. for Microservices

Table of Contents. Overview... 1 Introduction... 2 Common Architectures Technical Challenges with Magento ChinaNetCloud's Experience...

How To Run A Modern Business With Microsoft Arknow

Building Success on Acquia Cloud:

How To Achieve Continuous Delivery

Database Decisions: Performance, manageability and availability considerations in choosing a database

Eliminate SQL Server Downtime Even for maintenance

WHITEPAPER. Why Businesses are Embracing Cloud IaaS

Unitrends, Inc Support Handbook for Unitrends Virtual Backup (UVB) Formerly PHD Virtual Backup (PHDVB)

How To Cloud Compute At The Cloud At The Cyclone Center For Cnc

SteelFusion with AWS Hybrid Cloud Storage

AppSense Environment Manager. Enterprise Design Guide

The Private Cloud Your Controlled Access Infrastructure

ScaleArc idb Solution for SQL Server Deployments

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS.

PipeCloud : Using Causality to Overcome Speed-of-Light Delays in Cloud-Based Disaster Recovery. Razvan Ghitulete Vrije Universiteit

Case Study. Cloud Adoption, Fault Tolerant AWS Support & Magento ecommerce Implementation. Case Study

Is the Cloud Right for Your Business? 5 Reasons to Conquer the Cloud

Availability Digest. Stratus Avance Brings Availability to the Edge February 2009

VERITAS Business Solutions. for DB2

How to Turn the Promise of the Cloud into an Operational Reality

NEXT-GENERATION, CLOUD-BASED SERVER MONITORING AND SYSTEMS MANAGEMENT

INSIGHT. Symantec Optimizes Veritas Cluster Server for Use in VMware Environments IDC OPINION IN THIS INSIGHT SITUATION OVERVIEW. Jean S.

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

The TOP. Network Management and Support. AMA Networks presents the. m a ne t w ork s. c om

Amazon Cloud Storage Options

ERP on HANA Suite Migration. Robert Hernandez Director In-Memory Solutions SAP Americas

How To Retire A Legacy System From Healthcare With A Flatirons Eas Application Retirement Solution

Data Center is the Foundation of Carrier ICT Transformation. The challenges of building a service driven data center

EMC s Enterprise Hadoop Solution. By Julie Lockner, Senior Analyst, and Terri McClure, Senior Analyst

Joe Young, Senior Windows Administrator, Hostway

Skelta BPM and High Availability

CA ARCserve Family r15

COMPARISON OF VMware VSHPERE HA/FT vs stratus

AVLOR SERVER CLOUD RECOVERY

How AWS Pricing Works May 2015

The Cloud Hosting Revolution: Learn How to Cut Costs and Eliminate Downtime with GlowHost's Cloud Hosting Services

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings

Object Storage: A Growing Opportunity for Service Providers. White Paper. Prepared for: 2012 Neovise, LLC. All Rights Reserved.

Course Title: Virtualization Security, 1st Edition

Distributed Software Development with Perforce Perforce Consulting Guide

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

Availability of Services in the Era of Cloud Computing

10964C: Cloud & Datacenter Monitoring with System Center Operations Manager

Establishing a Private Cloud

How cloud computing can transform your business landscape.

Simplified Private Cloud Management

solution brief September 2011 Can You Effectively Plan For The Migration And Management of Systems And Applications on Vblock Platforms?

SharePoint Microsoft SharePoint has become

Unitrends, Inc. Software and Hardware Support Handbook

Mapping Your Path to the Cloud. A Guide to Getting your Dental Practice Set to Transition to Cloud-Based Practice Management Software.

Transcription:

whitepaper CLOUD DEVELOPMENT BEST PRACTICES & SUPPORT APPLICATIONS

- Cloud Development Best Practices and Support Applications CLOUD DEVELOPMENT BEST PRACTICES 1 Cloud-based solutions are increasingly present on the IT market and adopted by a growing number of companies from all industries. Cloud is a new concept in the IT software development area, increasingly used in research and implementations due to clear advantages, such as: Scalability Configurability Flexibility Reduced time to market CLOUD DEVELOPMENT BEST PRACTICES Universal competition due to globalization and a high request for offers make it difficult for companies to establish a working solution that immediately serves their target customers. The classic software development approach calls for infrastructure architecture, infrastructure building and maintenance, code deployment, software monitoring for optimum uptime and a running application. All of these are supported by consistent investment of time and money and require specialized IT professionals. Countless businesses fall short of these requirements because they don't have access to the professionals they need, or the necessary time to market is too limited for them to compete. By applying the following best practices, your cloud solution will become the clear choice for reaching new markets, increasing your customer base and growing your business geographically. Solution Cloud solutions have emerged as the remedy for these shortcomings. But in order to succeed, it is important to develop and deploy a software application with best practices that apply from the beginning of software development. A web application hosted in the cloud needs to be scalable. In order to achieve this, it is important to decide from the very beginning of the development phase, namely from system design and architecture design, how your application will expand over time. In this context, there are two options:

CLOUD DEVELOPMENT BEST PRACTICES - Cloud Development Best Practices and Support Applications 2 VERTICAL GROWTH The application is designed to work (compute) on a single machine. HORIZONTAL GROWTH The application is designed to compute on multiple machines, through a modular architecture. Hosting this kind of application in the cloud has some limits in terms of growth: you have the opportunity to supplement the resources that serve the application (like CPUs), but this can be applied only as much as the hardware allows it. In other words, your growth is limited by hardware, and it is not recommended to be applied in the design of cloud applications. Vertical growth is a traditional approach in a single-server kind of configuration. Its usefulness in a cloud environment is only due to the fact that the user needn't be concerned about hardware details; he only needs to request a virtual machine (VM), and increase the resources of that VM as his needs grow. Resources can be supplemented by increasing the number of virtual CPUs, increasing available memory or disk space, installing additional network interfaces if needed essentially, by increasing virtual hardware power. This is a major advantage in the cloud because it allows you to add as many resources as you need. It is important that the app design allows the sync between the running machines so that there are no discrepancies. For web applications, this kind of architecture is translated into a single common session used by all enabled machines. Since essentially all of the machines are sharing the same common session, the user will not experience any crash, even if his requests are now served by another machine. It is recommended that the common session be stored on a separate server in the cloud or in the application database (Amazon recommends Dynamo DB to store the common session). Both horizontal and vertical growth are suitable for cloud, but horizontal growth is preferred as the new paradigm in cloud development. Vertical has some limitations imposed by hardware, while horizontal is limited only by the application architecture.

CLOUD DEVELOPMENT BEST PRACTICES - Cloud Development Best Practices and Support Applications 3 What? Why? How? BEST PRACTICE THE REASON BEHIND IT OSF TECHNICAL TIP Constantly collect data and centralize it. ❶ Intervene when needed. ❷ Take the best path for future software development. ❸ Decide if the cloud infrastructure needs to be adjusted in accordance with the current system behavior. log4net is a useful library that helps in statistics collection and enables the creation of a log output to a variety of targets in.net applications. It is suitable not only for cloud applications, but for any other kind of system as well. Implement a message-queuing service. Split the service so that two distinct machines do not process the same set of data and, if one of them crashes, no unprocessed data will remain. Amazon SQS for applications hosted in Amazon Cloud. Utilize job distribution solutions. ❶ Do work in parallel. ❷ Load balance processing. ❸ Call functions between languages. It can be used in a variety of applications, from high-availability websites to the transport of database replication events. It is the nervous system for how distributed processing communicates. Gearman is a job distribution solution that suits all cloud applications. It provides a generic application framework that farms out work to better-suited machines or processes. Have in place an alert system. Notify the development team in real time about the status of machines and applications. Major cloud providers have a basic alert system in place that can be supplemented by the Nagios alert system. Select a trusted deploy system. Ensure that the same code runs on all cloud machines. Team City supports the project deploy effort, with tested results.

CLOUD DEVELOPMENT BEST PRACTICES - Cloud Development Best Practices and Support Applications 4 What? Why? How? BEST PRACTICE THE REASON BEHIND IT OSF TECHNICAL TIP Make use of persistence layers. Perform the migration from a SQL database to an Amazon database with minimal effort. Your application should be able to be linked to any kind of database. Work with integration servers. Jenkins and Team City Upgrade to the latest services available in the cloud provider portfolio. This should be a permanent concern when dealing with cloud-hosted applications. Use dedicated storage services. Avoid storing data on machines that run or process in the cloud. OSF Global Services has seen positive results with Amazon S3. Implement a distribution system to the application nodes. ❶ Have a tag on the Source Control Tool from which the code is pushed to a new cloud machine. ❷ Assist with disaster recovery and scaling while reducing the deploy effort and downtime. There are more advanced solutions for distribution systems like Capistrano or Puppet, embedded in system node images, which retrieve the application packages and code from a centralized store through SVN and Chron Jobs.

CLOUD DEVELOPMENT SUPPORT APPLICATIONS - Cloud Development Best Practices and Support Applications 5 CLOUD DEVELOPMENT SUPPORT APPLICATIONS Modern Software development methodologies are focused on Agile development principles, which enable you to have a usable software application with a shorter production time. The Agile methodology principles especially fit with the cloud concept when we consider time to market. Agility and cloud fit with any software application whether you have an ecommerce store, a financial application or a human resources management tool. They promise to support your efforts in penetrating new markets, in increasing your number of users or customers, or to operate in different geographical regions. Nowadays, Agility and cloud concepts are supported by various tools and applications, or by complete services provided by companies that allow you to reach your business objectives. Solution As a supporter of Agility and cloud-based solution development, GIT has a set of advantages that contribute to achieving usable and functional software: GIT is decentralized compared to SVN, which runs on a server and depends on an internet connection. Using GIT, you can work offline, and when an internet connection is available, a push is performed and the committed code is synced with the rest of the application. If you are using SVN, offline development is not possible. BitBucket has an optimum uptime. BitBucket has code review implemented, code compare functionalities and the feedback is provided per line of code. So, the code review process is facilitated by the BitBucket application. The back-up of the code is performed by the provider, in the cloud. No maintenance is needed. GIT was designed to be fully distributed from the start, allowing each developer to have full local control and to develop as close as possible to production. This leads to fewer system integration bugs and issues. Due to distribution, you inherently do not have to give commit access to other people in order for them to use the versioning features; instead, you decide when to merge what from whom. GIT provides auditing of branch and merge events, allowing you to follow-up your application changes.

CONCLUSION - Cloud Development Best Practices and Support Applications 6 CONCLUSION The development of cloud-based solutions is a challenge, but also an opportunity to grow faster than your competitors, obviate downtime of your application, support an increasing number of users and compete on all geographical markets. Start with a competitive and professional cloud technology services provider that knows how to architect, design, develop, test and run your application using the appropriate tools that create a real advantage from Agile development and get the most out of your cloud-based solution. Thank You for Reading! For more information on OSF Global Services digital commerce and optimization services, please check out our website: www.osf-commerce.com For more valuable insights, access our entire library. Share with friends and colleagues: End-to-end ecommerce services, cutting edge solutions and best-practice methodologies to help you: Enable your Website Increase Conversion Rates Expand Globally