Screaming in the Cloud - Episode 30: How to Compete with Amazon

Episode Date: October 3, 2018

Trying to figure out if Amazon Web Services (AWS) is right for you? Use the “quadrant of doom” to determine your answer. When designing a Cloud architecture, there are factors to consider.... Any system you design exists for one reason - support a business. Think about services and their features to make sure they’re right for your implementation. Today, we’re talking to Ernesto Marquez, owner and project director at Concurrency Labs. He helps startups launch and grow their applications on AWS. Ernesto especially enjoys building serverless architectures, automating everything, and helping customers cut their AWS costs. Some of the highlights of the show include: Amazon’s level of discipline, process, and willingness to recognize issues and fix them changed the way Ernesto sees how a system should be operated Specialize on a specific service within AWS, such as S3 and EC2, because there are principles that need to be applied when designing an architecture Sales and Delivery Cycle: Ernesto has a conversation with a client to discuss their different needs Vendor Lock-in: Customers concerned about moving application to Cloud provider and how difficult it will be to move code and design variables elsewhere For every service you include in your architecture, evaluate the service within the context of a particular business case Identify failure scenarios, what can go wrong, and if something goes wrong, how it’s going to be remediated CloudWatching detects events that are going to happen, and you can trigger responses for those events Partnering with Amazon: Companies are pushing a multi-Cloud narrative; you gain visibility and credibility, but it’s not essential to be successful Can you compete against Amazon? Depends on which area you choose Expand product selection to grow, focus on user experience, and improve performance to compete against Amazon MiserBot: Don’t freak out about your bill because Ernesto created a Slack chatbot to monitor your AWS costs Links: Concurrency Labs Ernesto Marquez on Twitter How to Know if an AWS is Right for You MiserBot AWS RDS Lambda Digital Ocean .

