{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/2016-09-25-the-golden-cage-of-public-cloud/","result":{"data":{"site":{"siteMetadata":{"title":"Gatsby Starter Personal Blog","author":"Gatsby"}},"mdx":{"id":"0682f739-cb19-5e15-81f8-69712337e065","excerpt":"... and should you even try to avoid it? Cross-cloud portability, that one great argument against using specific cloud provider to it's full extent. This is…","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"The Golden Cage of Public Cloud\",\n  \"date\": \"2016-09-25\",\n  \"coverImage\": \"cage-900.jpg\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"hr\", null), mdx(\"h2\", null, \"\\u2026 and should you even try to avoid it?\"), mdx(\"hr\", null), mdx(\"p\", null, \"Cross-cloud portability, that one great argument against using specific cloud provider to it\\u2019s full extent. This is also kind of often used by competing cloud providers as a leverage to get at least some business from a client coming their way.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"The Golden Cage - Term used in IT to represent a vendor lock-in situation, where customer is forced to stay within a vendor, a product or a service because of architectural, contractual or other specific reasons, which make \\u201Cescaping\\u201D too complicated or expensive\")), mdx(\"p\", null, \"This is easily also one of my favourite subjects to discuss with customers, who are only starting their cloud journey. And when someone represents them with this rationale, that how should they react.\"), mdx(\"h2\", null, \"Be rational - be informed\"), mdx(\"p\", null, \"I just recently was invited by my coworkers in Denmark to speak to a group of CIOs within a specific industry. These CIOs had a peer-group, which assembles monthly to discuss challenges of IT in their respective field of industry. It was an interesting session and audience to talk to. It was also somewhat of a challenge to speak to a group of people of which you basically only knew the industry they were representing. And that they wanted to know about \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://aws.amazon.com/\"\n  }, \"AWS\"), \".\"), mdx(\"p\", null, \"This very same topic was something I discussed there with them at length - as most of them were in the very first steps of leveraging the cloud in their respective workloads. And this was an argument they had already received from other parties.\"), mdx(\"p\", null, \"To cut to the chase, my final argument was: \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"make informed decisions.\")), mdx(\"p\", null, \"OK, maybe some further explanation is required.\"), mdx(\"h2\", null, \"The cost of portability\"), mdx(\"p\", null, \"As with every decision with architecture, there is always some impact in cost. It can be infrastructure / capacity related cost, labor cost or some other hidden cost, but it is definitely there.\"), mdx(\"p\", null, \"There are basically two main routes with portability in mind: 1) Being portable. Be as generic as possible. Do it all yourself. 2) Be brave, lock yourself in. Go full throttle and leverage all the added value services.\"), mdx(\"p\", null, \"Other routes are more or less variations of the theme.\"), mdx(\"p\", null, mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://media.licdn.com/mpr/mpr/AAEAAQAAAAAAAAelAAAAJGU2ZDI3ZmI5LWE1Y2QtNDlhMi04NzZmLTdhODBlOWU0OTgzMg.jpg\",\n    \"alt\": null\n  })), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"All these fine AWS added value service - to use them or not?\")), mdx(\"p\", null, \"So what are the mechanisms that affect cost based on these selected approaches? With preparing for portability, you essentially need to handle everything yourself and select only common tools across selected cloud vendors. Like virtual servers and basic storage space. This requires time and effort to create. And extra capacity for all management components and so on. And not to forget that you will need to handle the lifecycle of all components.\"), mdx(\"p\", null, \"With full-on cloud approach, you select more agile method, faster time-to-actual-value by leveraging components, that someone else takes care of that are properly maintained and secure. And you more or less sacrifice portability at that point in time.\"), mdx(\"p\", null, \"But what is the actual scenario, you are preparing for with \\u201Cportable architecture\\u201D? Are you preparing for portability just for the sake of portability? Or do you have a legitimate business reason.\"), mdx(\"p\", null, \"So the question follows: how - and why - do you prepare for something which might never happen. And when should you do it?\"), mdx(\"h2\", null, \"To insure or not to insure\"), mdx(\"p\", null, \"Actually this boils down to quite simple metaphor: should you think this scenario as buying (or not buying) an insurance and should you think like an individual or like government - who usually do not buy any insurances.\"), mdx(\"p\", null, mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://media.licdn.com/mpr/mpr/AAEAAQAAAAAAAAhmAAAAJDJiMzA4MGE5LWM4ZGEtNGZmMy1hODE5LWZkYTVhODk1MTE4ZA.jpg\",\n    \"alt\": null\n  })), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"To insure on not to insure - that is the question\")), mdx(\"p\", null, \"How much are you willing to pay for something that might not ever happen? What is the probability of the scenario actually coming to be, where you would be forced to pack up and leave?\"), mdx(\"p\", null, \"The \\u201Cpay the insurance\\u201D scenario is more or less the one, where you make a portable architecture and pay beforehand the cost related to it. You might never actually need to be portable, but hey, the possibility is there!\"), mdx(\"p\", null, \"The \\u201Cthink like government\\u201D scenario is based on the fact, that if your scale is high enough an probability of something occurring is small enough, it makes sense to take a calculated risk and decide to realise the cost only if the circumstances require. The cost at this point might be higher, but you have been able to redirect your assets and resources to build actual value instead for possibly a long period of time. If this time is long enough, then the calculated risk has paid off.\"), mdx(\"p\", null, \"The hard part here is, that comparing actually these two options with cost and risk included side-by-side might be borderline impossible\\u2026\"), mdx(\"h2\", null, \"Be informed\"), mdx(\"p\", null, \"I\\u2019m not making a blanket statement here stating that one or the other is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"always\"), \" the way to go. And neither should you. It totally depends on your specific circumstances, which approach is the best.\"), mdx(\"p\", null, \"And now we get back to the point: \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"make informed decisions.\"), \" If you have identified risks and reasons, why you \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"choose\"), \" to leverage added-value technologies, which make it harder to be portable, it is still an informed decision. You have calculated risk and accepted it - nothing more, nothing less. And on a side note, this same rationale applies to much more broader spectrum of IT technologies, than just the cloud.\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"So make good decisions\"), \". Based on facts. And your specific needs. Don\\u2019t let anyone tell you, that you should make portable architectures, if you do not find a legitimate business need to do so. And on the other way around, if you have legitimate reason, make a decision and go for it.\"), mdx(\"h2\", null, \"But in the end - be brave to embrace the new\"), mdx(\"p\", null, \"As an end note though, I can say, that I personally have long ago decided which is my go-to approach of these two. If you didn\\u2019t already guess.\"), mdx(\"p\", null, \"So I invite you also to take some (calculated) risk, a leap of faith and embrace the value-added services in cloud platforms.\"), mdx(\"p\", null, \"-\", \"\\u2014\"), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://fi.linkedin.com/in/rolle\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"The author\")), \" \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"works as Chief Technologist for Managed Cloud Services at Cybercom Group.\"), \" \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://www.cybercom.com/\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Cybercom\")), \" \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"is a Nordic based IT consultancy offering managed services and solutions to their client in the connected world.\")), mdx(\"style\", {\n    \"className\": \"grvsc-styles\"\n  }, \"\\n  .grvsc-container {\\n    overflow: auto;\\n    -webkit-overflow-scrolling: touch;\\n    padding-top: 1rem;\\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\\n    padding-bottom: 1rem;\\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\\n    border-radius: 8px;\\n    border-radius: var(--grvsc-border-radius, 8px);\\n    font-feature-settings: normal;\\n  }\\n  \\n  .grvsc-code {\\n    display: inline-block;\\n    min-width: 100%;\\n  }\\n  \\n  .grvsc-line {\\n    display: inline-block;\\n    box-sizing: border-box;\\n    width: 100%;\\n    padding-left: 1.5rem;\\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\\n    padding-right: 1.5rem;\\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\\n  }\\n  \\n  .grvsc-line-highlighted {\\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\\n  }\\n  \\n\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"The Golden Cage of Public Cloud","date":"September 25, 2016","description":null}}},"pageContext":{"slug":"/2016-09-25-the-golden-cage-of-public-cloud/","previous":{"fields":{"slug":"/2016-09-11-public-cloud-someone-elses-data-center-or-something-else/"},"frontmatter":{"title":"Public Cloud - Someone else's Data Center or something else?"}},"next":{"fields":{"slug":"/2016-09-27-santa-monica-security-day-2016/"},"frontmatter":{"title":"Santa Monica - Security Day 2016"}}}},"staticQueryHashes":["3663586608","63159454"]}