Tag: cloud

  • How to “hear” OpenStack silent failures earlier and remediate faster

    How to “hear” OpenStack silent failures earlier and remediate faster

    Troubleshooting “silent failures” in an OpenStack cloud environment has been a tough problem to solve for many production users. eBay’s chief engineer of cloud, Subbu Allamaraju, whose team has been operating PayPal on an OpenStack-based private cloud since March 2015, has publicly defined one of his ongoing challenges as: “Too much noise, too many alerts, and still working on how to detect troubles before customers find out.”

    For enterprises and service providers in various stages of rolling out OpenStack, tackling silent failures invariably starts with two questions:

    • Why and where do silent failures occur?
    • Can my Ops team receive push notifications of warnings earlier and proactively remediate them before silent failures materialize?

    Silent failures happen because OpenStack Ops teams often don’t know which service domains to tune into for early-stage warnings. Even if they do, the warnings get drowned out by noise. For instance, your metrics and logs for the compute domain show a successful VM creation. Yet, a tenant is still not able to use her requested VM instance – a silent failure – while the warnings actually show up in metrics and logs outside compute domain, such as DHCP agent failure and identity database query timeout.

    To catch a situation like this, OpenStack Ops teams need a real-time, data-driven approach that automatically detects early warnings in DHCP agent and identity service, then correlates them with VM creation, and finally push-notifies only the relevant domain experts to collaboratively remediate “tenant can’t use requested VM.” All noise has been removed and related warning signals have been clustered and contextualized together – automatically.

    And Operators shouldn’t have to rely on writing rules to model silent failures. Writing rules will be too time consuming and are unable to cover all failure scenarios. There are too many service domains – at least 13 of them (e.g. compute, identity, dashboard and storage) – plus their service daemons and virtual switch tunnels that stitch them all together.

    Using real-time, data driven management to resolve OpenStack silent failures has been a recent success for OpenStack. For example, a large OpenStack production shop was able to proactively detect OpenStack cell failures by receiving early notifications from outside the cell domain – CEPH and JBOD I/O failures.

    By becoming data-driven and ingesting all events and status messages across the entire OpenStack into real-time, machine learning algorithms, OpenStack Ops team automatically receive cleaned and contextualized alerts, then use modern social collaboration technologies to rapidly troubleshoot issues, capturing tribal knowledge for the future. The new mantra for these teams should be “clean, contextualize and collaborate,” the 3 pillars of real-time situation management.

    But real-time situation management doesn’t just stop here. It scales across the entire ecosystem that lives in and around OpenStack. Data sources include the ever-pervasive RabbitMQ message bus across all services, metrics and logs across the diverse tenant operating systems, and metrics and logs across all technology and vendors. In essence, monitoring the entire technology and vendor independent reference architecture can be rolled up and simplified as “situation management” vs. reacting to many seemingly unrelated “domain silo alerts.”

    Real-time situation management can also sit above multiple OpenStack instances for load sharing and DR purposes, and the interactions with public cloud. For instance, Amazon CloudWatch can be quickly incorporated as a data feed, giving OpenStack Ops teams a “manager of managers” view across OpenStack hybrid clouds.

    Real-time situation management essentially provides Ops team with a single pane of glass to see and resolve failures earlier, with amplified signals and suppressed noise. Doing so without relying on extensive rules offers much needed flexibility for Ops team to keep up with so many “unknown unknowns,” as the OpenStack community continues to evolve its entire reference architecture and ecosystem.

    About the Author/Feng Meng

    Feng Meng is a Senior Director, Product Marketing at Moogsoft. His expertise lies in IT service assurance, with 15-year technical marketing background in Application Performance Management (Bytemobile, acquired by Citrix), Network Performance Management (Cisco), Infrastructure Monitoring (VSS Monitoring), and Server Management (HP). Twitter: @fengmengmoog @moogsoft  Linkedin: https://www.linkedin.com/in/fengmeng1970

  • Webinar: Build, test and deploy mobile apps with back-end mainframe services securely in a hybrid cloud

    Webinar: Build, test and deploy mobile apps with back-end mainframe services securely in a hybrid cloud

    You may already have a good understanding of the hybrid cloud and its benefits. But how do you get the value of the last three decades of investment in your backend infrastructure into the hands of your end users faster?

    In this webcast we will demonstrate how you can take advantage of the latest IBM technologies to quickly and easily incorporate your backend services into your mobile applications running on IBM Bluemix. We will also highlight the latest capabilities of IBM DevOps Services (IDS) and IBM Bluemix that support the end-to-end mobile development lifecycle.

    Join Kristal York, Executive Mobile Strategist, PointSource an IBM Business Partner and Rosalind Radcliffe, Distinguished Engineer, Chief Architect for CLM and DevOps as they take you on an in-depth tour of the IBM DevOps Services and Bluemix, an open-standard, cloud-based platform for building, managing and running mobile apps that connect with your back-end services securely.

     


    Recorded Thursday, June 25, 2015

    VIDEO

    SLIDES

    [seoslides embed_id=”2e765888697b” script_src=”https://devopsy.kinsta.cloud/embed-script/build-test-and-deploy-mobile-apps-with-back-end-mainframe-services-securely-in-a-hybrid-cloud/7999/” overview_src=”https://devopsy.kinsta.cloud/slides/build-test-and-deploy-mobile-apps-with-back-end-mainframe-services-securely-in-a-hybrid-cloud/” site_src=”https://devopsy.kinsta.cloud” site_title=”devopsy.kinsta.cloud” title=”Build, test and deploy mobile apps with back-end mainframe services securely in a hybrid cloud” /]


    Your Host:

    alan_new_head_shot Alan Shimel, Editor-in-Chief devopsy.kinsta.cloud, An often-cited personality in the security and technology community and a sought-after speaker at industry and government events, Alan has helped build several successful technology companies by combining a strong business background with a deep knowledge of technology.

    About Panelists:

    kelly-ibm-devops

    Kristal York, Executive Mobile Strategist, PointSource an IBM Business Partner

    Kristal joined PointSource in 2012 and has led teams in the financial, retail and insurance verticals. She excels at fostering a collaborative environment and leading others to solve complex business problems.  Kristal’s prior experience as a business analyst has helped as a mobile strategist to define and analyze our customer’s mobile moments. She translates those mobile moments into a mobile strategy across the organization’s business processes and systems.  Mobile demands an iterative approach so Kristal helps analyze strategic planning, usability, research, as well as consistent updating.  She uses her business analytics skills to help define adoption rates and sentiment analysis once the app is launched.  Previously, Kristal was at Cartus for 12 years, most recently Senior Business Analyst, Business Analytics and Mobile Product Owner.

    RosalindRosalind Radcliffe, Distinguished Engineer, Chief Architect for CLM and DevOps, Member of the Academy of Technology

    A Distinguished Engineer within the IBM organization, Rosalind is Chief Architect for CLM and DevOps. She is responsible for driving the DevOps for multi-platform architecture; this includes System z and Power system.

     

     

     

     

  • Survey: Fed gov cloud success hinges on DevOps

    Survey: Fed gov cloud success hinges on DevOps

    A new survey out last week by MeriTalk and Accenture Federal Services shows that the federal government is on the cusp of finally putting its money where its mouth is with regard to cloud and that DevOps will play a big role in the transformation. In fact the government’s cloud success may hinge on DevOps.

    The survey looked at perceptions of federal IT managers familiar with their agencies’ cloud progress. Many of them report difficulty in gaining cloud momentum, in spite of the fact that 66 percent believe that their agency needs to move IT services to the cloud faster to meet mission and constituent needs. Fewer than half of Federal agencies have made process or policy changes to facilitate successful transitions to the cloud, only 30 percent have made necessary cultural changes and just 28 percent have made organizational changes. What’s more just 12 percent of Feds report their departments have all the tools they need for a cloud transformation.

    However, 57 percent believe DevOps holds the key to help them succeed in the cloud and 63 percent say DevOps will help them speed up application delivery and migration. As things stand, only one in ten respondents believe that developers and administrators are highly collaborative in the Federal setting and only 5 percent say their agency has fully deployed DevOps patterns.

    “A DevOps model brings software engineering, quality assurance, and IT operations together as an integrated team,” stated Tim Hoechst, Accenture Federal Services’ chief technology officer (CTO).  “Federal agencies can start up new projects more quickly, improve resource utilization, and reduce downtime – ultimately driving the innovation needed for real change.”

    Respondents are hopeful of that vision, with 60 percent reporting they see DevOps in their agency’s future. Approximately one-third say they’ve already started adopting the model or plan to do so within a year.

    But it’s not clear whether this is pie-in-the-sky hopefulness for a silver bullet or a real commitment to DevOps. A big red flag from the survey was that some of the same barriers to Federal cloud adoption are those that typically stand in the way of DevOps transformations. For example 40 percent of Feds said fear of change and inflexible practices have stood in the way of their cloud efforts.

    Over half of respondents say they will need to train current personnel to implement DevOps, and 40 percent say DevOps success depends on incentivizing changes in culture to make it happen. Meanwhile 41 percent believe they’ll need to establish a new vision for the future to make DevOps possible.

  • 4 Ways the Cloud Has Influenced Applications Troubleshooting

    4 Ways the Cloud Has Influenced Applications Troubleshooting

    The rise of cloud computing has ushered in an era of unprecedented productivity for developers over the past several years. For those who have embraced this new world order, gone are the days of long lead times for hardware procurement and installation, architecture defined by slow-moving hardware upgrades, hardware-constrained scalability and flexibility, and a world where only sys admins have access to the infrastructure. But, as the barriers between development and delivery disappear, new challenges have emerged that can disrupt the lives of developers and slow down delivery of new products and features, giving back some of the efficiency gains that the Software-Defined Data Center (SDDC) created.

    Whether you’re new to the cloud, or you’ve been around since before cloud was cool, you are likely to see four common challenges emerge that can make troubleshooting your applications in the cloud more difficult. Let’s take a closer look at these common pain points first to help build awareness around the challenges, and then I will offer some suggestions for how to prevent these hurdles from tripping you and your team up when it comes time to unravel an application troubleshooting mystery.

    Shifting Ownership

    If you’re adopting the cloud with limited support from an operations team, or perhaps you’re one of the growing numbers of DevOps or even no-ops teams who find themselves bridging both the operations and development worlds, you will find that the responsibility of operating and supporting both your app and your infrastructure, at some level at least, will introduce a new dynamic that you may not have contemplated.

    True, the ability to roll your own architecture without the burden of dealing with physical devices is liberating and far more efficient. But, as developer tools, deployment tools, and cloud operations tools become inextricably linked to one another, the old boundaries between who is dev and who is ops become blurred or even get removed altogether. This means the dev team is suddenly an integral part of operations, whether by design or by default, adding yet another responsibility for developers whose chief mandate is often to go faster. The more time you spend in the operations realm, especially in troubleshooting your app or the cloud resources it depends on, the less time you are able to devote to adding new value through code.

    Lack of Transparency and Burden of Proof

    While it’s true that having the full benefits of the cloud available at the press of a button is awesome, you wouldn’t be faulted for having a bit of nostalgia about the “good old days” of being able to have a conversation with a real live person down the hall about real physical hardware that’s either healthy or isn’t (along with the ability to actually lay hands on it). An old familiar refrain when something went wrong with an app in production was for the burden of proof to rest initially with the ops team – prove the hardware is working, the network is healthy, and the SAN hasn’t lost disks before making the dev team dig in. Honestly, everyone was just hoping against hope that it was something “easy” in the infrastructure, because when it was the app, that’s when things got hard. Well, that script has been reversed with the cloud: now the burden of proof is on the dev team, because what’s really hard is finding a problem that originates with someone else’s complex, abstracted, virtualized data center.

    App returning a 500 error or performing poorly? If you’re using something delivered as-a-Service, such as database, queues, cache and the like, you won’t really have any visibility into health other than the cloud provider’s status page and whatever you can directly observe. It’s either working correctly and is speedy, or it isn’t; if it isn’t, life gets a lot murkier. Likewise, servers can be monitored, but you can’t really tell why your virtual resource’s performance has trailed off if you are the victim of something environmental that’s out of your control.

    And, no matter how good the support team is at your favorite cloud provider, it’s rare that they will be as responsive to your requests for more information on an issue as your own in-house ops team could be, and they won’t be as well-versed on your architecture. To varying degrees, you’re at the mercy of the cloud provider for consistent, reliable services, and it’s also up to them to offer timely insight when issues arise with the services you depend on. Your mileage may vary, of course, as to whether your cloud provider offers this level of communication and transparency. But, if they don’t, then the burden of proof rests squarely with you to show that the issue isn’t in your app. Quite a reversal of fortunes, isn’t it?

    Easy Complexity

    Compounding the challenge of sorting through infrastructure issues vs. code issues is the simple fact that applications are becoming far more complex, and in many cases, portions of the overall architecture may be transient in nature. Combine complexity with impermanence and you have a recipe for some real Sherlock Holmes-caliber mysteries at times.

    The incredible thing about an SDDC is that you can create nearly any kind of architecture required to support your application stack’s needs, all relatively easily – if you can dream it, you can build it. Want to cobble together .NET, Java, PHP, Node.js, Ruby, Database-as-a-Service for SQL and NoSQL, Message-Queues-as-a-Service, and Search-as-a-Service? From a cloud deployment perspective, it’s been made devilishly easy to deploy and get started. But, with that ultra-polyglot approach and a heavy reliance on software-defined services comes a new set of challenges:

    • First, you have a variety of services that are black boxes to you. Each of these services comes with its own set of tricks for gaining insight into performance and availability, but each one may be different in how you monitor and troubleshoot.
    • Learning how to support a variety of different technologies creates drag on your delivery velocity. It’s hard enough learning the performance and reliability tricks for a few technologies; trying it for a wide variety can draw focus from the real goals of building new value through software and making the business more successful.
    • Not every monitoring tool can support every technology stack, and the wider you cast the technology net, the harder it can become to support your full stack from a single monitoring tool.
    • If you’re using dynamic (transient) resources, such as scale-on-demand servers, you are quite likely to lose critical data that you need when troubleshooting a problem if you haven’t given thought to how you preserve critical insights that disappear with the server when it’s de-provisioned.

    More Frequent Change

    And, finally, we come to the double-edged sword that brought this all about in the first place: going faster! The increased agility that the cloud brings, especially when coupled with dev tools that are integrated into the delivery cycle (think PaaS environments), has a way of shortening delivery cycle times and increasing the number of releases crammed into a given week, month, and year. This is especially true in organizations who have also adopted agile development practices. Code can flow to production smoothly with greater frequency, and architecture changes can be made far more swiftly and easily. Unfortunately, with more frequent code releases and architecture changes comes more frequent opportunities to break something.

    A big part of the movement toward Agile and Lean is also the notion of always moving forward – rather than rolling back a release in the event of an issue, detect problems early and patch them quickly. To enable this mandate, however, requires two things that are often missing if you are coming from a slower moving environment or from a more traditional hosting model: 1) developer visibility into a baseline of behavior telemetry to know what “good” looks like historically; and, 2) instant feedback on the health of the application post-release relative to that healthy baseline. Without this, it’s hard to know if you’ve made gains or losses with your release – your users are often your only real barometer.

    So… How Do I Code More and Support Less?

    There’s no denying that the cloud has impacted the life of many developers, mostly in a very positive way. Of course, with new technologies and capabilities always comes a new set of challenges to overcome. In the case of cloud-hosted applications, this includes challenges to effectively and efficiently supporting those applications in their new environments so that the gains in productivity aren’t given back in support of the application.

    So, what can development teams to do adapt to and overcome these challenges?

    There are 3 basic steps that every development team should take to make supporting cloud-based applications easier.

    1. Establish Access, Process, and Protocol – The first order of business for helping developers support their cloud-based apps more effectively is giving them safe access to the information and resources they need. Unfortunately, all too often in cloud environments this is an all-or-nothing proposition – full login rights to servers and even potentially full rights to the management portal, or no access at all. Make sure to establish the correct access methods to your developers so that they have the visibility and access they need, without handing over so much control that it increases the likelihood of accidents.
    2. Design Supportability Into the Application – Once your application is in production, there are several common questions that you will needto be able to answer at a moment’s notice about your application: Is it (and everything it depends on) running? Are users satisfied with the performance? Is anything silently failing and frustrating users without setting off alarms? If something failed, whowas impacted, and what caused the issue?There are also some things that simply cannot be measured and monitored from outside of the application, but which speak directly to the health and well-being of your application. To enable you to quickly answer the inevitable questions, consider incorporating the following:
      • If it moves, measure it. Report application metrics and KPIs from within your code in order to see events and data that would otherwise be locked away from you. Some events and metrics only you, the developer, have the power to expose. Knowing how your app behaves at a core level can provide levels of insight that prove invaluable when searching for troubleshooting clues. If you can configure monitoring and alerts for those metrics, even better. We’ve elaborate on this subject in this article Errors & Logs: putting the data to work
      • Log often, and log meaningfully. If you only report errors, you will lack the critical insights necessary to help point to the root cause of the error. By logging at, say, info or debug instead of just warn or error, you will have the breadcrumb trail you need to find it. It’s impossible to get the state of the system after the fact – you need to have logged it at the time of the event.
      • Centralize your insights. Remembering that life in the cloud can be both quite distributed, and quite transient, it’s always good to bring everything – logs, errors, custom metrics, and other telemetry – into a central location for normalization, correlation, and continuity. You may need the data, and what it tells you, well beyond the ephemeral life span of your cloud resource.
    3. Identify Health Baselines Early – Key information like message queue length, average request time, app pool resource utilization, custom metrics values, log and error rates, and more can all be charted for your application these days – monitoring and charting isn’t just the domain of ops tools any longer. Understand what your app looks like both when healthy and unhealthy, preferably starting with pre-production environments even, so that you can see how your application morphs from release to release as well as with different loads and as your architecture evolves. By baselining as far back as dev and QA, you can often catch problems well before they impact customers and send you and your team scrambling.

    Conclusion

    There’s no denying the cloud brings incredible capabilities to the lives of developers: speed, agility, flexibility, scalability, and more. As with any new, disruptive technology, new challenges are also par for the course. By applying some basic strategies for application management, monitoring and troubleshooting, you can have all of the advantages of the cloud without giving back the gains during those critical support engagements, and have happier team members and end users as well. At Stackify we believe we offer a solution to the issues presented in this article start your free trial today stackify.com/sign-up

    About the Author/Craig Ferril

    Craig Ferril StackifyCraig Ferril, COO at Stackify. Craig leads the operational aspects of Stackify, making sure that the business is as nimble as the development team. He brings with him a passion for applying Lean principles to software and business alike, along with 15 years of experience leading software engineering and IT operations for start-ups, SaaS companies, and large enterprises. His background included leading teams that supported production software, which is where his passion for Stackify’s mission of helping developers and DevOps teams originates from. A Renaissance man wannabe, Craig dabbles in everything from brewing beer, to photography, to driving on a race track at high speeds. Follow him on Twitter @cferril

  • Cyber-Ranges, Cloud Automation and DevOps

    Cyber-Ranges, Cloud Automation and DevOps

    Cyber-security testing typifies some of the challenges of converting from traditional to DevOps ways of doing IT.  While cyber security labs and cyber-ranges are often mission-critical investments for organizations that find themselves to be high-value targets for cyber-attacks, too many times cyber-security testing processes are siloed and highly manual.  It’s time for cyber-ranges to move towards DevOps.

    Cyber-ranges are essentially lab infrastructures that are used for a variety of security-related activities including point product testing, network topology-level testing, and training such as red team/blue team exercises.  While cyber-ranges have typically been used by government and military organizations, increasing numbers of business organizations such as financial institutions and utilities are building these infrastructures to ensure that they are as equipped as possible to anticipate, respond and thwart attacks.  Particularly when the running assumption is that increasingly mobile and porous IT boundaries will inevitably be compromised, the ability to respond rapidly effectively is critical.  This means that beyond product testing, developing response skills and systems is a key function.

    All this is of course good and very important stuff.  So what’s the problem?  Well, like many IT-practices, cyber-ranges most often live in their own silo.  It is very uncommon today for a cyber-range to be part of a broader continuous integration or continuous delivery testing cycle addressing applications and infrastructure.  In fact, far from being part of a continuous process, it’s exceedingly common for cyber-ranges to be operated in a highly manual fashion, which means that changes happen slowly and painfully, productivity is low relative to the significant investment they represent.

    How Cyber-Ranges Work Today

    The cyber-range market today is addressed by two main categories of solutions: bespoke deployments performed mostly by small to mid-size systems integrators, and expensive “cyber-range in a box’ solutions offered by large systems integrators that have packaged a set number of functions under typically, a monolithic management application that is driven by an operator GUI.  The advantage of the latter obviously is that it makes it much easier for users to operate, but these “in a box” systems are built for a discrete, siloed set of operations and they typically rely on vendor roadmap-driven updates to extend functionality or update support for new infrastructure or tools.  Ironically, that makes them less agile.  As for the bespoke deployments, they are very manual in nature—just setting up a scenario for a test can take a week or more, which is right in line with the timeframes associated with non-cloudified IT infrastructure.  One of the ways that Gartner describes DevOps is as a “pairing of agile methodology and systems thinking”.  In both aspects cyber-ranges today are far from DevOps.

    Cloud Automation is Key to DevOps-Friendly Cyber-Ranges

    The path for cyber-ranges to follow to get into the DevOps slipstream is primarily an issue of cloud automation.  Cyber-ranges are basically private infrastructure, because you have to utilize the actual networking and data center gear that you operate to truly understand how exploits are going to affect them, what symptoms will look like.  Also, cyber-security issues really need to be worked out in realistic network topologies, which means that we’re talking about staging/delivery type testing environments.  What’s needed is to turn these complex infrastructures and be able to rapidly stand up, tear down and revision these infrastructure environments in a private cloud fashion.  A cyber-range that is turned into a private cloud can support both UI and API-driven programmatic self-service.  Not only can cloud automation deliver tremendous short-term ROI benefits like a huge increase in productivity and resource utilization, but it also opens the way to tie cyber-ranges into a broader DevOps practice.

    In DevOps like life in general, no person or organization including the security team, is an island.  By moving towards a private cloud automation model, cyber-ranges can evolve from being a (very important) silo, and align with DevOps initiatives.

    About the Author/ Alex Henthorn-Iwane

    AlexAlex Henthorn-Iwane joined QualiSystems in February 2013 and is responsible for worldwide marketing and public relations. Prior to joining QualiSystems, Alex was vice president of marketing at Packet Design, Inc., a provider of network management software, and has 20+ years of experience in senior management, marketing, and technical roles at networking and security startups.

    Through his roles at QualiSystems, Packet Design, CoSine Communications, Corona Networks and Lucent Technologies he has acquired expertise in cloud computing and the opportunities presented through virtualization. He has written for Embedded Computing, Virtual Strategy Magazine, Datamation, SDN Central, Datacenter Knowledge and InformationWeek.

    Connect with him on LinkedIn, Twitter, or SlideShare.

  • The 8 “why’s” of Cloud

    The 8 “why’s” of Cloud

    Myself and the gang have been talking about Cloud a lot recently as we are embarking on a multi-year journey. Cloud is fashionable but is this another cool toy for the techies? As an architect I think the most powerful question in my toolbox is “why”.

    • Why are we doing this?
    • Does it add business value?
    • What are we trying to achieve?

    As IT folk it’s instinctive to go straight into the “how” but its the “why” that is the really important question. Get that right and how to do it should be relatively easy.  A solution is much easier to put in place if you’ve really captured and understood what it is you are trying to accomplish. I think there are 8 reasons why companies commonly move the Cloud – I’m specifically thinking about IaaS and PaaS here but I guess this also could apply to SaaS in parts.

    Scale 

    The massive amounts of processing power or data storage that public Cloud offerings can achieve would be difficult to achieve building your own solutions (certainly at any kind of realistic price point).

    Elasticity

    The ability to expand and contract resources (such as compute) depending on your requirements.  Traditional IT departments buy capacity in advance which is unused until it is required.  The elasticity of Cloud allows us to buy what we want, when we need it and not be constrained by fixed overheads.

    Cost saving/model

    Some companies believe that moving to the Cloud will save them money.
    I think the ROI for Cloud is really difficult to ascertain though.  How do you compare apples for apples when Cloud is a different model to on-premise?
    It might be easy to say a server costs X to run each year (power, data centre costs, depreciation, support etc) and compare that to a Cloud server.  However, what is the cost of having to wait for 3 weeks to get a new server on-premise when you can get it in 5 minutes in the Cloud?
    It’s not an easy calculation to be made and I don’t think I’ve seen a really convincing argument from either side.

    One insurance company I know said they did some calculations and Cloud was 3x more expensive than on-premise.  I’ve seen Cloud companies boast that IaaS is 3x cheaper than on-premise. You should do some due diligence on the cost of Cloud of course.  However, in my eyes it’s too complicated and fuzzy to create a compelling story at the moment. Does this mean you shouldn’t move to the Cloud?  Absolutely not – but focus on the other benefits too as cost alone is too difficult to accurately determine. The move from CapEx to OpEx is also a difficult question for many and really needs to be thought about.  How do you accurately budget for a service if you are using the elasticity and scale features of the Cloud for example?

    Future proofing

    The rate of new features hitting Cloud providers is pretty astounding.  AWS for example have over 450 services now and more hit the shelves every month. You probably won’t need the majority of these features now but what about in the future? As an IT department we can’t predict the future but we can help to respond to it. Why build it yourself when you can buy it as a commodity?

    Time to market

    With Cloud being pre-packaged and largely automated the time to market for adopting resources is often significantly lower than doing it yourself. You might have a really neat automated server build at your company but chances are you still need to wait for the storage guy or the network guy to do something. Often its not even the time waiting for something to be spun up – its the time waiting for a person to become available in order to press the button to spin it up.  For example, in my company it takes 2 hours to build a VM.  However I might not be able to book a resource to kick the process off for 2-3 weeks depending on their availability. I don’t think this is a problem that only public Cloud can remedy but again why build it internally?

    Resilience

    This is a bit contentious but bear with me. Cloud outages happen.  On-premise outages happen. However, I would argue that due to the scale of some of things like Azure (and the ease of employing it) that cloud is more resilient than traditionally hosted IT. But…. Only if your application is written/configured in such a way to take advantage of the multiple availability zones and the resilient functionality that Cloud providers…..errrm….provide. If you simply lift and shift from on-premise to Cloud you are just moving the problem.  If you treat Cloud just like another data centre you’ll get just another data centre with much the same problems as you currently have. Perhaps even worse.  At least in your data centre if there is a problem you are in charge of your infrastructure guys and can prioritise (shout at) them.  What is going to happen when you are speck on the Azure infrastructure?  Is your voice going to get heard?  Is it heck.

    Increasing competitive advantage

    Although there is value getting your IT teams to run infrastructure (it’s likely your business couldn’t operate without it), does they offer competitive advantage? What competitive advantage do you realistically gain over your rivals by running your own SAN, servers etc?  Wouldn’t it be better if your teams were concentrating on high-value tasks that separate you from competitors rather than undifferentiated heavy lifting? Competitive advantage can be realised through such things as…

    1. Lowering costs
    2. Improving quality
    3. Increasing the pace of change
    4. Improving end user support
    5. Innovation
    6. Spending more time understanding the business

    Wouldn’t you want your teams spending time on the above rather than worrying about provisioning blades and making sure backup tapes get revolved?

    Geographic reach

    As companies grow and their worldwide reach increases (customers and internally) then it means getting data closer to the end user.

    • Your Google ranking is probably going to suffer in the US if you are serving your website from the UK.
    • Your Citrix session is likely to be “sub-optimal” if you are sat in London trying to access your VDI farm in Australia.
    • How do you organise downtime for maintenance when your worldwide presence is open 24×7 because of your global reach?

    The global reach of public Cloud companies enables to provision resources nearer the people that need them.

    A word of warning

    In order to fully realise the benefits of the Cloud (such as scale, resilience) applications need to be architected accordingly.  You are unlikely to realise the benefits I’ve talked about simply through “lift and shift”. It’s also worth mentioning that people, process, technology, culture all need to be addressed as part of the a Cloud adoption.  This isn’t just a technical exercise and nor is Cloud a panacea for all of the challenges that face IT.

  • Cloud or In-house with Chris Kinsman, Part 2

    Cloud or In-house with Chris Kinsman, Part 2

    I sat down last week with Chris Kinsman, Chief Architect at PushSpring and a 20+ year veteran of software development, to talk about the factors that go into deciding when to migrate to the cloud. In Part 2 of our conversation we talked about the resistance and arguments against moving to the cloud. Once again I’ll let Chris do most of the talking:

    “What I struggle with is those companies who are trying to decide whether they go to the cloud or not even attempt it. For someone starting out, I don’t think there’s any choice – unless there is one specific requirement that pushes you out of the cloud. Or, and this is a little different, they may be evaluating a new project in an existing company. If you’re an existing company that has in-house already – whether it’s co-location or your own data center and you’re already invested in servers and storage – then the default always seems to be continue as is.”

    Well, if the business has existing business with the in-house model, to the extent that they’re successful with that model they may be hesitant to impact that revenue stream.

    “Maybe or maybe not – it could be that you’re just selling a service and they don’t really care whether it’s your hardware or someone else’s. As an example, if you’re paying for a $50/month MailChimp subscription do you really care whose equipment it runs on? Because you’ve already bought into that whole idea of paying for a service and not really caring about what’s behind it. So if I already have in-house infrastructure, at what point do I transition to the cloud, and that might be a more gradual decision.

    One common justification for remaining in-house is avoiding any forced migration. While it’s true that the cloud can – and will! – upgrade your infrastructure, you can also use the cloud to run whatever you want to run.

    “As a consumer of a service bus, I don’t care if they’re running it on 2008 or 2012. As long as it provides the same service, I don’t care what they run under the covers and that’s the beauty of it. Because if I care, that means I have guys in my org who are worried about that that I’m paying to worry about that, and how to keep up with that schedule, and everything else.

    So let’s go back to machine instances. That’s where it’s now on me to maintain, care about migration. And that’s also a choice. There are services that allow me to run my service as service bus, i.e. if I’m running Azure websites, I’ve got a way to get deployed – I need to make sure that my code runs – but I shouldn’t care what server OS they’re running. So these machine instances, that’s the difference between Platform as a Service (PaaS) and Infrastructure as a Service (IaaS), and Infrastructure as a Service. A lot of folks gravitate towards IaaS because they give up LESS control – they haven’t totally abdicated. But the problem I’ve found is that while that’s an easy baby step to lift and step your infrastructure from your internal data center into the cloud, that’s not really taking advantage of the Cloud. That’s continuing to do the thing you’ve always done, just with a machine that’s somewhere else. And I would also argue that that’s not the way you’re going to realize cost savings by moving to the cloud – because you’re continuing to do things the same way you did them before.”

    So, what are the cases you’ve seen where someone should not be using the cloud?

    “This is controversial, but I can think of a few. Where technology is not their primary business. Where they are potentially in a declining market. Where they’re not rolling out new software, they’re not trying to gain new users. They’re just rolling something along to the end of its product cycle. They don’t need scalability – they just want the absolute lowest cost. They don’t even really care about the experience of the users. Then, absolutely find the lowest cost place to host your server. But when I look at people who are making their money off of software, who are trying to grow their customer base and get more users, it’s almost never the right decision.

    And that’s not just me saying that. I saw a stat the other day that 10 years ago, for an Internet startup 80% of their Series A money went to infrastructure. Today, if you tried to pitch a VC that 70-80 of their money would go to infrastructure they would never fund you. They fully expect that 70-80% of their investment will go to salaries for the individuals who are building the product.”

    How about a more mature operation already hosted in the cloud? Is there a point where, for cost or other reasons, it might make sense to move to an in-house model?

    “Even those middle stage startups, I’d say help me understand your case. Maybe their case is they’re doing real-time something and they’re very sensitive to latencies. But I’d say that even guys who are doing VOIP are starting to do more virtualization – and VOIP is about as latency-sensitive as you can get when you’re actively listening for any pauses. So what are those cases? Perhaps there are some out there, but I haven’t encountered them.

    Take telemetry, if you’re a company going out with an Internet of Things story – you’re the next FitBit, or a wearable, or put data collection of your car in the cloud – all of those business models are built on the cloud.”

    Well, you used to work for casinos. They have massive data, real-time needs, and obviously super-tight security. What about them?

    “There I can see a lot of resistance to moving to the Cloud. Legally there are some issues. They are very controlled by the gaming authorities – so maybe there are some barriers they have to push through. But I look at some of the challenges they also have – one of the things I thought was very interesting when I worked for them 10-15 years ago was progressive slots, which were one of the “big things” at that time. Where a bunch of machines were aggregated against a single jackpot. And this required dedicated T1 and T3 lines back to the slot manufacturers so they could do this real time aggregation of data and real-time payouts. That would obviously be so much easier if you could do it in the cloud. So the questions would be could you get this past the gaming commissions and could you make it secure enough. Well…Amazon right now is building a Cloud facility for the CIA, if they can convince the CIA to use the Cloud…”

    But you’ve seen the movies and read the stories – they make you think that the CIA is run by clowns. Of course the conspiracy side of that is they want you to underestimate them, but still it makes you wonder.

    “I go back to argument I made earlier. I have a hard time believing that an environment set up in the cloud is any less secure than your data center that’s connected to the Internet. In fact, it’s probably more secure.

    I think the thing that security guys are concerned with is their whole strategy in the past has been how do I wall everything off? How do I provide defense in layers? At the point where more of your infrastructure is shared, it becomes harder to know where those walls are being crossed, which makes them more and more uncomfortable. But the challenge is, what if a competitor figures out how to do a secure solution in the cloud? There’s a real possibility that they traditional technology folks may not be in business down the road because the costs of operating in the Cloud will be so much lower. And that’s what’s going to end up happening – those guys who are staying in-house, staying with their co-lo, and some point in time there’s going to be some startup that says “we’re going to be disruptive, we’re going to blow up this entire industry, we’re going to look at it differently, our cost basis is going to be so mucfh lower for providing this service that will out-compete them. And over time, that incumbent goes away.

    We’ve seen that again and again, where it isn’t even a brand new business. Heck, Amazon – selling books is not a brand new business – it’s a really, really old business. But they came in and did some pretty interesting things driving their costs way. And figuring out all those things they could do to bring on additional ancillary revenue. What happened to all those big booksellers?

    Or shipping. Look at Fedex, the whole concept that someone could build an airport outside a city in the Midwest…and now the Post Office is almost out of the business of delivering packages.”

    So if you are not actively and continuously thinking about how to use the advantages the cloud can provide, then you are living on borrow time.

    “Exactly”

  • Three tips for maximizing efficiency in the age of the hybrid cloud environment

    Three tips for maximizing efficiency in the age of the hybrid cloud environment

    Today’s organizations are achieving many benefits from using virtual computing resources, including increased flexibility, scalability, and accessibility. The adoption of the cloud as an addition to legacy systems has changed the way many companies use IT resources, allowing them to scale quickly and efficiently to meet fast-changing business needs. These hybrid solutions, where companies retain some on-premise functions while moving much of their data and processes to the cloud, are more common than ever. Along with the benefits of using the cloud, however, come significant challenges for the IT organization in terms of managing and monitoring systems.

    When pairing legacy infrastructures with cloud computing environments, data center operators and IT organizations run into difficulties when the hardware-based environment  (employing older technologies) takes a “bottom up” approach to policies and the cloud environment takes a “top down,” application-centric approach. In this scenario, delivery of services can be interrupted, quality of service can suffer, and utilization rates can drop significantly.

    Another challenge comes into play when the same management principles are applied to both physical hardware and virtual machines (VMs), resulting in inefficient sprawl. The phenomenon of “virtual machine sprawl” is a costly but hidden problem; the actual limits of VMs can’t readily be seen, unlike an on-premise site that obviously runs out of physical space. When idle and unused VM sprawl occurs, storage and network resource consumption can easily grow to an excessive level well before it is noticed, at a time when costs are unfortunately too late to rein in.

    While virtualization can help shrink costs by the increased density of servers that it provides, a virtual environment can often be pricey too. Cloud resources are indeed finite, and if not managed properly, they can require unexpected increased spending. Users often forget that if they don’t “turn off” or spin down the virtual machine after they are done using it, the machine is still running and resources are needlessly being consumed.

    Moving into the cloud environment requires a revised cloud infrastructure plan, one that puts smart management of IT resources squarely at the center of the business strategy. How can you keep business processes moving smoothly, reacting efficiently, and evolving cost effectively in a hybrid cloud environment? Here are three tips:

    1. Limit access. Limit the number of people that have access to and the ability to create VMs to reduce the risk of Shadow IT. This simple step channels formal requests regarding VMs to select people with approval powers. With this procedure in place, IT staff must carefully consider if the request is truly needed, rather than hastily completing it with just a few clicks.
    2. Allocate wisely. Allocate a designated amount of virtual resources to different departments using resource pools. VM creation is better controlled if you actively limit the resources available per host.
    3. Monitor usage. It is vital to closely monitor VM lifecycles to spin usage up and down quickly, which saves money and better utilizes computing resources.

    Granted, the manual management of computing resources to accomplish the above tips takes a considerable amount of time. But today there are a variety of sophisticated solutions, such as workload automation, that help create guidelines for both virtual and physical machines. Workload automation allows organizations to take an architectural approach to cloud resource management by building a comprehensive framework that provides greater governance of and control over all of an organization’s virtual and cloud assets. As a result, organizations can better meet SLAs, reduce costs associated with manual management, and greatly increase IT agility.

    About the Author/Jim Manias

    jim mannJim Manias is Vice President at Advanced Systems Concepts, Inc. and is responsible for the overall market strategy and planning for a range of products including ActiveBatch® Workload Automation and Job Scheduling. Jim has been with Advanced Systems Concepts since 1991 and has held multiple senior management positions in the enterprise software and hardware market. Jim can be reached at JManias@advsyscon.com.

     

  • Are VMs becoming El Caminos?

    Are VMs becoming El Caminos?

    In 2010, it looked as if virtualization had won. We expected all servers to virtualize workloads and the primary question was which cloud infrastructure manager would dominate. Now in 2015, the picture is not as clear. I’m seeing a trend that threatens the “virtualize all things” battle cry.

    IMG_20150301_170558985Really, it’s two intersecting trends: metal is getting cheaper and easier while container orchestration is advancing on rockets. If metal can truck around the heavy stable workloads while containers zip around like sports cars, that leaves VMs as a strange hybrid in the middle.

    What’s the middle? It’s the El Camino, that notorious discontinued half car, half pick-up truck.

    The explosion of interest in containerized workloads (I know, they’ve been around for a long time but Docker made them sexy somehow) has been creating secondary wave of container orchestration. Five years ago, I called that Platform as a Service (PaaS) but this new generation looks more like a CI/CD pipeline plus DevOps platform than our original PaaS concepts. These emerging pipelines obfuscate the operational environment differently than virtualized infratructure (let’s call it IaaS). The platforms do not care about servers or application tiers, their symantec is about connecting services together. It’s a different deployment paradigm that’s more about SOA than resource reservation.

    On the other side, we’ve been working hard to make physical ops more automated using the same DevOps tool chains. To complicate matters, the physics of silicon has meant that we’ve gone from scale up to scale out. Modern applications are so massive that they are going to exceed any single system so economics drives us to lots and lots of small, inexpensive servers. If you factor in the operational complexity and cost of hypervisors/clouds, an small actual dedicated server is a cost effective substitute for a comprable virtual machine.

    I’ll repeat that: a small dedicated server is a cost effective substitute for a comparable virtual machine.

    I am not speaking against virtualize servers or clouds. They have a critical role in data center operations; however, I hear from operators who are rethinking the idea that all servers will be virtualized and moving towards a more heterogeneous view of their data center. Once where they have a fleet of trucks, sports cars and El Caminos.

    Of course, I’d be disingenuous if I neglected to point out that trucks are used to transport cars too. At some point, everything is metal.

  • Migrating to the Cloud? Some practical advice

    Migrating to the Cloud? Some practical advice

    Oh if the world was only Greenfields. If everything was new and we didn’t have to worry about legacy systems, what a wonderful world it would be. But that is not the way of it unfortunately. More times than not using the cloud for our applications and infrastructure means migrating some existing infrastructure from an on premises install up to the cloud. How do you do that successfully?

    You have to break some eggs to make an omelet, but migrating to the cloud isn’t like whipping up breakfast. We can’t afford down time, broken links or broken apps. As more and more apps are moved to the cloud, a solid process needs to be put in place. I asked a few people I know to help me put together a checklist of things to consider and do in moving from on prem to the cloud or more likely deploying a hybrid environment with both on prem and cloud.

    I asked my friend JP Morgenthal who knows a thing or two about cloud migration and DevOps and I dug in a bit with Alex Rosemblatt from Datadog. Datadog actually has quite a bit of experience in this area. Their product/service monitors both cloud and on prem servers side by side, so they deal with this very situation quite a bit. Taking what both of these gentlemen had to say, here is a checklist that should help you:

    1. Evaluate application for functional limitations to running in the cloud. This could include operating system dependencies, storage performance, network bandwidth/performance. Some of the key requirements to note:
      CPU
      Memory
      Storage
      Attached storage vs block shares
      IOPS
      DR
      Performance
      Underlying hardware
    2. Choose your method of migration: Lift-n-drop or re-platform. Lift-n-drop is simply porting the application to the cloud without modifying the architecture and providing all the application components. Re-platforming takes into account using cloud services where possible in place of existing application components.

    3. Pick an IAAS vendor, some criteria to use:
      Available functionality – auto-scaling, additional services etc
      Instance type/AMI availability
      Regional zone distribution
      Support SLAs
      API availability
      Performance metrics/log access

    4. Put in place a migration project management plan that includes:
      Cutover date selection
      Testing project plan
      Acceptable performance benchmarks
      Cutover day ops
      Internal communication and additional training
      Ops team
      Dev team (s)
      Changes in app dev to account for new functionality?
      QA team
      Management
      Non-tech org teams affected

    5. If hybrid architecture (and it should probably be hybrid), select how the existing data center will integrate with the cloud service. This could be Layer 2 networking through telecommunications provider or Layer 3 through Internet. Now would also be a good time to think about how you will monitor both on prem and in the cloud. Again Datadog does this side by side.

    6. Establish the network scaffolding for the application. Develop the allowed pathways for various application components to communicate. This will simplify the deployment of application components later. Test that the right ports are open for sending and receiving.

    7. Deploy the application in a single subnet with full Internet access. Remove any barriers to ensuring the application will operate on the cloud service provider’s resources. This is simply a test environment to make sure the baseline components will operate and communicate with each other.

    8. Deploy the application into the appropriate subnets to ensure servers are not available via the public Internet.

    9. Port the data from the current application environment

    10. Perform a complete regression test of the system

    11. Add additional testing to see how the system will perform if cloud services become unavailable

    This is obviously not an exhaustive list, but should give you a start in your planning. Eventually you are going to have to make a cloud migration if you have’nt already. Better to start planning for it now.