{"id":10806,"date":"2017-03-21T10:55:21","date_gmt":"2017-03-21T15:55:21","guid":{"rendered":"http:\/\/www.mrc-productivity.com\/blog\/?p=10806"},"modified":"2023-03-13T16:01:15","modified_gmt":"2023-03-13T21:01:15","slug":"8-questions-to-ask-before-developing-applications-on-the-cloud-2","status":"publish","type":"post","link":"https:\/\/www.mrc-productivity.com\/blog\/2017\/03\/8-questions-to-ask-before-developing-applications-on-the-cloud-2\/","title":{"rendered":"8 questions to ask before developing applications on the cloud"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-725\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2010\/11\/Education.jpg\" alt=\"Education\" width=\"76\" height=\"100\" \/><span style=\"font-size: 14px;\"><em>Summary: It&#8217;s a growing trend in the business world: More application development is moving to the cloud. More developers are opting for cloud-based development platforms, and more businesses are moving their application development off-site and onto a cloud host. The problem is, many make the move without understanding how the cloud changes development. In this article, we explore a few of these changes and outline important questions to ask before making the move.<\/em><\/span><br \/>\n<a name=\"20170320\"><\/a><!--more--><\/p>\n<figure id=\"attachment_8090\" aria-describedby=\"caption-attachment-8090\" style=\"width: 150px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8090\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/07\/cloud-8075_150.jpg\" alt=\"photo credit: Hans via pixabay cc\" width=\"150\" height=\"112\" \/><figcaption id=\"caption-attachment-8090\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/pixabay.com\/en\/cloud-cumulus-clouds-cumulus-8075\/\">Hans<\/a> via <a href=\"http:\/\/pixabay.com\/\">pixabay<\/a> <a href=\"http:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.en\">cc<\/a><\/figcaption><\/figure>\n<p>While cloud computing isn\u2019t a new trend by any means, it has picked up steam over the last year. As it matures, we\u2019re seeing more businesses move to the cloud.<\/p>\n<p>How big is this trend? According to <a href=\"http:\/\/www.gartner.com\/newsroom\/id\/3384720\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">Gartner<\/span><\/a>, \u201cMore than $1 trillion in IT spending will be directly or indirectly affected by the shift to cloud during the next five years. This will make cloud computing one of the most disruptive forces of IT spending since the early days of the digital age.\u201d<\/p>\n<p>This move to the cloud isn\u2019t just driven by cloud services or SaaS offerings. More companies are hosting their enterprise applications and developing new applications on the cloud. With the rise of low-code and cloud-based development platforms, more application development is moving to the cloud.<\/p>\n<p>Why is this happening? Forrester answers the question in this <span style=\"color: red; font-weight: bold;\">article<\/span>, \u201cEnterprise are turning great ideas into software and insights faster and the cloud is the best place to get quick insights out of enterprise data.\u201d<\/p>\n<p>However, while cloud-based development is growing&#8230;there\u2019s a problem. Many make the move without understanding the differences between developing on the cloud and developing applications in-house.<\/p>\n<p><strong>The result<\/strong>: They face challenges that they didn\u2019t anticipate. These challenges can slow them down or completely derail their efforts.<\/p>\n<p>If you are considering moving your development to the cloud\u2013how does this affect development? What changes (or surprises) can you expect when you move your application development to the cloud? What questions must you ask before making the move?<\/p>\n<p>Today, let\u2019s answer those questions. Here a few questions to ask before moving your application development to the cloud.<\/p>\n<h3>1. Why are you moving development to the cloud?<\/h3>\n<figure id=\"attachment_7706\" aria-describedby=\"caption-attachment-7706\" style=\"width: 225px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-7706\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458-225x300.jpg\" alt=\"photo credit: Marco Bellucci via photopin cc\" width=\"225\" height=\"300\" srcset=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458-225x300.jpg 225w, https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458.jpg 240w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><figcaption id=\"caption-attachment-7706\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/www.flickr.com\/photos\/marcobellucci\/3534516458\/\">Marco Bellucci<\/a> via <a href=\"http:\/\/photopin.com\">photopin<\/a> <a href=\"http:\/\/creativecommons.org\/licenses\/by\/2.0\/\">cc<\/a><\/figcaption><\/figure>\n<p>As mentioned above, cloud development is a growing trend. We\u2019re seeing low-code and cloud-based development platforms gain traction in the enterprise. More and more businesses are moving their enterprise applications to the cloud.<\/p>\n<p>When trends grow quickly, they generate press. Soon, it grows even faster because everyone is talking about it.<\/p>\n<p>That\u2019s where potential problems arise. As a new trend gains momentum, there\u2019s always those who jump on board simply because it\u2019s new. They hear about the benefits that others are seeing from the cloud, and make the move. For instance, they hear that the cloud saves money, and they jump on board.<\/p>\n<p>The problem: Not every business will see the same results. As explained below, make sure your expectations are in line with reality before making the switch.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cAre your expectations of the benefits of building an app in the cloud realistic; or are you following a trend?,\u201d asks Dennis Allio, Group President, Cloud Technology Services at <a href=\"http:\/\/workstate.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">Workstate<\/span><\/a>. \u201cThis is important because many people simply decide to build in the cloud because they think they will save a ton on capital or operational expenditures. Another reason is that they may be following a trend for a new piece of cloud technology such as an extremely high performing NoSQL database that may be useful, but may have a number of non-cloud alternatives. Reduction of cost is never sufficient to justify a move to the cloud. A few very good reasons for going to the cloud are to improve performance, gain businesses agility, eliminate specific problems such as performance issues or to improve availability and disaster recovery.\u201d<\/p><\/blockquote>\n<h3>2. How much will this cost? (tip: it can spiral out of control)<\/h3>\n<p>As mentioned above, some companies choose the cloud based on the perceived cost savings. The problem is, the cloud can have the opposite effect on costs if not managed correctly.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cCost can rack up easily if you don\u2019t pay attention,\u201d says Christian Mendy, Director of Engineering at <span style=\"color: red; font-weight: bold;\">Evus Technologies<\/span>. \u201cIn an AWS (Amazon Web Services) with a new account I can get started with virtual servers and cloud systems for next to nothing, but I can also spin up a thousand dollars worth of systems with just a couple of clicks and never use them.\u201d<\/p><\/blockquote>\n<p>It\u2019s a common problem that impacts many businesses. Developing on the cloud is different than developing in-house. When developing applications on the cloud, extra consideration must be given to resource usage. If not, you&#8217;ll wind up using more resources than you need, which can raise costs quickly.<\/p>\n<h3>3. Do we have the right skills to handle implementation?<\/h3>\n<p>It\u2019s a common mistake. Companies assume they can use their existing skills as they move to the cloud. The problem is, not every skill translates correctly. New skills are often needed.<\/p>\n<p>What type of skills do you need? We won\u2019t get into everything here, but here\u2019s a recent <a href=\"https:\/\/www.cloudcomputing-news.net\/news\/2016\/feb\/16\/top-five-demand-cloud-skills-2016\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">article<\/span><\/a> that outlines 5 important cloud skills.<\/p>\n<p>As explained below, make sure you understand what skills you need before making the move. If you don\u2019t currently have those skills in-house, gaining these additional skills will drive up the time and expense of the cloud.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cThe big questions are security &amp; cloud Implementation: Do you have the right skillset for implementing cloud services the right way?,\u201d asks Adeel Ahmad, President of <a href=\"https:\/\/xoho.tech\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">XohoTech<\/span><\/a>. \u201cThere are many cloud service providers, and unfortunately, each has its cloud based services, their APIs, usage, and way of integration. Once you select your cloud service provider, you need to be 100% that your team has what is takes to get the job done. Working in-house is very smooth and manageable especially regarding web development and its security, but as soon as your move to the cloud you need to make sure that you have correct security and ACLs setup for your cloud infrastructure. The Internet is full of stories where your cloud app is hacked, or your cloud account is hacked, and you are getting billed for services that you are not even using.\u201d<\/p><\/blockquote>\n<h3>4. Will your existing services be available on the cloud?<\/h3>\n<p>Modern applications consist of different services. For instance, email is a common example. Email capabilities aren\u2019t built into the application itself&#8211;it\u2019s a service that the application uses.<\/p>\n<p>Additionally, many applications pull data from different locations. For example, a reporting application might pull data from a couple of different databases or software packages.<\/p>\n<p>When you move to the cloud, you might find that some of your existing services don\u2019t translate to the cloud. Or, maybe connecting to other data sources isn\u2019t as simple as it was in-house.<\/p>\n<p>As explained below, this is an area you can\u2019t ignore. You must ensure that your application can connect to the data and the services it needs before moving to the cloud.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cDid you know that a major hang up with new development can be that your existing services may not be available to your cloud applications?\u201d, asks Allio. \u201cMany new applications will use techniques like OAuth2 for application authentication, but if your application relies on an on-premises directory service, then you will have to make certain that you solve that identity and access management problem before coding. Similarly, your application may need to email your application users and your mail server may not be configured to send mail from your cloud environment. And one final example, does your application collect data that you would like to analyze either from other applications or systems? If so, you need to be certain that all of that valuable information is available where you need it before you begin building on the cloud.\u201d<\/p><\/blockquote>\n<h3>5. How will you handle security?<\/h3>\n<p>Some assume that a move to the cloud will improve their security. After all, cloud hosting providers invest a lot in their security. They most likely have a larger security team than you have in-house.<\/p>\n<p>There are a couple of problems with that mindset.<\/p>\n<p>First, don\u2019t confuse platform security with application security. The cloud host controls platform security, but you\u2019re still in charge of your application security. If your application contains vulnerabilities, the platform can\u2019t protect you.<\/p>\n<p>For instance, in a cloud environment, applications are still vulnerable to the same SQL injections, DDoS, and other attacks experienced by on-premises applications. In other words, a vulnerable application on a secure platform is still vulnerable to attacks.<\/p>\n<p>Second, you\u2019re still in charge of security in the cloud. You must manage user access and privileges. You must set controls to ensure that users can\u2019t change configurations. As explained below, you must constantly monitor your applications, regardless of where they\u2019re hosted.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cContinually monitoring for security and for configuration vulnerabilities is crucial,\u201d explains Matt Fuller, Founder of <a href=\"https:\/\/cloudsploit.com?utm_source=link-mrc-productivity.com&amp;utm_medium=blog&amp;utm_campaign=HARO\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">Cloudsploit<\/span><\/a>. \u201cEven the most secure cloud providers only offers security OF the cloud. The user is responsible for security IN the cloud. As groups, roles, devices, etc. change, oversights and misconfigurations open vulnerabilities that lead to outright hacks or just a Financial DDOS. Unfortunately, a single misstep can compromise your entire infrastructure.\u201d<\/p><\/blockquote>\n<h3>6. Is your web app cloud ready?<\/h3>\n<p>I spend a lot of time touting the importance of application architecture. Why? A well-architected application will adapt to future changes.<\/p>\n<p>How so?<\/p>\n<p>I wrote up a short <a href=\"https:\/\/www.mrc-productivity.com\/blog\/2014\/02\/whatever-the-future-holds-were-ready-for-it-heres-why\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">article<\/span><\/a> on the topic a few years back. It explains how the use of open, flexible architecture helped us adapt our applications and move some of them to the cloud. Without this emphasis on architecture, these changes would have been difficult, if not impossible.<\/p>\n<p>This is a critical area to consider before moving to the cloud. As explained below, you must ask one important question before you make the move.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cIs your web app cloud ready?,\u201d asks Ahmad. \u201cAnd does its architecture allows you to utilize cloud-based services (Load Balancers, Object Storage, and other services)? If the architecture allows to integrate it within the cloud smoothly, Considering few minor changes in the code that great. Otherwise, you have to make a decision either utilize the cloud services and rewrite the app code or run the app without using the cloud perks and services in an old fashion way.\u201d<\/p><\/blockquote>\n<h3>7. What happens if you switch providers?<\/h3>\n<figure id=\"attachment_7061\" aria-describedby=\"caption-attachment-7061\" style=\"width: 240px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-7061\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2013\/10\/small_7623744452.jpg\" alt=\"photo credit: Tsahi Levent-Levi via photopin cc\" width=\"240\" height=\"180\" \/><figcaption id=\"caption-attachment-7061\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/www.flickr.com\/photos\/86979666@N00\/7623744452\/\">Tsahi Levent-Levi<\/a> via <a href=\"http:\/\/photopin.com\">photopin<\/a> <a href=\"http:\/\/creativecommons.org\/licenses\/by\/2.0\/\">cc<\/a><\/figcaption><\/figure>\n<p>Perhaps a better way to phrase the question: What\u2019s your \u201cPlan B?\u201d What happens if you need to switch to a different cloud host, or just move your data and applications back in-house?<\/p>\n<p>I believe in development freedom. If that calls for in-house development, so be it. If that means you move your application development to the cloud, that\u2019s fine too. The most important aspect of development isn\u2019t WHERE your applications are developed, it\u2019s HOW.<\/p>\n<p>What does that mean? If you\u2019re building applications in-house or on the cloud, architecture should be your primary focus. Are your applications built for flexibility and portability? Inflexible applications lock you down and limit your options.<\/p>\n<p>This is extra important if you\u2019re using a cloud-based development platform. Here are a few questions to ask any development platform vendor before you use it:<\/p>\n<ul class=\"arrow-list colored\">\n<li>How portable are the applications you create?<\/li>\n<li>Will applications work outside of the development platform, or are they tied to the platform?<\/li>\n<li>Does this platform give us flexibility to move from the cloud to in-house, and vice-versa?<\/li>\n<\/ul>\n<p>These are critical questions to ask if you want future-proof applications that won\u2019t lock you down. As explained below, focus on building flexible applications that port anywhere\u2013to the cloud or in-house. This opens your future options to make a move to the cloud (and back), if so desired.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\u201cThe portability of your business applications can greatly reduce your costs in the long run,\u201d says Tyler Wassell, Software Development Manager at <a href=\"https:\/\/www.mrc-productivity.com\/index.html\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">mrc<\/span><\/a>. \u201cWith so much variation in service provided by cloud vendors, it is important to consider the fact that the first provider you select may not end up being the best for your business. What happens if you need to migrate your applications more than once? How much might that cost your business? We recently experienced this question first hand here at mrc. After successfully migrating several business-critical applications to the cloud, we learned that another cloud provider would better suit our business needs. It was the portable architecture of our java web applications and database that let us move to the first cloud provider with relative ease and then again later to another provider.\u201d<\/p><\/blockquote>\n<h3>8. Where are your applications in relation to your data?<\/h3>\n<p>While this may seem like an obvious question to a developer, it\u2019s often overlooked. If you move your applications to the cloud, but keep your database in-house (or in another location), you\u2019ll run into problems.<\/p>\n<p>What types of problems? First, you\u2019ll face security issues. For example, if my database is in New York, but my application server is in San Francisco, I\u2019m opening my data up to the public internet every time the application queries the database. That increases the chances that someone could spy on or steal my data.<\/p>\n<p>Second, your application will face performance problems. The physical distance between a database and application server will increase the amount of time required to pull data from the database into the application. For even a moderately-sized application, this can destroy performance.<\/p>\n<p>The best way to avoid these issues? Keep your database and your application server on the same network. If you want to move development to the cloud, but can\u2019t move all of your data, maybe you should reconsider.<\/p>\n<h3>Summary<\/h3>\n<p>Now, these are just 8 questions to ask before moving your application development to the cloud, but the list could be much longer. Would you add anything to this list? If so, feel free to share in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summary: It&#8217;s a growing trend in the business world: More application development is moving to the cloud. More developers are opting for cloud-based development platforms, and more businesses are moving their application development off-site and onto a cloud host. The problem is, many make the move without understanding how the cloud changes development. In this &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.mrc-productivity.com\/blog\/2017\/03\/8-questions-to-ask-before-developing-applications-on-the-cloud-2\/\"> <span class=\"screen-reader-text\">8 questions to ask before developing applications on the cloud<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","slim_seo":{"title":"8 questions to ask before developing applications on the cloud - mrc&#039;s Cup of Joe Blog","description":"Summary: It's a growing trend in the business world: More application development is moving to the cloud. More developers are opting for cloud-based development"},"footnotes":""},"categories":[8],"tags":[13,49,90,15],"class_list":["post-10806","post","type-post","status-publish","format-standard","hentry","category-education","tag-application-development","tag-cloud-computing","tag-web-application-development-platform","tag-web-development"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/10806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/comments?post=10806"}],"version-history":[{"count":16,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/10806\/revisions"}],"predecessor-version":[{"id":14653,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/10806\/revisions\/14653"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/media?parent=10806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/categories?post=10806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/tags?post=10806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}