Tag: cloud services

  • Cloud Waste To Hit Over $14 Billion in 2019

    Cloud Waste To Hit Over $14 Billion in 2019

     The good news to start 2019 is that cloud adoption is growing rapidly. Most people realize this, but along with major growth comes some less welcome news. Wasted cloud spend is also up—often dramatically. Chances are, if you’re spending money on cloud, some of that money is being wasted. For some, a lot of that money is being wasted. Here are the numbers.

    Predicted Cloud Spending 2019

    The latest predictions from Gartner estimate that overall IT spending will reach $3.8 trillion this year, a growth of 3.2 percent over IT spending in 2018. Of this spend, public cloud spending is expected to reach $206.2 billion—of which, the fastest growing segment is infrastructure as a service (IaaS), which Gartner says will grow 27.6 percent in 2019 to reach $39.5 billion, up from $31 billion in 2018.

    Now we can subdivide the public cloud spend number further to look just at compute resources—typically two-thirds of cloud spend is on compute, or about $26.3 billion. This segment of spend is especially vulnerable to waste, particularly from idle resources and oversized resources.

    Wasted Cloud Spending from Idle Resources

    Let’s first look at idle resources. This includes resources that are being paid for by the hour or minute, but that are not actually being used. Typically, this kind of waste occurs in non-production environments; that is, those used for development, testing, staging and QA. According to internal data available to my company, ParkMyCloud, about 44 percent of compute spend is on non-production resources.

    Most non-production resources are only used during a 40-hour work week, and do not need to run 24/7. That means that for the other 128 hours of the week (76 percent), the resources sit idle, but are still paid for.

    What does all this add up to?

    $26.3 billion in compute spend x 0.44 non-production x 0.76 of week idle = $8.8 billion wasted on idle cloud resources.

    Wasted Cloud Spending from Oversized Resources

    The other source of wasted cloud spend is oversized infrastructure; that is, paying for resources at a larger capacity than needed.

    RightScale found that 40 percent of instances were sized at least one size larger than needed for their workloads. Just by reducing an instance by one size, the cost is reduced by 50 percent. Downsizing by two sizes saves 75 percent.

    The data we see in our users’ infrastructure confirms this, and in fact we find that it may even be a conservative estimate. Infrastructure managed in our platform has an average CPU utilization of 4.9 percent. Of course, this doesn’t take memory into account, and could be skewed by the fact that resources managed are more commonly used for non-production resources. However, it still paints a picture of gross underutilization, ripe for rightsizing and optimization.

    If we take a conservative estimate of 40 percent of resources oversized by just one size, we find the following:

    $26.3 billion in compute spend x 0.4 oversized x 0.5 overspend per oversized resource = $5.3 billion wasted on oversized resources.

    Total Cloud Spending to be Wasted in 2019

    So, between idle resources and overprovisioning, wasted cloud spend will exceed $14.1 billion in 2019. In fact, this estimation of wasted cloud spend is probably low. This calculation doesn’t even account for waste accumulated through orphaned resources, suboptimal pricing options, misuse of reserved instances and more.

    Fortunately, cloud cost control is becoming top-of-mind as the industry is able to leverage cloud computing growth statistics to calculate the massive scale of this problem. If you are involved in your organization’s cloud  infrastructure, why not make reducing cloud waste one of your 2019 objectives?

    — Jay Chapel

  • IoT, Not People, Now the Weakest Link in Security

    IoT, Not People, Now the Weakest Link in Security

    Do a quick search on “people weakest link” and you’ll see a raft of articles in which cybersecurity experts and computer scientists point to employees or end users as the biggest vulnerability. No doubt, people do silly (or outright abusive) stuff and open the door for a variety of enterprise security problems. Spoiler alert: There’s this technology called the Internet of Things (IoT) and it’s a bigger security risk than people ever were. The new theme of this rapidly changing IoT security story is data integrity.

    Increased cybersecurity risk is due in part to the variety of environments IoT applications touch. Most at-scale IoT deployments use some form of a three-tier architecture, with edge, gateway and cloud components.

    • Edge devices are those connected sensors and actuators touching the real world. They are usually small, low-power devices often running a wireless protocol such as Bluetooth, Thread, ZigBee, Z-Wave, sub-GHz, low power wide area (LPWA) networks, cellular IoT technology, Wi-Fi or other protocol.
    • Gateway devices are hubs that groups of sensors connect with. One big role of the gateway is to translate the various protocols from edge devices into Internet Protocol (IP) for transmission into an enterprise network. Gateways also perform a key role in provisioning edge devices securely. Smartphones running Android or iOS often serve as a gateway for consumer IoT devices. For industrial IoT devices, multiprotocol gateways typically are built on a small form factor computer running a real-time operating system or Linux. Edge computing or fog computing architectures use enhanced gateways for more algorithm processing.
    • Cloud platforms are very familiar to most enterprise developers. In IoT apps, data from the edge arrives for processing, storage and presentation. Algorithms can run on a server cluster or in a distributed computing framework such as Hadoop or Apache Spark. Business intelligence and predictive and prescriptive analytics also reside in the cloud.

    In our practice, we see many IoT cybersecurity issues that can be mitigated with proper attention to two areas. The first is shutting down simplistic endpoint attacks by using basic connected device security measures. Avoid edge devices that ship with a well-known default password or PIN—compromising those defaults can be as easy as a battery pull and a factory reset. If a device uses encryption, make sure it doesn’t use a hardcoded key that, if cracked, compromises an entire family. Look for edge devices using over-the-air (OTA) programming allowing for security updates over a long life cycle. As more device developers gain IoT security experience and provide the right features, closing these basic weakest links is easy.

    Now, for the more startling weakest link. When the IoT application runs, is the data any good? According to a just-released survey of 950 IT and business decision-makers, only about 48 percent of companies are confident they can detect an IoT security breach. (BTW, don’t get me started on blockchain; it’s one tool, not a panacea.) A lot can happen before your people get involved. By then, it may be too late.

    Data integrity needs constant monitoring during at-scale IoT deployment, not just during pilot. An easy way into an unprotected IoT network is to add an unauthorized edge device at a gateway, then use it to access other devices. Gaps in end-to-end encryption are also easy exploits. Untrustworthy public cloud elements are also bad news—a big reason we recommend hybrid cloud architecture. A private cloud layer gives you more control over algorithm performance and data stream security. Presentation and archiving can be left to a public cloud layer.

    Bad data can come from either a compromised or faulty device. It propagates quickly across a system, and when an unwitting user at the presentation layer runs a business intelligence tool on it, the bad data could cause issues. How do teams hunt down vulnerabilities and faults that lead to corrupted data and results?

    • Hire a penetration tester, preferably a contractor removed from your day-to-day development who can objectively assess your architecture during pilot and reassess it during deployment.
    • Ensure your architecture can tolerate edge device or gateway failures without ripple effects in algorithms; in other words, protect the application from prolonged operation on bad data streams.
    • Before turning AI loose on automated decision-making, consider an AI-based IoT security analytics tool to spot anomalies and quickly bring people into the loop.
    • Retarget at least part of your cybersecurity experts to ongoing data integrity efforts and help them stay abreast of IoT technology and trends.

    This all sounds like a good job for DevOps, doesn’t it? You know what to do about people; now you’ll need to work magic with devices. The long-held security axiom that people are the weakest link is no longer true when IoT applications run unattended all the way to presentation. There are a few exceptions when people have more interaction at the edge, particularly in the medical device arena. Generally, we’ll see bigger and bigger IoT applications with more data, more processing and less interaction with people.

    If someone on the IoT says there’s a security hole you can drive a truck through, they may mean it literally. Data integrity measures will be critical for DevOps teams moving forward. Do you agree? What types of data integrity issues are you seeing in IoT applications?

    — Don Dingee

  • 5 Trends Transforming Digital and IT Operations Management

    5 Trends Transforming Digital and IT Operations Management

    In 2018, digital transformation ushered in a radical shift in how enterprises harness customer insights, technology capabilities and rapid experimentation to drive revenue growth, profitability and market leadership. Enterprises spent $1.3 trillion in 2018 on digital transformation technologies such as public cloud platforms, microservices and containers, edge computing, machine learning and artificial intelligence to improve customer experiences, business agility and employee engagement.

    Heading into 2019, digitalization will accelerate business model innovation and drive the adoption of these emerging technologies for sustainable competitive advantage. Here’s a closer look at five technology trends that will change the way enterprises approach digital operations management in 2019:

    Multi-Cloud Adoption Goes Mainstream

    In FY18 Q3, the three leading cloud platforms (Amazon Web Services, Microsoft Azure and Google Cloud Platform) accounted for 65 percent of the market share of public cloud infrastructure and platform services. Enterprises are increasingly relying on multiple cloud providers to avoid lock-in and harness innovative product offerings, global presence and flexible pricing strategies. When it comes to multi-cloud adoption in 2019:

    • Lift-and-Shift Will Give Way to Rebuilding. In the initial phase of enterprise cloud adoption, CIOs preferred “lift-and-shift” strategies for migrating complex, legacy applications to public cloud services. In 2019, enterprises will rebuild legacy portfolios to truly take advantage of the cloud’s elasticity, security and utility pricing. Rebuilding is not only the right approach to modernize legacy systems, but also a viable solution for reducing technical debt and unleashing enterprise agility.
    • The Rise Of Managed Private Cloud for On-Premises Requirements. While analyst firm Gartner predicts that 28 percent of enterprise spending will shift to public cloud offerings by 2022, the reality is that the vast majority of enterprise workloads still run inside the corporate firewall. Public cloud providers are taking aggressive measures to conquer the final bastion of data center gravity with private cloud offerings. Managed private cloud infrastructure will become essential for enterprise services that will need data sovereignty, latency or compliance, yet still want the flexibility and agility of cloud. Some recent managed private cloud announcements from the big three cloud platforms show how these providers are taking a pragmatic approach to meet customer demand:
      • In 2016, Andy Jassy, CEO of Amazon Web Services, declared, “Whether it’s 10 years or 20 years, very few companies will own their own data centers, and those that do will have a smaller footprint than they have now.” During his 2018 re:Invent keynote, Jassy sang a different tune by launching AWS Outposts to bring the power of cloud-native services to enterprise data centers for hybrid interoperability and seamless management.
      • During the 2018 Cloud Next conference, Google introduced its Google Kubernetes Engine (GKE) On-Premises that delivers an abstraction layer for running container clusters either on the public cloud or in a corporate data center.
      • In 2017, Microsoft announced the general availability of Azure Stack, which offers the same programmable interface and deployment tooling of Microsoft Azure in a private cloud environment for a consistent hybrid cloud experience.

    The Cloud-Native Skills Gap Widens

    Software containers have fast emerged as the standard deployment vehicle for agile, reliable, scalable and highly available enterprise services. The transition from virtual machine management to container orchestration and monolithic development patterns to agile microservices will transform the way enterprises build, deploy and optimize cloud-based applications. IT operations teams will need to develop a new set of competencies to manage the health and performance of containerized services. IT practitioners can longer rely on manual scripts to manage large, distributed systems but will need to embrace infrastructure as code to provision, deploy, monitor, alert and auto-scale cloud-native services.

    Commodity Monitoring Evolves to Strategic Observability

    DevOps teams will use multiple data sources (metrics, logs, and traces) to understand, verify and debug cloud-native systems. Modern observability requires the ability to consolidate and extract relevant insights from observability pipelines using tools such as Prometheus for monitoring, Jaeger for distributed tracing and Fluentd for logging. While IT teams will need new tools to manage autonomous cloud-native services, it is still critical to understand relationships between individual components and the overall system to effectively troubleshoot microservices in production.

    AIOps Emerges as the Way to Tame Alert Storms

    Artificial intelligence for IT operations (AIOps) is a clear necessity for modern IT infrastructure teams to keep up with the diversity, velocity and volume of IT operational and event data. IT teams can proactively prevent service outages, analyze real-time incidents using contextual knowledge and remediate problems using AIOps tools. Here’s how AIOps will help enterprises run and optimize mission-critical systems:

    • Improve Response Time For Digital Interactions. AIOps has the power to boost key metrics for incident management including mean-time-to-detection, mean-time-to-response, mean-time-to-restoration and incident volume handled within a service window. The combination of machine learning and data science techniques in AIOps not only delivers faster incident coordination and response, but also reduces the human time spent per alert with advanced analytics and probabilistic root cause analysis.
    • Eliminate Siloed/Redundant Processes. AIOps offers the ability to consolidate event and incident insights from different IT management tools across on-premises and public cloud environments. A shared AIOps platform offers centralized visibility, faster impact analysis and improved collaboration for a diverse set of stakeholders, including application owners, infrastructure teams and business sponsors.

    Business-Aware, Service-Centric Delivery Can Optimize Customer Experiences

    To help the business remain competitive, IT teams simply must transition from managing hybrid IT infrastructure assets to prioritizing and supporting business-critical services. Service-centric operations management combines business insights, customer knowledge and relevant metrics to improve digital performance, enhance customer interactions and support business goals. IT teams will need to focus on the business value of IT services while offering holistic infrastructure visibility and control at the business process level.

    Clear strategy and focused execution will separate the digital winners from losers in 2019. How enterprises embrace and respond to these key trends will be key to unlocking disruptive innovation, operational transformation and business value.

    — Deepak Jannu

  • DevOps Chat: A New Take on Application Security with Portshift

    DevOps Chat: A New Take on Application Security with Portshift

    Portshift brings a new identity-based application security model from code to runtime. Cloud or on-prem, Portshift works. In this DevOps Chat we speak with CEO Ran Ilany and VP Business Ops Eran Grabiner about what is unique to the Portshift solution and why you should consider it for your own application security, especially for your DevOps teams.

    As usual, the streaming audio is immediately below, followed by the transcript of our conversation.

    Transcript

    Alan Shimel: Hey, everyone, it’s Alan Shimel, devopsy.kinsta.cloud, Security Boulevard, and you’re listening to another DevOps Chat. In today’s DevOps Chat, we actually have a new company to introduce to our audience anyway and that company is Portshift. And I’m joined by two of the key folks at Portshift. We have Eran Grabiner, who’s VP of Business Ops, and Ran Ilany or Ilani – I mispronounce your name, I apologize – Ran Ilany, CEO and –

    Ran Ilany: Ilany.

    Shimel: Ilany, great. CEO and cofounder. Gentlemen, welcome.

    Ilany: Thank you.

    Eran Grabiner: Thank you, Alan. Thank you for having us.

    Shimel: Oh, my pleasure. So, Ran, you’re the CEO. I’m gonna let you kick off. A lot of people in our audience may not be familiar with Portshift. Fundamentally, what’s Portshift about?

    Ilany: So, fundamentally, Portshift is trying to solve – solving a problem which is a hard problem that wasn’t solved in the last couple of decades and was very much introduced as a solution, during early ’90s, with the firewalls technology. And now we’re moving to the cloud infrastructure, we see that the same firewalls that were used 20 years ago are not longer, I would say, valid, in order to run a application. And, essentially, there are, I would say, two to three reason that to that and I will let Eran elaborate about the reason of why.

    Grabiner: Yeah. Sure, so, you know, Alan, when speaking about the cloud, there are two things that fundamentally changed everything for IT folks and DevOps engineers. The first thing: you don’t own the infrastructure, so the level of network and infrastructure, you simply don’t control it.

    And, secondly, a lot of change through time in the world of compute. If – I don’t know – ten years ago, we had the monolithic application sit down in our data centers in the office, right now, when we’re in the cloud, our application is broken into many different pieces, many different _____ services. Everything is much more automated. Software is being updated on an hourly basis. And developers and engineers, they have much more power to do things with their software. So, because those two reasons that the old tools that we had, in order to orchestrate security in our network, simply doesn’t work.

    Ilany: Yeah, and –

    Shimel: Agreed. Ran?

    Ilany: And just to add to those points, there are two layers that essentially impose the challenge. The first one is the fact that, if you’d really like to, I mean, to use firewalls within the cloud environment, you really need to understand the network infrastructure. To understand the network infrastructure, you need to understand what is the application is doing out there in the cloud, and, in order to do this, you need to configure those IPs and those ports, which actually create a very, very close binding to the actual network infrastructure, for one hand.

    And, for the other hand, you obviously need to have this type of discussion between the security folks to the actual operation folks, which actually creates a lot of bureaucracy that was possibly valid, you know, 15 years ago in the data center, but, now we’re moving to the cloud and everything is automated with CI/CD, you need something else. Okay? You need to break the paradigm, at least from being tied to the actual network, from one hand, and, from the other hand, you need to make things to be much more fast and much more intertwined with the development life cycle. Which is essentially the primary objective that Portshift’s have put in as a target and as a solution.

    Shimel: Absolutely. So, guys – and, look, I’ve been in this a while myself. You know, when we first started with the next-gen firewall, right, and that was sort of the premise, is that we were gonna get the developers involved and application-aware firewalls and all that, but it didn’t translate to the cloud. You’re right. But, Ran, I’m interested, as the CEO/cofounder, so this is obviously a problem, right? How do we do this in a cloud environment, at cloud scale, at cloud speed and all of that?

    Ilany: Yeah.

    Shimel: How did this affect you personally or in your kind of journey to where you’ve got here today, where you recognized and said, “Hey, we gotta do something about this, that this is a problem looking for a solution here”?

    Ilany: Yeah. So, essentially, we understand that there is a problem that requires a solution, you know, while talking with customers. I mean, those are usually the No. 1 –

    Shimel: That’s the way –

    Ilany: Yeah, and –

    Shimel: – the best way to do it.

    Ilany: And we saw that there are – and we call it “the impossible tradeoff,” okay? They either need to be very, very fast – they want to run very, very fast in the cloud, from one hand, but then they have a security constraint. They really want to control, I mean, the communication between the application and where the application should run. And there, there is the where to be in the curve of being Agile and being secure every organization has to find itself, in this type of curve, and to find what is the level of security that it wants to enforce or impose.

    And this is, I would say, what led us to think of changing the paradigm or breaking the paradigm or making a solution that the customer will not have to make this type of tradeoff or make this type of decision and target to be both fast and Agile but also secure from the other way around _____ _____.

    Grabiner: And we basically looked at what’s going on in the cloud from the DevOps perspective and we saw that many things changed to be better, with automation, with CI/CD tools, and we ask ourselves why, with security, this is not happening? Why the workstation or the tools that the DevOps engineer is now using to deploy software, why security tools can’t look the same? Why they can’t be part of the same idea and the same work cycles? And this is what got us to think that we need to, in a sense, push security to the left, shift left, and take it to be something that is part of the DevOps life cycle and part of the CI/CD infrastructure of the organization.

    Shimel: Sure. So, guys, obviously – so we call this “DevSecOps,” right? Is part of it.

    Grabiner: Yeah, right. Yeah.

    Shimel: It’s something that I – you know, between DevSecOps Days and events we put on at RSA and so forth, it’s something we’re very involved in. My question for you then is, so it sounds like Portshift is really aimed at helping DevOps engineers, DevOps teams, developers, get more involved in the security or in the cloud firewall kind of paradigm for security. Is Portshift aimed then at the security team, the developer team, or both?

    Ilany: So I think – well, obviously, the focus of Portshift is not to try to educate Dev and DevOps to be security folks – this is obviously not the target – but think the good news is the fact that Dev and DevOps have the knowledge, okay? And the knowledge is where, essentially, they know their intention. They know where, essentially, they want to deploy the application and, essentially, who should talk to who, in terms of application containers or processors, depending, obviously, on your infrastructure. And this is, I would say, the basic assumption that the whole concept of Portshift is based on, okay? We actually take this type of knowledge, okay? We create from this knowledge or this attributes, we create the actual identity of the application, which is essentially a signed infrastructure or crypto-signature of those attributes. And we use those intentions that are described by DevOps, in their own natural language – I mean, a recipe in Cookbooks with, you know, _____

    Shimel: A Chef or a Puppet.

    Ilany: Yeah, of course. Or Ansible or Kubernetes, obviously, infrastructure. We use this type of information while creating the crypto-identity, in order to deploy those application or signed application in the cloud and enforce the actual security that we describe formally. And the whole point is, essentially, that those folks don’t have to change the way that they work, okay? The security is more intertwined with their own system, the CI/CD system.

    We leverage this type of information in order to create the security and the actual security folks will actually define guardrails. Okay? They will define operational environment in high level – the production environment, the testing environment, or the preproduction environment – where the actual application should run within. And the security will be sort of enforced and be visible automatically, without the pingpong, okay, or without the never-ending discussion between the security and the DevOps folks, which we all know it’s part of the problem, okay? It’s part of the challenge of securing the application in the cloud prams.

    Shimel: Absolutely. So I guess this – well, let me back up a sec. I just wanna make sure. Portshift, I know you work with AWS, obviously.

    Ilany: Mm-hmm.

    Shimel: Microsoft Azure, Google Cloud as well?

    Grabiner: Yeah.

    Ilany: Mm-hmm.

    Grabiner: We’re totally agnostic to the infrastructure.

    Shimel: Okay. And what – I’m curious ’cause this is something that we going back and forth on, back and forth on. The attitude of the developers, the DevOps teams. I mean, you never meet a developer who says, “Oh, I’d wanna make an insecure application or I want my stuff to be hacked,” right?

    Grabiner: No.

    Ilany: Mm-hmm.

    Shimel: And you’re right – they’re not security people, but they’re security-aware and they need to be security-responsible.

    Ilany: Mm-hmm.

    Shimel: Right? On the other hand, look, we all know security people who’ve said, “The developers will do what I tell them,” right? “And they’ll be secure when I tell them they’re secure.” But that doesn’t work either in this new world. Right? It’s gotta be together. So you talk about integrating with the CI/CD process. Give us an idea of how you work within the CI/CD process.

    Grabiner: Got it. Yeah, so, basically, what we’re doing, we are asking the developers, the DevOps engineers, to use a very simple set of APIs, whenever they are using their infrastructure as a code or whatever the tools that they’re using, to send Portshift the relevant information that we need, in order to identify the piece of application that they’re deploying. This information can be technical information about the build, the version, the namespace of the application, and other attributes, that will allow us to rip up an identity that is unique, for each and every one of the pieces of the application. So this is the first part, where we learn your application logic, where we understand who should speak with who, and we know your business.

    Now, when we take this identity and we move into runtime, we see all the different pieces and, first of all, we see them for sure. We know because we find them during CI/CD. If something didn’t go through CI/CD, if a developer deployed a container without asking, if, god forbid, an attacker is moving in the network, we would immediately see that because we signed the components during CI/CD. And we can see them. We can see them communicate. And now security folks and also DevOps engineers, they can easily define their agenda and their rules, based on their application logic.

    A simple example: if they want their billing app to speak with their financial database, something that can take days just to config because your application is broken into different pieces and you need to config security groups and make sure you did it right and so on, with Portshift, you would simply write this sentence. You would just say, in English, “I want my billing application to speak with financial database,” and that’s it. Everything will work from then on.

    Shimel: So it sounds magical, right?

    Grabiner: Yeah.

    Shimel: You know, I’m too old to believe in magic. What’s going on behind the scenes, though? When I write that, what’s actually happening behind the scenes?

    Ilany: Yeah. So, essentially, what happens behind the scenes is we have two phases for this identity bit generation. As eloquently mentioned by Eran, the first phase is done by offline, okay? We take this type of attributes, which are sort of the intention, okay, in the CI/CD. We grab those as attributes of the identity and this is essentially the description of the application – wherever the application should run, who should it talk to within the actual environment that we’re targeting to.

    And then we have the correlation with the runtime properties. Every process, every containers have runtime characteristics – for instance, the process ID, the UID, memory footprint, and stuff like that – so we combine all together the offline attribute that was created with the ICD, with runtime attribute. We sign them all together.

    And this essentially creates one unique entity that is running out there and this is what we’re using in order to enforce. We are transferring this type of identity in the traffic stream so that a conversation between two different application is, first and foremost, authenticated, okay, and only then authorized. Okay? This is what we call the classical “zero-trust” approach, okay? We’re not trusting the IP; we’re trusting the identity on the counterpart.

    And this brings another where we talked, I believe, a little bit about the operational benefits and the fact that it’s very Agile and useful for the Dev and DevOps and the security collaboration. But there is another very important advantage and it’s the fact that, now that we are not talking about an attack surface which are segments, network segments, we are talking about type of access. Okay? So, if an attacker, for instance, get into one of my workloads or one of my application, we are not losing the whole segment, okay? We are losing a single part.

    And now we have, I would say, less – we’re much less concerned from the extent that we are exposed, okay, because we are talking about only point-to-point access permitted. They’re not network segments, which are open and, from the attacker perspective, it’s like a dream come true. If I find a flat network and I get into your flat network in some miraculous way, then I can get into every resource or application that is out there.

    Shimel: A good target.

    Ilany: Yeah. And this is, essentially, the basic concept of the security perspective of identity-based access control between different applications.

    Shimel: Sure. Guys, it sounds fascinating. As I mentioned to you when we started, the time goes very quickly. We’re kind of at the end of our time.

    Grabiner: Yeah.

    Shimel: I apologize, but maybe we can continue the conversation. For people who are interested, Portshift, you can get more information at portshift.io. Correct?

    Ilany: Right.

    Grabiner: That is correct.

    Shimel: And you guys will be at AWS Reinvent, though –

    Grabiner: Correct.

    Shimel: – _____ _____ after. Will you be at RSA conference?

    Grabiner: Yes. We will also be presenting there, at a startup venue.

    Shimel: Oh, the Launchpad or the Sandbox?

    Grabiner: The – I think it’s called – I think it’s the Launchpad. Yeah, it’s where all the early-stage companies are. Yeah.

    Shimel: Yep. Sandbox – that might be the Innovation Sandbox. Launchpad is more for ideas.

    Grabiner: Oh, yeah.

    Shimel: I think you fit more in – yeah, we’re a big part of RSA, so, yeah, I just did a podcast with them about both of those, so little bit I know. Anyway – I’m sorry. Thank you very much for joining us and we will – if we don’t see you at AWS, we’ll see you then at RSA. Well, we’d like to probably hear more because this kinda fits right into our sweet spot. Ran, Eran, thank you for joining us on DevOps Chat today. Good luck with Portshift. This is Alan Shimel for devopsy.kinsta.cloud. Have a great day, everyone.

    — Alan Shimel

  • Understanding Pillar 1 of AWS’ Well-Architected Framework

    Understanding Pillar 1 of AWS’ Well-Architected Framework

    AWS’ Well-Architected Framework provides a wealth of incredibly valuable best practices and guidelines structured around five distinct pillars that more cloud-native organizations would do well to heed. The first of these pillars, Operational Excellence, recommends a number of particularly valuable techniques. However, successfully adopting the design principles and practices within Pillar No. 1 requires a strong foundation: a company culture that is willing to continuously work to improve.

    In practice, this can mean holding high-profile “Game Days” focused on advancing internal procedures, nurturing an environment where engineers and product leaders really collaborate to promote business value while pursuing rapid iterative release cycles, championing operational automation and related approaches. Fortunately, adopting the tenants of AWS’ Operational Excellence Pillar can naturally assist in implementing cultural changes where they are needed.

    Design Principles for Operational Excellence

    To achieve operational excellence within AWS, incorporate these six design principles:

    Perform Operations as Code

    The cloud makes it possible to apply the same rigorous practices used to reduce risks in software development (such as version control and automated testing) across your full application environment. Cloud infrastructure allows all aspects of operations to be defined, managed and implemented in software code, spurring a revolution in their automation and consistency.

    Annotated Documentation

    Without effective automation, maintaining documentation is tedious to keep in sync with reality—ultimately making it challenging to troubleshoot issues when they inevitably arise.

    Fortunately, the cloud makes it possible to create documentation automatically as an artifact of the build process. This documentation is detailed and annotated, always up-to-date and can be read by us humans (as well as systems). With automated documentation, engineers can react to issues more rapidly and accurately, and enlist automated systems to do the same.

    Make Frequent, Small and Reversible Changes

    While agile, iterative development methods have become commonplace in many areas, product-driven organizations tend to stick to large releases. However, operational excellence calls for a systems design that incorporates tightly focused, failure-resistant components in an environment designed for constant change and improvement. Implementing this flexibility allows for more rapid deployment of new iterations—but easy rollback if issues pop up.

    Refine Operations Procedures Frequently

    Operational excellence requires holding regular meetings to reflect, suggest and implement improvements to operations procedures, the same as those held when practicing any agile methodology. Game Days, where procedures are tested and iterated on, will help build and strengthen excellence as well.

    Anticipate Failure

    Rather than waiting for failures to strike and then studying the causes in a post-mortem, practicing routine “pre-mortem” exercises that recognize failure points before any harm is done. Game Days can then be used to investigate these scenarios and ultimately bolster resilience. For example, premier cloud-native organization Netflix demonstrates this design principle with its Chaos Monkey project, which is purpose-built to strengthen application resiliency against random instance failures.

    Learn From All Operational Failures

    Operationally excellent cultures have the openness to share post-mortem findings across the organization without pointing fingers. This broadly shared knowledge can then inform improvements in all areas of the business, not just in engineering and product departments but marketing, finance, and others as well.

    Critical Components of Operational Excellence

    Embracing the six design principles above paves the way for you to practice operational excellence in three key areas defined by the Well-Architected Framework: Preparation, Operation and Evolution.

    Preparation

    Operational excellence requires operations teams to possess a clear and complete understanding of the goals for each workload within the complete system, and how those goals will be achieved.

    Operational Priorities

    This clarity must include knowledge of the workloads the operations team is responsible for, the shared business goals and their role in achieving them and any relevant regulatory or compliance requirements. This information allows teams to correctly prioritize those workloads with greater importance or complexity.

    AWS offers these helpful resources for setting operational priorities:

    Businesses can also enlist AWS Certified Partners—experts selected by AWS to provide consulting, and professional and managed services as an extension of a company’s own operations team—to make sure priorities are set wisely.

    Design for Operations

    A well-architected workload is designed for operations from the beginning, with consideration for deployment, updates and similar needs. AWS provides the ability to model entire workloads as code, from applications to infrastructure, policy, governance and operations. It also offers a robust set of tools and services for operation design, such as CloudFormation and the AWS Developer Tools. Businesses can also create systems featuring the observability and insights needed to operate workloads by using AWS Cloudtrail, AWS VPC Flow Logs, AWS CloudWatch and more.

    Operational Readiness

    Beyond the technology used, operational excellence is also a function of elegant, consistent processes and procedures for deploying and operating workloads. This means maintaining accurate documentation, building a well-trained and resourced team of experts and having governance that makes sure everything is done the right way.

    It’s also smart to utilize automation when evaluating environments. CloudWatch events can be automatically addressed by scripting procedures created with AWS Systems Manager’s Run Command and Lambda. Configurations can be automated and benchmarked against best practices using AWS Config rules.

    Operation

    The first step to operational success is clearly defining it with key metrics based on shared business goals, so that events can be addressed with those goals in mind and success can be recognized when (or when not) achieved.

    Understanding Operational Health

    Because no two businesses are the same, the definition of operational health and success will vary. For example, one company might have workloads that demand low-latency and high-throughput performance to be prioritized over cost. Another might require a focus on cost-effectiveness and high availability. Operations teams must first understand those priorities and how they serve business goals to deliver what is actually needed.

    AWS offers tools and services for analyzing workloads to serve specific goals. CloudWatch Logs and Dashboards can provide system and business level views of key metrics. Amazon ElasticSearch and Kibana can offer further visualization of operational health metrics, as can outside tools and services like Logstash and Grafana.

    Responding to Events

    When events occur, operational excellence means having prepared and even anticipated failures and putting metrics, processes and procedures into action for a quick and effective response. At the same time, teams must have metrics to understand the business impact of workload components to resolve the highest priority issues first. AWS enables teams to script automatic event responses, such as automated rollbacks triggered by failures. Amazon CloudWatch offers a powerful service for these automated responses.

    Evolution

    Curiosity and a desire to learn and improve are essential traits for operations teams pursuing operational excellence. Every experience should be viewed as an opportunity to learn and to share that new knowledge base. The best teams enjoy learning from failure and by asking for the perspective of other business units.

    AWS offers an incredible platform for the analysis and experimentation needed to evolve practices. Amazon CloudWatch and CloudTrail can be combined with Amazon ElasticSearch with Kibana. Data exported to Amazon S3 can enable analysis with Amazon Athena and Amazon QuickSight. AWS also helps share best practices with CloudFormation templates, Chef Cookbooks, Ansible Playbooks, Lambda functions and more. 

    — Jonathan LaCour

  • Google Cloud Platform: The Basics for Absolute Beginners

    Google Cloud Platform: The Basics for Absolute Beginners

     Google Cloud Platform provides powerful tools and services. Why should you pay attention to one of the leading cloud service providers? More and more companies are moving to the cloud to help create software applications and manage data, and Google Cloud Platform is one of the many platforms available for cloud computing, an industry that is poised to break $159 billion in market value by 2020.

    There are four basic options for creating applications on Google’s infrastructure:

    • Google Compute Engine
    • Google App Engine
    • Google Kubernetes Engine
    • Google Cloud Functions

    What You Need to Know About Google Compute Engine

    Google Compute engine lets you create instances. These instances are virtual machines with their own set of hardware and software. Basically, your personal instance, or VM, is a virtualized environment that sits on top of the very real partitioned environment on servers in a Google data center.

    Google Compute Engine is an infrastructure as a service (IaaS). As such, you’ll be able to control networking, firewalls, disk storage and a lot of granular aspects of how, when, where and why your application works.

    The Essentials of Google App Engine

    Google App Engine is a platform as a service (PaaS). You don’t have to worry about the infrastructure—this is taken care for you. Your project will scale as necessary according to your needs. Simply vendor your APIs, add custom code, load it into the app engine and voilá! You’ve got yourself a working Google Cloud application.

    Simply set up billing, add some developers, put in a dash of code and you’ve got the gist of the full project arc for App Engine.

    Google Kubernetes Engine: The Absolute Basics

    Google Kubernetes Engine lets you create containerized applications with the open source Kubernetes. Containerized application management is just another way of talking about a kind of specialized VM management.

    With containerized apps, you don’t need a full VM to launch distributed software applications. In other words, it’s a way to boost memory and efficiency by having multiple containers sitting on top of a single VM instance. It’s a relatively new way of developing applications.

    Google Cloud Functions

    Serverless applications aren’t without their dedicated service, either. For all your serverless application needs, Google Cloud Functions has got you covered.

    Getting Started With Your First Project

    Setting up your first project within Google Cloud Platform can be done with relative ease.

    First, you’ll want to get an account with Google Cloud Platform if you haven’t already. This can be done in a few easy steps:

    1. Sign up with a Gmail account.
    2. Agree to the terms of service.
    3. Sign up for the free trial (one year of free membership and $300 credit toward your account).
    4. Enter your credit card information.

    After you’ve completed those steps, you’ll be prompted to an in-browser tutorial. Don’t skip this. It’s an easy way to get oriented to the platform right off the bat. Follow the tutorial so you can get a feel for how the developer console is organized.

    Creating Your First Project

    Now it’s time to create your first project, add team members and enable billing. This is fairly straightforward, but it’s important to get acquainted with these pages, dashboards and controls early on.

    To create a project, simply click on “create a new project,” then follow the prompts. Every Google Cloud Platform project needs a unique title so make sure you supply one or accept a generated one. Then scroll down to IAM policies. You’ll want to make sure you have the right privileges in place.

    After you’ve gone through a few of the tutorials and created your first project, open up the hamburger menu in the upper left corner. When you expand the menu you’ll see a long list of services. App Engine, Compute Engine and Kubernetes should all be visible.

    Conclusion

    There are four major options when deciding to employ Google Cloud Platform: Google Compute Engine, Google App Engine, the Kubernetes Engine and Google Cloud Functions. All are great options for starting your first cloud project.

    Google Cloud Platform is a service that gives you access to cloud client libraries and enterprise-grade hardware. As more and more companies move to the cloud, and more and more data is produced, it’s important to start investigating which cloud solution is right for you.

    With the Google Cloud Platform, you have many options, from building atop an infrastructure, a platform or building and managing containerized applications. What you choose to employ is completely up to you.

    — Charles Dearing

  • AWS Finally Embraces On-Premises IT

    AWS Finally Embraces On-Premises IT

    Amazon Web Services (AWS) announced this week it will make available instances of its IT infrastructure available in on-premises IT environments, which it will then manage on behalf of customers. The announcement was made at its AWS re:Invent 2018 conference.

    AWS CEO Andy Jassy said AWS Outposts platforms, scheduled to be available in 2019, will come in two flavors: one will run the same stack of software AWS uses to manage its public cloud, while the other will be based on the software stack VMware currently makes available on the AWS cloud.

    VMware announced it will make available a managed service of its own for AWS Outposts based on its entire platform stack, in addition to making its management and networking software in the form of VMware Cloud Foundation available on instance of AWS EC2. That move represents a significant expansion of the VMware approach to hybrid cloud computing because AWS EC2 is based on the open source Kernel-based virtual machine (KVM) rather than the VMware hypervisor.

    Regardless of path chosen, each Outposts platform will function as an extension of the Amazon Virtual Private Cloud (VPC) service, with connectivity being provided via the closest AWS Region located to that on-premises platform. Both Amazon VPC and AWS Outposts will be tied into the AWS Control Tower service to create a common management plane.

    After years of making the case for moving all workloads into the public cloud, Jassy admitted this week that there are instances when performance and compliance concerns will result in some workloads never moving to the public cloud. In response to demand from customers who want to be able to deploy and manage the same infrastructure on-premises as they have in the cloud, Jassy said AWS is now committing to making racks of systems available via an AWS managed service.

    The challenge DevOps teams will now face is determining the degree to which they will want to integrate their DevOps processes with managed services provided by AWS, VMware or any number of third-party service providers. In some cases, DevOps teams may simply decide that additional layer of management adds to much complexity. In other cases, the decision might lean more toward allocating more resources to application development, as IT operations spanning hybrid clouds become more of an automated service provided by an external vendor.

    Heading into 2019, it appears the specious debate over public clouds versus on-premises IT environments is coming to an end. Not only will there be workloads running in both environments for the foreseeable future, but a recent study conducted by International Data Corp. (IDC) notes that 80 percent of IT organizations surveyed have repatriated workloads back into on-premises IT environments from public clouds. To make matters even more complex, a whole new generation of so-called cloud-native applications based on microservices enabled by containers running on Kubernetes clusters is adding even more complexity to IT environments.

    The goal, of course, is to make modern businesses more agile. The irony is that achieving that goal appears to requires paradoxically making IT environments more complex than ever.

    — Mike Vizard

  • Toyota Research Institute Discusses DevOps Automation and Rapid Innovation

    Toyota Research Institute Discusses DevOps Automation and Rapid Innovation

    How TRI is using DevOps automation to drive its research and engineering

    Toyota Research Institute (TRI) is working to build a future where everyone has the freedom to move, engage and explore with a focus on reducing vehicle collisions, injuries and fatalities. Working tirelessly behind the scenes is TRI’s Infrastructure Engineering team, responsible for designing, deploying and maintaining the infrastructure that makes this possible.

    I recently sat down with Mike Garrison, the technical lead for Infrastructure Engineering at TRI, to talk about DevOps automation and cloud-based deep learning. (Full disclosure: TRI is a customer of Flux7)

    Note: Mike Garrison and Adrien Gaidon, Machine Learning Lead at Toyota Research Institute, will share more about their experience with Distributed Deep Learning & High Resolution Driving Data at this week’s AWS re:Invent.

    Can you start by giving us a broad idea of the project you’re working on at TRI?

    Our mission at TRI is to improve the quality of human life through advances in artificial intelligence, automated driving and robotics. The Infrastructure Engineering team supports the researchers and engineers at TRI by making it easier for them to utilize the power of the cloud in a secure, automated and reliable fashion while not slowing them down. We see ourselves as partners who can help reduce the time and burden, so they can focus more on their deliverables.

    Have you evolved as a team to enable the rapid innovation that this kind of project needs?

    Yes. The biggest change we’re making is an evolution to embrace more DevOps ideas, methods and processes.  Automation is a core tenet of DevOps. We are applying that in two ways. First, to reduce tactical, manual IT operations activities; second, to make it faster and easier for our researchers to test their ideas.

    For example, we are creating a self-service portal that will allow researchers to easily and quickly provision the AWS assets they need to test new ideas. This helps researchers become more productive as they won’t wait for the infrastructure team to spin up resources. Having a secure cloud sandbox environment enables them to try new ideas, fail fast, destroy the sandbox if needed, and start over. It’ll enable our researchers to innovate at velocity and at scale. Modern cloud infrastructure and DevOps automation is empowering us to quickly remove any barriers that get in the way, allowing the team to do their best work, advance research quickly, push boundaries and transform the industry.

    How are you applying the latest technology advancements to help produce cars that are safer, more accessible and more environmentally friendly?

    The process of developing autonomous vehicles is data intensive. At TRI we log a massive amount of data—terabytes of data per car per day—from our fleet of test vehicles. Researchers analyze the data and continuously refine machine learning algorithms to ensure the most accurate outcomes possible across a myriad of driving scenarios. Researchers train new models and update test cars for new test runs. We’re also using simulation to virtually recreate traffic situations, adding adverse conditions such as bad weather and difficult traffic patterns. It’s a process of continuous improvement that simply couldn’t be achieved without the high compute power of the cloud.

    Supporting this high-powered data analysis is a cloud infrastructure that has been optimized to minimize the amount of time researchers take in this gather, learn, tune and test process. For example, at TRI, we have two driving technology modes—Guardian and Chauffeur. Guardian is designed to intervene only when a driver needs help avoiding an accident, whereas Chauffeur is meant as a truly autonomous vehicle. We developed a single technology stack to support both modes.

    And, using the PyTorch deep learning framework, my teammates on the machine learning side developed a series of computer vision models that monitor and control both modes as well. Working together, we are able to collect information from their deep learning models, spinning up new compute and storage resources on demand. We’ve married this elasticity with advanced management and orchestration services to ensure that collected data can be retrieved and analyzed quickly. Through advanced automation, we are able to shrink model training times so they are measured in hours—or even minutes.

    What lessons have you learned along the way? Any barriers or surprises that others could learn from?

    While DevOps automation requires more upfront work, it pays dividends in time savings, staff being able to focus on strategy rather than tactics, and provides logged history which can be critical for security, problem resolution and much more. If I had any words of advice for others looking to adopt DevOps automation, I would advise them: Don’t try to go back a year or two later and try to reverse engineer what was done. Start on the right foot and automate as much as you possibly can.

    — Aater Suleman

  • VMware Extends Scope of Alliance with IBM

    VMware Extends Scope of Alliance with IBM

    On the heels of IBM announcing its intent to acquire Red Hat, VMware announced at the VMworld Europe 2018 conference this week an extension of its longstanding cloud alliance with IBM.

    Red Hat competes directly with VMware; yet, there are also more than 1,600 customers running VMware on the IBM cloud. Ajay Patel, senior vice president of product development for cloud services, said VMware remains committed to the IBM cloud alliance even while its relationship with Amazon Web Services (AWS) continues to expand.

    VMware and IBM jointly announced this week they have opened Joint Innovation Lab and that IBM Cloud Private Hosted can now be installed on VMware vCenter Server on IBM Cloud. In addition, IBM Cloud for VMware Solutions are now integrated with the IBM Cloud Kubernetes Service. IBM is also adding support for VMware NSX-T Data Center to provide VMware customers with access to a network virtualization (NV) overlay on IBM Cloud.

    In addition, VMware vRealize Operations automation software is now available on IBM Power Systems, and VMware will use the IBM Watson cognitive computing platform within VMware customer support portals.

    Despite the obvious tension between VMware and Red Hat and IBM and AWS, Patel noted that VMware has more customers running on the IBM cloud service than any other cloud environment. In addition, IBM, VMware and Red Hat all are committed to advancing Kubernetes. Point of fact: VMware, separately at the conference, announced its plans to acquire Heptio, a provider of management tools for Kubernetes and added support for Kubernetes running on top of VMware virtual machines in version 3.5 of VMware Cloud Foundation.

    VMware, via its alliance with IBM, is making a case for enabling customers to run stateless components of an application on Kubernetes, while maintaining stateful components such as databases on virtual machines, which provide better support for persistent storage.

    IBM said it intends to treat Red Hat as an independent subsidiary capable of making independent alliances, in much the same way VMware operates as an independent unit of Dell Technologies. It may take a while for IT organizations to get used to navigating strange-bedfellow relationships in the era of the cloud; for example, Red Hat has an extensive relationship with Microsoft that spans both Microsoft Azure and on-premises IT environments.

    What remains to be seen is the degree to which DevOps teams will navigate conflicting vendor alliances in isolation from one another instead of trying to unify the management of all those clouds under a common framework. A recent IDC report finds that while most customers (64 percent) are employing multiple clouds, the degree to which those clouds are interoperate varies widely. IDC finds that only 24 percent of IT organizations have a high degree of interoperability between their cloud environments. Another 40 percent say they have achieved low interoperability between their clouds. Only 7 percent say they have a true hybrid cloud in place.

    As the number of organizations with hybrid cloud capabilities starts to increase, the next battle in the cloud won’t be focused on what platforms are employed as much as what management plane might be employed to unify them all.

    — Mike Vizard

  • The Truth Behind DevOps on the Cloud

    The Truth Behind DevOps on the Cloud

    DevOps on the cloud may seem simple enough, but in reality it can be very complex

    The ultimate goal of a DevOps administrator is to make sure that everything is running properly and seamlessly—so much so that management is convinced that the DevOps administrator is playing solitaire all day. To that end, a successful DevOps team should have their systems automated such that the level of friction they impose on the organization is minimal.

    Leveraging a cloud environment makes it look easy—almost too easy, making it look as though all DevOps needs to do is press a button. IT can be deceived into thinking that the level of complexity in DevOps on the cloud is trivial, when in reality it is not.

    Running DevOps on the cloud is like renting an apartment in someone else’s building: Even though you don’t own the infrastructure, you’ll have to deal with any issues that may arise. Similarly to a neighbor who’s too noisy, you may experience different levels of performance from the same servers with the same capacity at different times of the day because someone else is running on the same hardware.

    There also are security threats that don’t come into play when running on your own hardware. If the same physical machine that runs your most important computations is also being used by Mr. Nefarious, he can use all sorts of tricks and hacks to gain access to valuable data. The Meltdown Inspector attacks is one example—it impacted all cloud providers with severe fleetwide performance impact, sometimes exceeding 10 percent, and required expensive mitigation steps.

    Making Sense of Your Gold Mine of Data

    The wealth of information provided to system administrators is awe-inspiring, terrifying and frustrating all at once. There is so much information available that, in theory, we should be able to troubleshoot and fix any and all issues. Unfortunately, making sense of the vast amount of information available and nailing down the critical pieces of information necessary can be extremely complex.

    The flat network topology typically expected of an on-premises data center is drastically more complex on the cloud. Beyond just VPN and DMZ, there are multiple isolated networks, containers running VMs and running on segmented networks going through NAT with multiple levels of routing and dispatch at play. Trying to troubleshoot in such an environment can be an exercise in frustration, because you don’t own the entire network.

    Certain tools and abilities you might take for granted in your own data center are not available, such as Tcpdump, a low-level tool to monitor network packets. For example, in VPN packet loss scenario, your cloud VPN server is shared with other clients, so  you won’t be able to capture packets to troubleshoot the connection issues.

    Also in managed services—in particular databases—the debug endpoints and tools that often are used in other environments to troubleshoot are not available, to avoid exposing data from other users. For example, you cannot get the full logs from the server to figure out what it is doing. That can hide critical goings that are too precious to ignore in production.

    Evaluating Cloud Providers

    Since it’s inevitable that problems will occur, one of the important considerations for selecting a cloud provider is the level and quality of support they offer. It’s important to go beyond simple SLAs and evaluate the actual quality and effectiveness of the support you can receive.

    Take, for instance, a situation where a machine would freeze, effectively at random, for long periods of time. All monitoring and metrics have told a simple story. The machine was up, had plenty of resources and capacity to spare, but simply would not respond every now and then for any connection attempt whatsoever. Troubleshooting involved stripping the problem to its core and being able to reproduce this in a minimal fashion, at which point one would contact the cloud provider support to try and understand what is going on. The actual problem turned out to be network port exhaustion in the NAT router, which caused a remote server to reset TCP connections, leading to long timeouts that froze the system. This particular problem took days to resolve and required a major change in the deployment topology.

    Running DevOps on the cloud is not an easy task, and the cloud itself is not a silver bullet. Rather, it’s a way to democratize hardware and operation resources and work effectively at scale. If you can manage the new challenges, you can enjoy a new level of efficiency.

    — Oren Eini