Transcript
Discussion (0)
Starting point is 00:00:00 Hello, and welcome to Screaming in the Cloud, with your host, cloud economist Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud. This week's episode of Screaming in the Cloud is generously sponsored by DigitalOcean. I would argue that every cloud platform out there biases for different things. Some bias for having every feature you could possibly want offered as a managed service at
Starting point is 00:00:37 varying degrees of maturity. Others bias for, hey, we heard there's some money to be made in the cloud space. Can you give us some of it? DigitalOcean biases for neither. To me, they optimize for simplicity. I polled some friends of mine who are avid DigitalOcean supporters about why they're using it for various things, and they all said more or less the same thing. Other offerings have a bunch of shenanigans, root access and IP addresses. DigitalOcean makes it all simple. In 60 seconds, you have root access to a Linux box with an IP. That's a direct quote, albeit with profanity about other providers taken out. DigitalOcean also offers fixed price offerings. You always know what you're going to wind up paying this month,
Starting point is 00:01:22 so you don't wind up having a minor heart issue when the bill comes in. Their services are also understandable without spending three months going to cloud school. You don't have to worry about going very deep to understand what you're doing. It's click button or make an API call and you receive a cloud resource. They also include very understandable monitoring and alerting. And lastly, they're not exactly what I would call small time. Over 150,000 businesses are using them today. So go ahead and give them a try. Visit do.co slash screaming, and they'll give you a free $100 credit to try it out.
Starting point is 00:02:00 That's do.co slash screaming. Thanks again to DigitalOcean for their support of Screaming in the Cloud. Hello and welcome to Screaming in the Cloud. I'm Corey Quinn. I'm joined this week by Ernesto Marquez, who's the owner and project director at Concurrency Labs, where he generally tends to spend his time helping startups launch and then grow their applications on AWS. Lately, he's been emphasizing serverless architectures where he automates a whole bunch of things
Starting point is 00:02:27 and helps customers with some aspects of the same problem I deal with, the horrifying AWS bill. But before you did all of that, Ernesto, you were a manager, both at Accenture and AWS. So first, welcome to the show. Hi, Corey. Thanks a lot for inviting me. It's my pleasure to be here. And thanks for the intro as well.
Starting point is 00:02:48 So yes, I mean, before I used to work for AWS, but before I joined AWS, I used to work for global consulting firm Accenture for around 10 years, mostly in Vancouver, Canada. And I used to work mainly with large telecommunications carriers in Canada, basically delivering software in a lot of areas related to the telecommunications industry, like from customer care to billing to ordering, provisioning, and a lot of systems that are part of pretty much any national telecommunications carrier. The cool part about that is something that I had exposure to, basically systems that
Starting point is 00:03:32 impact millions of people. Telecommunication companies, of course, they do have millions of subscribers. They run a lot of critical systems that cannot go down. And that was something that I enjoyed a lot, like being part of delivering software in that type of environment. Eventually, I was responsible for leading the performance test practice with one of our clients. So that basically means running all these validations
Starting point is 00:04:04 and inducing load on systems before any type of feature goes live to make sure that basically things don't crash once they go live in production. Before I decided to join or to apply for AWS in Vancouver, that was back in 2013. Amazon expanded into Canada and into Vancouver specifically. So they did open a development office in Vancouver for many areas of Amazon, like for the e-commerce side, and also for AWS. So you wind up joining Amazon in Vancouver. And then the burning question I'm sure most of our listeners are going to have, I know
Starting point is 00:04:52 that I do, what product can we blame you for? So I was part of the Simple Workflow team in Vancouver. At that time, there was a development team in Seattle, and we started to build a development team in Canada as well. But yes, that was mainly the simple workflow product. And I was also involved with this feature called CloudWatch Actions, which you might be familiar with it. It's basically a way to react to specific alarms in CloudWatch.
Starting point is 00:05:32 So you configure, let's say, an EC2 instance or an alarm in an EC2 instance such that when the CPU utilization goes beyond, let's say, 60% or whatever percentage, you can do things in response to that alarm. So there are things like stopping an instance or rebooting the instance or terminating it or things like that. So I was responsible for features
Starting point is 00:05:58 related to the CloudWatch actions as well. And as a software development manager, you're also responsible for operating services. So you're part of the whole escalation chain whenever something goes wrong. And I was part of that. I was involved in many operational resolutions as part of the simple workflow team
Starting point is 00:06:22 and also as part of a CloudWatch actions. That was probably one of the simple workflow team and also as part of a cloud watch actions. That was probably one of the areas where I learned the most, really, when it comes to how Amazon does things, like how Amazon operates their services, how they keep the lights on. Fairly well, generally speaking. Absolutely, yes. Like really the level of discipline and processes and basically, you know, the willingness to recognize when something is not, you know, right. And, you know, just doing the right thing to fix any type of issues. It is really outstanding.
Starting point is 00:06:57 And that's something that really changed the way I see how a system should be operated. And a lot of those principles are transferable to a small company that's running a small system or to a large enterprise that is running a multimillion-dollar type of application. So that was something that I really, I would say I enjoyed to learn that. It's also very challenging to be part of that type of environment that is very demanding in terms of the high standards
Starting point is 00:07:30 when it comes to maintaining operational excellence. Yes. One thing I find interesting is that after you left AWS, you became an independent consultant. I do the same thing. But whereas I focused on, instead of being broad in AWS across a very specific client niche, as you have, I focused on solving a very specific problem that then tended to map to AWS customers of all sizes.
Starting point is 00:07:57 There's nothing right or wrong with either approach. I'm just curious about how you wind up viewing your work in that context. Yeah, so you're right. There are two different approaches, right? I think in general, the important thing is to specialize on something very specific within the AWS ecosystem. With over 120 services, if someone claims they're an expert in all of AWS, they're lying.
Starting point is 00:08:21 No one has that all locked in their head. No, absolutely not. I mean, there are a number of principles that you need to apply when you design an architecture. There are a number of what I call foundational services that you must know, right? Those are the must-haves, right? Like the S3s, EC2s, all that type of stuff. Yes, there is a foundation. But then somebody who says that they know every single service, I mean, that's just not possible. So the important thing, in my opinion, is to really focus on one area, either a technology within AWS, or in my particular case, I focus on a particular segment, on a particular market. And in this case, I work with typically small to medium startups.
Starting point is 00:09:07 The way I segment my market is basically those companies that spend between $5,000 and $25,000 a month in AWS spend. So that covers a certain rate, a very specific range of companies. And I arrived at this number and this market just basically by talking to people. So when I was starting my own practice and I just basically spent a lot of time reaching out to people everywhere, people I knew, people I didn't know. And, you know, many of them were generous enough to give me, you know, half an hour of their time and, you know, tell me about their specific problems. And, you know, I arrived at that conclusion, right?
Starting point is 00:09:51 For my particular goals and my particular case, I decided that that was the market that I wanted to tackle, right? And, you know, so far, that's something that I have enjoyed a lot. I do enjoy working with these types of companies. Something I really like about it is that I get to talk to the decision makers right away. So typically within this segment, right, I end up talking to, you know, the CEO, technical founder type of person, right, or the CTO type of person. And, you know, we have a conversation, we talk about, you know, the different needs, I come back with a proposal, and we have, we make a decision, right, or they make a decision
Starting point is 00:10:38 right away. So, you know, basically, the sales cycle is very, it's very efficient in that case. And that's something that I enjoy, right? And not only that, any, not only the sales cycle is very efficient in that case. And that's something that I enjoy. And not only that, not only the sales cycle, but the delivery cycle as well. I get to talk to decision makers. If something needs to be done, the decision gets made fast. So that's something that I enjoy. I get to make an impact on businesses for the impact, a significant number of people,
Starting point is 00:11:11 and also that impact substantially the business owners and their customers. So I do enjoy working in that type of environment. It definitely seems like it has a certain, I guess, panache to it. What I find interesting, and first brought you to my attention is you wound up having a fascinating article, and I'll throw a link to it in the show notes, on effectively where you wind up discussing a variety of services in a multi-cloud context versus basically on an axis of how easy it is to migrate off of them. I'm oversimplifying to a point, but that effectively is something I hadn't really seen before as we
Starting point is 00:11:57 have these ongoing debates about, oh, should I prepare to go multi-cloud? My default response to that is generally, no, go all in. And instead, if you need to migrate multi-cloud? My default response to that is generally, no, go all in, and if you need to migrate later, deal with it then. You take a more nuanced view. Can you talk about that a little bit? Yeah, absolutely. So when you're designing a cloud architecture,
Starting point is 00:12:21 there are a number of factors that you have to consider. So in many cases, I'm a technical guy. I, you know, it's kind of in my nature to try to jump in, to, you know, start to think about things in technical terms, right? And particular AWS services and things like that. But that's something that, you know, you have to be, it has to be decided in a careful way before you get there. So you really have to understand before you do any of that, you really have to understand the business that is behind those systems, right?
Starting point is 00:12:50 So any system that you design exists for one reason and one reason only, which is to support a business, right? So that's kind of like the context that I try to bring into the whole process. So at some point, you're going to think about the services that you're going to use. And then the important thing is you have to think about all the different factors, all the different features, all the different things that are associated to that particular service and make sure that they are right for that particular implementation. So one of the things, and you're referring to this diagram, right? The Quadrants of Doom. I don't like the name.
Starting point is 00:13:33 Well, anything else, you have to be careful. That might be Magic Axis of Doom or something, because I'm sure the word magic, quadrant, and probably doom are still trademarks of Gartner. Yes. Okay. So it's essentially, let's call it a little, you know, XY axis chart. Let's take a look at something that is very important when it comes to using a particular service, which is the vendor lock-in. A lot of AWS customers are concerned about vendor lock-in.
Starting point is 00:14:06 And justifiably so, right? You're moving your application to this cloud provider, and you want to know how difficult it will be in the future to move somewhere else, right? If for whatever reason you need to move. So that's an important thing to consider. And yes, a lot of customers are concerned about that. They see that there are a lot of cool features,
Starting point is 00:14:31 a lot of cool products in AWS that result in a heavy type of vendor lock-in. So that's why I've been thinking about that. So from an application owner point of view, there are probably more variables, but there are two that I find that come up regularly, which is my code and design. So how much changes do I need to make in my application if I want to migrate out of AWS? So those are two factors. And there are services, you know, and they live in different parts of this spectrum when it comes to complexity. So for example, there are services where it's going to be relatively easy to migrate out of AWS. Like there's basically nothing that you
Starting point is 00:15:19 need to change in your code or, you know, nothing you need to change in your design. But there are services where, you know, you potentially need to rewrite the whole application if you want to move out of AWS. So it's important to understand that, right? And I mean, there are some examples, you know, I can mention some examples of services where, you know, it's relatively easy to move in and out. So for example, RDS. RDS, I find that that's a service that is, that one's easy to move in and out. So for example, RDS. RDS, I find that that's a service that is,
Starting point is 00:15:47 that one's easy to move out of AWS. You're using MySQL or SQL Server, whatever database engine that is available. That's not a big deal for your application. You don't need to change a lot of code. You just basically need to change some config files and you need to migrate your data out of AWS. I mean, that could be a considerable task.
Starting point is 00:16:10 But from your code perspective, you don't need to change much. But then there are other services, for example, Lambda, which I mean, I love Lambda. I use it all the time. It's one of my favorite services. But that's a service that if at some point
Starting point is 00:16:26 you want to migrate out of AWS, you're going to have to redesign a lot of stuff and you're going to have to rewrite a lot of code, most likely. So you basically need to be aware of those, what it would mean in the future if you want to move out of AWS potentially. Absolutely. And that's part of the challenge, I think,
Starting point is 00:16:48 that people wind up missing at times. There's a question of what is the eventuality you're aiming at here? Is it if you want to be able to move strategically down the road, if a provider does something you don't like? Well, spoiler, everyone's going to do something that you don't like sooner or later. Are you doing this because you think it's a best practice? Well, maybe that makes sense for certain workloads,
Starting point is 00:17:10 but for others, it slows you down because you're not able to build on top of highly differentiated services in some cases. Not every workload needs that as a design objective. It doesn't make sense for an awful lot of stuff. If it's life-sustaining, yeah, by all means, go for that. If it's something that just ties back to, well, we read it in Gartner, and it's very important that our nonsense Twitter for pets service be up even when AWS is broken and on fire,
Starting point is 00:17:36 maybe that's not necessary. Maybe it's really expensive. Maybe the internet is better if your crappy service is down for a few hours. I mean, there's a lot of different things that tie into this. Yes, that's correct. The important thing is to know in advance, right? To make an informed decision, right? As you enter AWS, at least you know, okay, this is what I signed up for and I'm okay with it, right? You know, the worst thing that can happen is really to get a, you know, to be surprised by it, right? You know, the worst thing that can happen is really to get a, you know, to be surprised
Starting point is 00:18:06 by it, right? Like further down the road if, you know, if you decide to move out of AWS. So that's an important thing. Now, so that's related to vendor lock-in. There are a number of other factors too, right, that you have to consider before choosing a particular service. And even if it's a service that you're familiar with, so let's say EC2 or Lambda,
Starting point is 00:18:30 very popular services that a lot of people are familiar with, you still need to evaluate that particular service in a lot of different areas and make sure that it's going to support your particular business case. So I recommend to do this process for every service that you include in your architecture, even if it's a service that you are entirely familiar with. Because, again, you have to evaluate the service within the context of a particular business case.
Starting point is 00:19:06 So there are things like the available regions, for example, right? Not all services are available in all regions. There are areas related to performance and scalability, like service limits, for example. You know, there is a number, there are a number of service limits in AWS. Some of them are, you can increase them if you submit a support request, but some of them you cannot, right? So you have to be aware of those service limits as well, again, as they relate to that particular business case. And, you know, those are some examples, right? The scaling, right?
Starting point is 00:19:42 How does scaling work in this service? Is it done automatically for me? Is it done, you know, do I have to explicitly configure it somewhere? Or is it going to be difficult to provide some sort of automated scaling mechanism? So those are things that you also need to be
Starting point is 00:19:58 aware of, right? So what are the failure scenarios, right? Like, what can go wrong? And if something goes wrong, how is it going to be rem failure scenarios, right? Like what can go wrong? And if something goes wrong, how is it going to be remediated, right? So those are things that also it's just important to go through those scenarios. Again, even if it's a service that you're familiar with, because again, it really depends on that particular business case. And that makes it more relevant. So there are a number of factors, right?
Starting point is 00:20:28 There's, of course, authentication, security. There's encryption addressed or not, those type of things, right? There's also one area that I really like about AWS. In the past two years, I think AWS has really developed this concept of like built-in, what I call built-in integrations, right? So now you see there's a big ecosystem of services that integrate with each other, right, very easily. So for example, a good example of that is CloudWatch Events, right?
Starting point is 00:21:03 You can automate, you know, you can basically detect all these events that can happen in your AWS resources, and you can trigger responses, right, for those events. So those are built-in integrations, right, that are very useful. Lambda itself, right, as a service, it has a lot of very cool integrations with a number of services out there. So that also makes, it increases the potential for a number of use cases. It simplifies in many ways how you automate certain processes. So those are things as well that are important to consider
Starting point is 00:21:40 when evaluating a particular service. What are the built-in integrations that are out there? There is the monitoring as well, right? That is an important part. So what metrics are available, like, for that particular service? So, for example, EC2, yes, it has a number of very useful metrics, but CloudWatch does not publish memory metrics. So it might be the case that it's necessary that you monitor memory and you have to be aware.
Starting point is 00:22:12 There are ways around that. You can still get memory metrics if you use the collective plugin, but you just have to be aware of all the different things that need to be in place in order for you to use a particular service in an optimal way. And again, I'm just trying to emphasize this, which is as it relates to a particular business case. So yeah, so that's basically, I think I expanded a bit on all the different areas that I find relevant when it comes to choosing a particular service.
Starting point is 00:22:49 No, I think you're largely right on this. So it feels to me, and this is overwhelmingly cynical, that the reason a lot of companies are pushing for a multi-cloud narrative is because even as an Amazon partner or a partner with any of these large cloud providers, if you're all in on a particular provider, you probably don't need too many partners to help you out. Whereas if you're disambiguating between multiple providers, there's much more of a story there. So to that end, I'm not an Amazon partner. What's your take on the entire program?
Starting point is 00:23:24 Well, I think being an Amazon partner, I think it does have some advantages, meaning that you're part of the partner ecosystem. You know, there is a partner portal. You have access to a number of resources. You basically gain visibility as well. I know that many potential customers, they do search in the partner network for specific skills and areas of specialization and all that type of stuff. So it does gain visibility. It does help, I believe,
Starting point is 00:23:59 the business for a particular partner. So basically, what I see as, you know, the main advantages. Now, is it worth the process? I think it is, right? It does also, you know, help with gaining, you know, a certain degree of credibility, you know, when you get, you know, the Amazon partner batch, right? So I do believe there are advantages to becoming a partner. Now, that being said, is it essential to become an AWS partner in order to have a successful business practice that is related to AWS?
Starting point is 00:24:40 Maybe not. Maybe that's something that could be debatable. So that's kind of like my high-level answer to that. And I agree with what you're saying. There's also the challenge, of course, is that the way AWS is built, it's almost a microservices organization comprised of tiny startups
Starting point is 00:25:00 that are all building products that wind up, some of which see the light of day, some of which don't. It feels like Amazon's product strategy is yes. And as a result of that, we're very often in a scenario where a lot of partners as they exist today will not likely have viable businesses in three to five years, where the native platform provider starts to offer a whole bunch of different things that until now you need to go with a third party for. A great example of this in an area near and dear to my heart is understanding the bill. I feel like on some level, if you're coming at this from a perspective of, I guess, aiming at explaining people's Amazon's
Starting point is 00:25:40 bills to them in return for a percentage of the bill, that's an enormous pile of money for something that, let's be honest here, Amazon is failing its customers by not providing natively. I don't see that that gap is going to continue to exist in perpetuity. Amazon does listen to its customers, regardless of what other faults you can attribute to them. And I think if that's your entire business story, there isn't a great narrative there. The way that that starts to work is if you start trying to say, okay, we're going to categorize all of your cloud providers in the same way and give you a single pane of glass from an economic point of view, that tends to be a little bit more differentiated and is probably not as susceptible to disruption from the underlying provider. But that's my personal hobby horse. I don't necessarily know
Starting point is 00:26:22 that I'm right, and I don't necessarily know that other people will agree with me. In fact, I know for a fact some people disagree vehemently. I see. So basically it comes down to, as a service provider or as a technology provider, are you going to compete against Amazon? And that's a very scary question, I think, from my point of view, and many people would agree with that, right? So how can you compete with Amazon? In my view, I think there are certain areas where it is feasible to compete against Amazon. There are areas where I think it's a losing proposition to compete against Amazon.
Starting point is 00:27:01 So let me start with those. I think that competing on cost, availability, scalability, and security, if you're going to take one of those areas and try to compete against Amazon, you're probably going to lose. You probably don't have the army of talented engineers that Amazon has in order to ensure availability, you probably don't have all the experience and all the data that Amazon gathers to improve the operational procedures and make sure that availability is top-notch. Same thing with scalability. You probably don't have the resources to provide all these data centers and scalability tools
Starting point is 00:27:41 that Amazon can provide. When it comes to security, it's also going to be very difficult, right? Security is the top priority at Amazon. They have, you know, extremely talented and experienced engineers, right, that, you know, make security, you know, the top priority. And they specialize, you know, that's what they do. It's going to be very difficult, right? Amazon also has exposure, right?
Starting point is 00:28:06 It's a very visible technology out there, right? It has exposure to a lot of security-related, you know, topics and data. So it's very hard as well that, you know, that you're going to be successful, right, if you compete against, you know, in security against Amazon. So those are areas that I think, you know, I wouldn't focus on those. However, I believe there are some areas that where people can compete against Amazon. And so basically it comes down to like a little bit of understanding how, you know, how Amazon grows. Right. You know, there is this concept of, you know, the flywheel of growth, right?
Starting point is 00:28:46 That, you know, if you read, there's a lot of information out there around that. So basically it comes down to expanding the selection of products. You know, that's something that, you know, Amazon as an e-commerce store has, you know, grown based on that principle, right? The more selection there is, the more customers come to your store, and it just kind of creates a virtuous cycle of growth. And the same principle is applied to AWS, right? There are just a number of new products announced all the time, right? There's a lot of innovation happening, right? The pace of innovation just hasn't stopped. It has actually increased.
Starting point is 00:29:27 So the thing is, there is all this, you know, all this machine, all this flywheel, right, of selection, but which is great for customers, right? But the thing is that everything comes at a cost. So I believe that when, as an organization, you're focused on adding more things, more products, more features, there are certain things that are going to suffer. And I believe that user experience is one that I believe is lacking in some areas in AWS specifically. So, you know, it comes down to having a friendly,
Starting point is 00:30:06 a user-friendly way of interacting with the different services. If you go to the AWS console, you're going to see that there are many products out there, in my opinion, that, you know, they're just not that user-friendly, right? It's, you know, it's not easy to, you know, to sometimes understand the, you sometimes understand the GUI. There's no consistent user experience.
Starting point is 00:30:30 So there are a number of things that just basically, I think, affect the user experience. So I think that's probably one area, which comes down really to simplifying AWS. So if as a partner, you are building either a service or a product that focuses on simplifying AWS for your users, I think that's an area where you can actually succeed, where you can actually compete against Amazon. Now, there are other areas where I think you can also compete. And like I mentioned before, Amazon expands in a horizontal way, right? It adds a lot of products. It adds a lot of features. But I don't believe that necessarily grows in a vertical way as fast as it does on a
Starting point is 00:31:23 horizontal way. Meaning, there's a new product. There are new products all the time. On day one, you know that that product is going to be secure. You know it's going to scale. You know it's going to be available. That's great. And you're going to have something useful. But the thing is that it's not going to have a lot of features. And sometimes you can actually compete on basically adding more functionality to those types of services.
Starting point is 00:31:53 And I believe that see how different products evolve. You know, they eventually add features. They eventually, I mean, they do listen to customers and they do add features. But I don't think that it happens at the same pace as, you know, new products, you know, the way new products are added. So that's probably one area as well where, you know, it might be a success story, you know, there to basically, you know, if you have to compete against Amazon, maybe that's one area as well. Right. have to compete against Amazon. Maybe that's one area as well, right? Just basically pick something very specific and just make it, you know, make it perfect for your users. And that would be also one area where I believe it's possible to compete. There's another one, there's another area, which I believe it's probably the most difficult one. I mean, but it's still feasible, right? Like in
Starting point is 00:32:44 this category of areas where you could actually compete against Amazon, it's probably the most difficult one to get it right. And I'm talking about performance. Amazon, like I mentioned, security, availability, scalability, that's great. But when it comes to performance, I've actually seen in some services that performance could be improved. And in some cases, there are products that can offer very good performance and even better performance compared to Amazon. Maybe not by a lot, but to a degree where it's noticeable
Starting point is 00:33:19 to customers. And I've done a few benchmarks on, you know, a few tools out there in the market that do offer better performance. Now, the thing is, that's a difficult one to do, right? You need to make sure that you have a very talented engineering team, right? If you have that, right, if you have the technical skills, if you have, you know, very deep expertise in one particular area, right, that is related to performance and you have some solution, then it's possible to improve or to offer something that delivers better performance to customers. But like I said, that is a
Starting point is 00:33:59 difficult one to do. So those are the areas where I think it's possible for some partners to compete and to survive and even thrive in the long term, in a world where you're right, Amazon is going to become your competitor sooner or later. Right. I went a bit of a different direction where I figured the one market Amazon is never going to get into on purpose is self-mockery. So the newsletter being sarcastic and taking swipes at them from time to time is something that feels like it's going to be something that continues to add value down the road. Slightly more seriously, they're very excited about how many feature enhancements they're releasing and how it's constantly growing all the time but if you follow that to its logical conclusion you'll wind up with
Starting point is 00:34:50 someone whose full-time job 24 7 is to talk about the things that they're releasing and that's not sustainable people can't keep this stuff straight so there's always going to be a to some extent a market for summarizing the things that matter coming out of AWS. And there are a bunch of cottage industries like that. I mean, is this going to turn into a business for 500 people? Probably not. But it does wind up serving as a somewhat interesting model for individual types of, I guess, for niche markets, for independent consultants like I am. I would be a little more worried if I had hired a staff of 400 people whose full-time job it was to track these things, to provide services around AWS,
Starting point is 00:35:33 just because it's difficult to predict what Amazon is going to do next. Yes, I do agree with that. I think that's aligned with this idea that you basically take a niche, you take a very specific area that is related to AWS. I was talking more about technologies, right? But you're right. I mean, in this particular case, just basically keeping track of all the different things that are announced by AWS, right?
Starting point is 00:36:00 And just putting them into the right context and reaching the right audience and things like that. That's a very valuable thing for a lot of people. So yes, I think you're right. That is a very good niche to focus on. Well, we're going to find out one way or another. So what have you been working on lately? Where can people go to see examples of your work?
Starting point is 00:36:21 Yes. So, well, I have, there's my website, concurrencylabs.com. I'll throw a link to that in the show notes. Yep. I mean, I do publish articles regularly. You know, there is one thing that, there's one project that I've been working on, which is called Mycerbot. This is a Slack chatbot that basically monitors your AWS cost. So one of the problems I've seen when talking to customers is a lot of them, they're really scared about cost
Starting point is 00:36:54 and they're particularly scared of getting a bad AWS billing surprise. Meaning that one month you get like $10,000 of unexpected cost and things like that. Right. For at least for the customers I work with, it is a real thing and it does happen and I've seen it happen. But the thing is that monitoring AWS cost is not as I mean, it's not as simple. It's kind of a tedious task, to be honest. There are some tools out there that can that can help you with it.
Starting point is 00:37:24 I mean, you can go to Cost Explorer in the AWS console and you get some nice graphs and you can see how much you're spending. That's cool. But do you really want to do that every day and go to the console every day to see how you're doing with your AWS spend? Probably not, right? That wouldn't be a very good use of your team's time. So that's one alternative out there. Then you have billing alerts. And, you know, billing alerts, they're good. You know, you can set up as many as you want. You know, you get an email or $10, $20, whatever the number is. That's cool. But that only tells you when something bad already happened, right? And again, it also depends on you proactively configuring all those alerts. And they don't tell you much.
Starting point is 00:38:17 They just tell you that you exceeded a particular threshold, but they don't tell you more. So that's another option out there. Then there are a number of tools too. Some of them are very sophisticated and they're very cool tools with very nice dashboards. And, you know, they allow you to keep track of, you know, multiple accounts, multiple users and multiple things. And they're awesome tools, but some of them, you know, they start at a few hundred or even thousands of dollars a month, right? If you want to take advantage of that type of monitoring. And that works for a lot of customers of AWS. And that's cool.
Starting point is 00:38:57 But that doesn't necessarily work for a segment that I work with. People, I've been hearing their concerns. So that's why I created this chatbot. So basically what it does is that it gets your cost and usage reports from Amazon and it analyzes those reports on a regular basis. Like basically as soon as AWS publishes a cost and usage report in your account,
Starting point is 00:39:29 the bot takes that information, it analyzes it, and it sends you a notification to your Slack channel. So it tells you, so far your accumulated cost for the month is X. And then you can drill down, right?
Starting point is 00:39:44 It doesn't only tell you your current cost. You can actually drill down and get some additional information, such as your top services, right? It shows you some graphs as well. It can also show you the usage types, because sometimes you might get that S3, I'm spending a lot of money on S3, but what exactly on S3, right? Could be the storage type, could be API calls, could be a number of things. So it also shows you the usage types.
Starting point is 00:40:14 And there's one feature as well. It shows you the actual resources that are incurring the most cost for you, right? So basically a particular instance, EC2 instance, a particular S3 bucket. So those types of things. That's actually something that you don't get in Cost Explorer. In Cost Explorer, you only get usage types and you get services, but you don't get the specific resources. So that's what the bot does, right? It just gives you on a regular basis, it tells you how much money you're spending. So basically there's no surprises there. And you can also configure the bot if you want notifications, you know, once per day, or, you know, as soon as a new report arrives, which is like three times per day, or weekly notifications. So, you know, whatever your preference is, you can actually get notified. It helps me a lot to basically keep track of my own cost in AWS. I've been able to stop some potentially bad surprises for me and for some of my clients.
Starting point is 00:41:15 And I find it like a lightweight alternative to many of these tools. And it really, at least for me and for many of my clients, it does solve that main problem, which is to avoid AWS surprises. And that's the biggest challenge, is that there's, especially in a build context, there's definitely an area of shock that winds up hitting these things. It's one of those unpleasant surprise moments
Starting point is 00:41:40 that just doesn't tend to work very well. So I think that there's definitely opportunity in this space. I want to thank you for taking the time to speak with me today. It's been fantastic hearing a little bit more about how you think about these things, where you come from, what you're doing, where you're going. Absolutely. It's been my pleasure, Corey. I do appreciate the opportunity to be part of this podcast. So thanks a lot.
Starting point is 00:41:59 Absolutely. Thank you very much. This has been Ernesto Marquez. I'm Corey Quinn. And this is Screaming in the Cloud. This has been this week's episode of Screaming in the Cloud. You can also find more Corey at Screaminginthecloud.com or wherever fine snark is sold.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.