Cloud Computing for Business People: AWS, Azure and GCP Explained | Scott Duffy | Skillshare

Cloud Computing for Business People: AWS, Azure and GCP Explained

Scott Duffy, Teaching 110,000+ Students Online

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
16 Lessons (1h 44m)
    • 1. What You'll Learn In This Class

      3:33
    • 2. Introduction

      2:21
    • 3. What is Cloud Computing, Anyway?

      6:42
    • 4. How is it Different than Web Hosting?

      6:33
    • 5. Cloud Jargon Buster: Public, Private, Hybrid

      7:57
    • 6. Cloud Providers: AWS, Azure, GCP

      12:16
    • 7. What are Cloud Services?

      5:25
    • 8. Tell Me About Cost Savings

      7:13
    • 9. Costs: Where Are the Hidden Traps?

      8:50
    • 10. Tell Me About Time Savings

      7:40
    • 11. Time: Tips and Tricks for Saving Time

      3:55
    • 12. Other Benefits Such as Availability and Scaling

      8:35
    • 13. Designing for The Cloud

      4:46
    • 14. Cloud Jargon Buster: Cloud-Native Apps

      6:48
    • 15. Security: Shared Responsibility Model

      10:40
    • 16. Thanks for Watching!

      0:53

About This Class

Increase the Chance of a Successful Cloud Project by Becoming Fluent in Cloud Computing: Benefits, Pitfalls, and Jargon

Are you in a project manager, product manager, SCRUM master, or other business role and wish you knew more about what the technical team is talking about? Do you wish someone would take the time to explain what cloud computing is, why it's great, and what to look out for when working on a cloud project?

This course is for people who are not programmers or network operators, but work in a technical environment, and want to learn more about the terms that technical people use.

The core course covers:

  • What is cloud computing?
  • The most common jargon terms you’ll face
  • Who are the big cloud providers?
  • What services do they offer?
  • The big benefits including cost and time savings
  • How to calculate cost savings
  • The new approaches to designing apps in the cloud
  • How to organize project teams
  • Common issues with migration
  • The shared responsibility model for security

By the end of the course, you’ll be more confident discussing the pros and cons of moving applications to the cloud with project and business teams, and understand the differences in the approach to projects compared with the traditional hosted applications.

This course is NOT for people who are already deeply technical from the development or operations side. Of course, I welcome everyone into this course equally. Just don't expect a deeply technical discussion of cloud computing. This course really does aim to simplify the jargon, terms and architecture of cloud computing as much as possible to allow business people and technical people to speak a common language.

See you inside the course!

Transcripts

1. What You'll Learn In This Class: project managers have it tough. You're expected to be on top of the budget and the schedule and act as a bridge between the Project implementation team and the business client, ensuring that everyone has what they need in order for the project to succeed. I want to help you to do your job more effectively by teaching you what the technical team doesn't have. Time to explain to you the basics of cloud computing. I've designed this course for any business professionals such as yourself, who wants to be able to understand the cloud without getting lost in the technical jargon or going too deep into the topic. If you learn a bit more about the technical side of project delivery, you can help your team get what they need to be successful and help your client understand the challenges the team is facing. Hey, I know how it is these days. There is so much that you need to know to be effective at your job. But so many of the resources out there are aimed at developers and techies and people who already have a solid foundation and technology. What about people like you? You're smart. You will learn if someone takes the time to explain it to you. But your time is valuable as well, and you don't need or want toe. Learn how to write programming scripts to auto make deployments and stuff like that. You just don't need that level of detail. I completely understand. After taking this course, you'll come away with an understanding of cloud computing platforms so that you'll know the benefits and the pitfalls. Be able to talk intelligently with both the technical side of your organization and the business side, and increase the chance of success for your projects. That's really what it comes down to, right? You just want to be able to understand what the developers air doing so that you could explain it to the client, which will result in a more successful outcome all around. In this course, like over, the basics of cloud computing for non technical people will cover the reasons why cloud computing is so great from the business point of view and point out some of those things that you need to watch out for. We'll cover those jargon terms like Public Cloud and Private Cloud, and you'll come away from this course really knowing what they mean. Since the course is focused on the project manager and the business professional like yourself, we won't spend time on code or onto figuring the technology. We'll leave that for others, but we will talk about the benefits of cloud computing. You'll understand where the cost savings come from and the hidden things that eat up your costs. It's not all sunshine and roses. Sometimes we'll talk about how much time you can save developing projects using cloud services as well as how much time you can lose if you don't do it right the first time. And finally, we'll look at the best way that you can set up your project toe work within a cloud environment and some of the common issues with migrating and existing application into the cloud. This course is designed to be bite sized so that it's delivered at exactly the right level that you need will cover everything that you need to know and nothing that you don't. If you're looking to spend a couple of hours becoming better acquainted with the cloud, this is the place by this course. Invest just two hours with me and you'll become better at your job and increase the chance of your cloud projects being successful. See you inside. 2. Introduction: thank you so much for signing up for this course on Cloud Computing. It is my pleasure to be able to talk to you today about how great cloud computing can be, as well as some real talk on things to watch out for. My name is Scott Duffy and I have more than 20 years experience working for organizations of all sizes. On the technical side, I've been a developer, a tech lead, a team lead and all the way up to running the development department. So I've had a lot of experience talking to project managers and other business professionals about what we and technology actually do. This course is designed to explain cloud computing to anyone who does not have a technical or programming background. Hopefully, that's why you're here. If you're a developer with several years experience working in the cloud, it might be in the wrong spot. I've divided this course into two major sections. The first section will talk about cloud computing in general. At this point, you might not even really know what I mean when I say cloud computing, so we'll start off with a definition of that. I also plan to explain the different models of cloud computing providers and what services you can actually get online. There are literally hundreds of services offered by each of the major cloud providers and is getting to the point where very few people even experienced techies like me. No, all of them well enough to talk about. But we'll dip our toe into that level that you need to know. Business professionals tend to care most about costs, time and things like business risk, so this first section, of course, addresses the effects of cloud computing. On those factors, the second half of the course will talk specifics about some of the issues that you're likely to encounter during the project. Whether you are migrating existing applications is the cloud or building new ones from scratch. You're likely to encounter some of these, and it's best that we talk about them before you do. This course contains a good mix of the theoretical understanding, as well as the very practical discussion on the realities of what you're likely to encounter along the way. I am so excited to have you here and thank you again for signing up. Let's get started 3. What is Cloud Computing, Anyway?: So let's start right at the beginning here. What is cloud computing? The cloud and cloud computing is one of those buzzwords that's used for various things, and it may not be 100% clear exactly what it means. The other part of that makes it confusing is that if you ask 10 people what cloud computing is, you might get 12 different answers. It's a very term that's very fluid and different. People have different opinions about this. I'm gonna look at cloud computing like a Lego factory, right? You can go into this big, gigantic building filled with millions of pieces of Lego. And they're all the shapes, all the sizes, all the colors, and each of them has a tiny, tiny little price on in fraction of a cent per piece. And someone says to you Now, go ahead and build whatever it is that you want. So you are basically the limits of your imagination and your time and energy, essentially to build whatever it is you want from that Lego factory. Now, sometimes there's pre built sections. There might be, you know, heads and arms and little bodies that you can add to your to your Lego dream. So there's there's lots of different options in this leg. A factory? Well, I think it's very similar to the way the cloud is right, so the Onley limit is your imagination. So if you go to a cloud vendor, whether it's, you know, Microsoft Azure Amazonia ws, you've got thousands of options, different shapes, sizes and colors of servers, solutions, etcetera. Then you use your imagination to build a computing solution that meets your business needs . If your needs change, it's relatively easy to add more pieces to it. Change parts, swap out parts, etcetera. There's also this component of only paying for what you use, whether it's by time or by consumption. But basically it's a rented model. You're not paying up front for that box of Lego. You're just renting the pieces. And when you say you're done, soon as you shut everything down and you delete everything, typically the BA costs stopped as well. So if you think of the cow, computing is like that leg a factory, that's really my best answer. So a cloud provider offers you thousands. You know more than 1000 computing services available for rent online you can have computer servers, which in the cloud space or virtual machines, networking, file storage databases and tons of innovative new services that you can't even think of. They provide these things for you to use as you build your own solution and you pay by the hour or you paid by the transaction. And it's basically a rental model Ron appeal. But wait, there's more. Okay, if you act now, I can throw in the following benefits absolutely for free. So if you think about the traditional computing model, typically you're going to need to go and get $50,000.100,000 dollars. You're gonna have a large capital expenditure to purchase computing services, services and being servers up front in the cloud model. You do not typically use a capital expense for this. It's basically a service model. You no longer need to have staff or yourself worry about the installation of these machines , the upkeep of them sort of maintenance and defraying the hard drives and all of the networking and cabling and air conditioning on power that these servers need to run and a lot of people use data centers and that's gets outsourced to there. But all of that stuff is no longer your responsibility. They also take care of you and physical data center security. I can remember working in an office. I knew where the development servers were. If there was ever a problem, I would head back, talk to the I T people. They would card me in and I had access to a dozen servers. They would just leave me to myself. Now, of course, your trust your people. But you can't do that without you. You can't just walk over there and say, Listen, I need toe get into this server here and just leave me alone. Thanks in some cases will take care of the encryption for you. So now not every service's encrypted by default. But increasingly, these cloud service providers are requiring a C two B s or they allow you to enable issue to pass required for access to other services, and they'll have actually store the data on that hard. This in an encrypted format, will take care of that encryption for you. So not enough everything. That's why there's an Asterix. But for a lot of things, that stuff gets taken care of they. Also, for some services, you don't even worry about the servers. Cloud providers worry about the performance, so you given their code and they will run the code, and you do not have to react. If the CPU starts to get high, they'll automatically shift resources around to get that code running to a level of performance. The other benefit is there are hundreds of data centers around the world for all of these providers, and so you can actually spread your applications and spread your code into South America, North America, Europe, Asia. You know, India, Australia, all of the places of the world. So you get your applications closer to the people that use them, reducing the chances of lag late and see downtime. Exception. So the end of this video I'm gonna do a T L d are trying that for every video, basically, what is cloud computing? Computing provides an unlimited a truly unlimited amount of computing services that you can use to build your own solution. There's also innovative new services that you would never be able to run within your own data center within your own corporate servers, etcetera. So there's additional things that are just Onley provided by the cloud. They also take over some of the responsibility of installation and management and maintenance so that you just focus on the code and we'll talk about that. We have a video coming up about that share responsibility model, and there's also this massive global reach that allows you to have a additional possibilities for accessibility and availability speed for all your mobile users. 4. How is it Different than Web Hosting?: So you may have watched that last video and said, Cloud computing, I've seen this all before. I've had a Web host for years and all of those sort of things you said pretty much applied in my Web host. And in this video, we're gonna talk about the difference between your traditional IBM and Rackspace and Blue Host thes typical Web hosts with the cloud computing model. So let's talk about what you get when you're doing Web hosting through what I'm calling the traditional model. If you make a contract with IBM and IBM hosts that your company's applications and servers , you're starting off with the long, long term contract. Typically, you're going to get a 123 year contract just to start that, you know, just to start the development with these people, right, so you're basically making a long commitment. You don't not have to make such a commitment to cloud providers. You can make a commitment and do some cost savings, but the by the hour by the minute model is pretty much their bread and butter. Oftentimes, you're also paying them up front in advance. So you go. You're hosting these saves so many $1000 for the one year contract. And you have to basically hand over the money or if you're getting dedicated servers or co located servers, you are basically paying them a fixed amount. They're gonna go to Dell. They're gonna provisions a server, they're gonna install it. So, um, cup preferred Catholics expenditures versus the monthly billing model. Pay for what you use model. It also takes some time to get up with them. So instead of being able to do everything yourself, it will go into the portal or the management website and be able to create resources. You basically need to contact somebody say I need another server, get the sign off, get the approval, get the budget, and the server gets order, etcetera. And, you know, weeks or months go by before you have a server at your disposal. They also have This may be the key part. One is the lot smaller selection of services. So if you go to Iraq space and you say, Well, I would like to get, you know, a I come and get a, uh, you know, image recognition bought, going while you're on your own. Will bill spending up a virtual machine, but they do not have the types of services for rent that Amazon, AWS and Google are offering in the cloud. Another feature is within these cloud environments is you can write scripts. You know when things happen when cp use yet too hot, you condone. Spin up some additional servers using using programmatic scripts. I believe with these cloud providers. Typically, you're you don't get a P I access to to start and stop servers. You're also we more involved with server up time and traditional hosting. I can recall getting a phone call at 10 p.m. On a Sunday night from Rackspace and being like, Who's is calling? Why's it so late? You know this. I'm kind of wary about answering the phone and then you answer the phone. It's like, Well, hello, sir, the Web server is not responding. Do you want us to reboot it? And it's You have to sort of check it on your real quick and say yes, go ahead and reboot it. I mean, you are typically more involved in making sure the server stays up, then with the cloud where they are entirely responsible in making sure the server stays up often times. There's no promise of performance, so they'll give you a server and a CPU, but any applications that you are on top of it, that's entirely your responsibility. And you know, a lot of said we said Cloud Cloud providers do provide some services that they consider. They maintain the performance, and you just worry about the coat. Um, but on the positive side, traditional hosting providers typically have a higher level support, you know, so you'll have someone to call if if there is a problem with IBM hosting, you'll get your sales rep on the phone. You'll get second tier support on the phone, and then they'll bring in the database guy on the phone. And so you got five IBM people on the phone with you When something serious is going on, I'm not. Maybe at the level with with Microsoft er, Amazon wearing, I don't know how that support burst of that level, but your pain when you're paying for just hosting with IBM, you're also paying for the brains of IBM and this level support that they're able to give you a za customer, you know. Ah and I would imagine it's harder to make expensive mistakes right where you spin up a server and you forget about it, or you spin up a new service that costs you thousands of dollars by mistake. Right? So the fact that you have to go through all these layers of approvals and the paperwork means that you're not gonna end up costing your company $5000 through some innocent miss button click right. So again with a T l d R. Right. So we talked about what cloud is in less video in this video. Traditional hosting providers. You look at them more like partners, right? You've when you bring them on, they're gonna be on that at that side of the phone in terms of developing the solutions, a longer term commitment. You do have to work with them in order to get things going. You don't have that self sufficiency, and they might do more to support you around the way if something goes wrong. But they're also less flexible in many ways. And one of the big features of cloud computing is the flexibility will get into that stone . And I've had vendors IBM being one specifically who told me No. I tell them to reboot the server and they say no. We're gonna wait until four other people get on this phone call, and then we're gonna decide, and then half a hour later, they still haven't done it. And it's like, Come on, just report the server. So I've if that's a good, that could be a good thing. That's not a bad thing. Unnecessarily, but there's less flexible, and they are also going to sometimes say no to you. When if he was just up to you, you would have you would have acted quicker, all right? 5. Cloud Jargon Buster: Public, Private, Hybrid: So let's talk about cloud jargon, right? One of the purposes of this course is to define some of these terms, and Teoh make it clear when you're seeing these things being talked about are being written what it means. So what? Let's start with virtual ization and virtual machines. I already dropped this idea of virtual machines early in this course, but what exactly is a virtual machine? Or when you turn the term virtual ization? So the easiest way I have to explain it is that you can imagine that there is a server, whether it is with Microsoft. For Amazon, there's a server installed somewhere in the world, and on that server is a piece of software that's called a virtual ization software. Now you may have heard some of these names of virtualization software, VM Ware being one of the most famous ones. Microsoft is called hyper V. Virtual box is by Oracle. These are virtual ization suffers that run on top of physical servers that's also called a hyper vice. So if you hear the term hyper visor, it really is that layer that runs on top of the physical server. Now what's running on top of that layer are the virtual machines, so you create one or more virtual machines on top of the hyper visor. Each individual virtual machine looks and acts and feels like a standalone server. You would if I logged you in to a Windows server running inside a virtual machine. You would have no idea that it was actually a virtual machine and not a real machine. You can't tell the difference. It behaves and looks and acts like a physical server. I drew this little diagram here just to drive the point home. The entire box is a server or a computer. You've got windows running on top of that in this example, could be linens. Then there's the hyper visor, the virtual ization software layer and then running. On top of that are multiple virtual machines and for its noxious. For you, it's gonna be for many other people. So other customers you don't know them. They don't know you. You've got your virtual machine, and when you're logged into your virtual machine, it looks accent feels exactly like a Windows server. You would not know it that you are not the only person running on this machine. There's no way for customers to access each other's data. It's all firewall enough blocked off. Okay, so that is a virtual machine is a slice of an actual real physical machine. Now, you may have heard this term the public cloud. Okay, so there's public clouds and private clouds. Public Cloud is actually what we typically think about when we think about the cloud. Right when we're talking about Microsoft Azure, we're talking about the public cloud. We're talking about Amazon AWS. Typically, we're talking about the public cloud so you can go there, bring your credit card, create yourself an account. I don't need to talk to anybody. Fire up some servers. You are running on the public cloud now. It doesn't matter whether you do not allow any other person besides yourself access to that machine. It's not the privacy settings off the server that matters. It is the environment, and you are running inside the public cloud environment. It's a place it's a destination. Essentially the opposite of a public cloud is the private cloud. Now the private cloud is typically you own the servers. Now we're going back to the traditional hosting environment. You've put up the $100,000 to buy some servers of the $1,000,000 to buy some servers, and they're sitting there in a data center that you control running powered accounts of the Internet. You're gonna use cloud software to manage them. OK, so you install. Microsoft provides one called Azure Stack, but you can install cloud software that makes your private cloud look and act similar to a public cloud where you can log in. If you have an account, you can fire up some new resources, create yourself some virtual machines, create yourself some load balancers, etcetera, etcetera. It looks and acts like the cloud. But it's your servers. No one else is allowed. There it is. It is private. Okay, so that's the difference between the public cloud and the private club. Now there's also this term called Hybrid or the hybrid cloud, and you can think of it as a mixture or a mash between public and private clouds. So you've got let's say you've got a very complicated, complex. Large application has several components. Some of them are running inside your private network, and some of them are running on the public cloud. So there is this mixture of public and private aspects where you're going to leverage like the public cloud has. Like I said, infinite resources. Either. You can never provisions enough servers to make them run out of servers, right? There's millions of them. So you're basically brush up against the limits of your account before you brush up against the limits of what they actually have. Selvey Public servers are plentiful, and the private service are private. Now we're talking about hybrid. We might as well bring in this concept of orchestration. I love this word. It's a beautiful looking word, a beautiful sounding word, but orchestration eyes basically the air traffic control, or the traffic cop that is basically coordinating different cloud components to be able to do their jobs. In a general sense, orchestration is a traffic cop and things common. Things go and it points. It tells this to go over here, and it's house that took over there. All it does is control. It's a controller, pretty traffic metaphor for you there. So when you're talking about hybrid cloud, of course, you've got some public components and some private components, and so you need orchestration to coordinate when traffic comes into your private network and when traffic needs travel into the public Internet to get to the public cloud. Now you also the same term. Orchestration is used for data loading, so there's a like in Microsoft Azure. There's a thing called data factory that hasn't orchestration layer that brings data from the outside into azure into, you know, a data warehouse and into power bi I for reporting. So the orchestration layer is basically following the data as it passes through several steps of the what's called Extraction Transformation and Load ET L. And thirdly, orchestration is also used in cluster computing buying containers. You've got orchestration as being the controller, where you've got 5 10 15 servers running the work and you've got one server. Acting is the orchestration, making sure all of the servers are healthy and the tasks are being delegated to the right servers. So those were the terms we'll talk about I'll doom or jargon busting throughout this course . But for now, public cloud private cloud hybrid cloud orchestration, virtualization covered a lot 6. Cloud Providers: AWS, Azure, GCP: So let's talk about the various companies that provide cloud services. Thes are the options that you have when you're choosing which cloud provider to go with. On screen is a graph that I pulled, showing the various market shares of these various companies. Now it's showing five companies, but there's way more companies than this. But here we are with the sort of the top five you've got a Amazon and Microsoft number one to IBM is now three. Go before Alabama. Five. You can see how far had Amazon's lead is. They're not really growing in market share, but they're not really falling, either. So there are able to hold onto their massive lead in the market. Let's talk about that. First, let's talk about Amazon Web services, which is abbreviated A. W. S. I took a screenshot of the Amazon website, and you can see the products, the services that AWS offers. There's just a lot of each of those icons, represents dozens of child services that are offered now. You might not even might not even click for you. But when I say Amazon Web services, yes, I'm talking about that Amazon amazon dot com This is the big daddy of the cloud space we saw. They have 33% market share, and it's not really falling too much. It was 34 became 33 but not not really following, and by most measures you could say they are. They are leading right. They are 12 years old, launched in 2000 and six. Now some of us like to look at Gartner's magic quadrant. I know some people to test it, but let's look at Gardner's Magic Quadrant now, if you haven't, if you're not familiar with it. The Magic Quadrant shows which companies are leading in the space and also are able to execute not only other their visionary companies, but they're also executing well. At the top right is Amazon. They are the one that is leading in the space, and they are executing The most is well. Microsoft is very close there, almost equal when it comes to vision, it's just that Amazon's able to execute a little bit more. You can see that Google is fairly far behind, and then there's a whole bunch of providers in the bottom left quadrant, which are falling behind. Okay, now, to name some of the services you may have. You may have heard these terms, E C two Is there a virtual machine service for AWS? So that's where you go to get. You want to create a virtual machine you want to go into easy to and spin up a new virtual machine? It could be a Windows machine or Lennix machine. Er, you can use it for whatever you wish. You can log into it and install software. Another popular services called S three, and that's their storage service. So if you need to store large files, large volumes of files in the cloud, then you may put them into an S three bucket. Finally, you connect everything with networks. And so they're VPC is a networking service that allows you to organize your PC two instances within AWS into networks and then on the networks. You can establish security. Let's talk about number two in the space Microsoft Azure. Now they said, they're clearly number two. There got 13% market share by some measure, and they are also growing faster year over year. So in the last few years they've been growing at a 100% year over year growth. I think aws to something like 60% growth in terms of total revenue, so their growth is currently faster than AWS. But they're they're starting to catch up. Barton point out that you may be using azure and not even realize it. So Microsoft runs many of its own operations on the cloud. So if you're using Skype or being our office 3 65 or any expects life, that's all being run within Azure Azure launched in 2000. Intense of there, a little bit younger, then AWS. But as you can see, Gartner is saying that Microsoft is almost as visionary as AWS in terms of their, um, the services that they offer are very robust and are going to get better. Also, to point out, Azure is almost everywhere. They have 54 regions of the world where you can theoretically launch servers. So if you are sitting in who has I am sitting in Toronto, Canada, I can launch service in Canada. I can launch service United States, but I can also launch servers in Europe. I can launch servers in Korea again, lunch service in India, Australia etcetera. Okay, so there there. I can literally it launched servers anywhere that I want in the world. Now, there's some limitations to that because some of these things are government servers, department defense servers. There are some restrictions in some places where you have to be a lookalike in China. I can't launch a service in China without signing up for an agreement with the Chinese government. So there is some restrictions in the world, but there are 54 places. Now let's talk about Google now. I'm not gonna talk too much about Google. They did launch into doesn't eight So the, uh, earlier than and then azure. But after AWS, you may have heard them called Google App engine. That was the first ah, thing that they launched in so you could give code to Google. Google would run it within their environment and they really went slow on this. Okay, I took them four years to add storage services to Google and to rebrand it as Google Cloud , they only have 6% market share if you if you calculated by that and I only sense that is the last couple of years that they started to wake up and realize that Amazon and Microsoft are so far nearly that they need to wake up to this so they're not famous. They're famous for a lot of things, but they're not famous as a cloud provider, and so they're clearly playing catch up. The gardener. Magic Quadrant prices them sort of in the center, which means they have a long way to go in terms of expressing a longer term vision for JCP , and they're not executing very well. Aziz. Well, so there's that. There's when you're considering cloud providers and you do want to consider Google, you should be a little critical of them. I found this this another gardener, Sly from this year, and it shows Amazon the left, Microsoft in the center and Google on the right. And at first glance, there's might be not much difference between these graphs. But we could see here that if you are looking at the Amazon Web services cloud, according to Gardner, the major score of 94% on the required criteria. Microsoft also has 94% on required criteria, but Google only has 80% and the terms of required things so and the preferred and optional items are also lower for Google than the other two. So we can sort of see that by some objective criteria. Google does not provide services that meets the needs of some companies. So let's sort of wrap this up. Right. So you've got a W s. You've got azure and you got gcpd New Google Cloud many companies. Google is just not a contender, so it's an AWS versus Azure decision. In fact, according to some surveys, 81% of companies that use have a cloud element used both right, so they have AWS and Azure, depending on the situation. It's very hard for me today to say one is better than the other even though AWS has a massive lead. If you look at these objective criterias aimed up, AWS and azure are very equal across the board in terms of ah, lot of the services that they provide the pricing and everything. The only criteria I could really give as advice is if you are a Microsoft shop, you use office 3 65 You use visual studio. Your developers are built into this Microsoft environment. It does make some sense to continue on and use Microsoft Azure. They do a really great job of integrating their tools like visual studio is integrated into azure pretty tightly, and you can do a lot of stuff with in visual studio without even having to go into the azure portal. So when you're doing a Windows sort of window solution of .net solution, you're using all the Microsoft tools. I think Azure Azure is a sort of most natural fit. On the other hand, Microsoft's playing a bit of catch up on the Lennox side. Now they're adding linen to virtual machines and Web APS containers, and all of these things are now supporting linens, but they are still a little bit behind. And so, if you are linens, shop or on open source shop and you're using open source tools and you're using Page P and you're not tied to Microsoft's tools and you don't plan to be a WalMart partner because I know WALMART says they don't work with people who work with AWS, then you might want to go with AWS. And like I said, it's very common for people to go with both. So to try to use this component here, and that component there. These cloud providers really want to lock you in right now. There are other options, right? We talked about AWS Azure Google. Rackspace has a cloud. HP has a cloud. IBM has a cloud on Alibaba. We talked about I can't speak to any of them, really? But I just want you to know, if you really, really want to go and do it an evaluation and you want to pull in all these other vendors, Maybe these other vendors will band over backwards to have you as a customer. So there might be some advantages there. This was a long one. Thanks for toughing it out, but let's do the tail D r T L D r stands for too long. Didn't read by the way, Google, Amazon. Microsoft are the three biggest cloud providers. Amazon and Microsoft are roughly equal in capability. There's minor differences, but if you did an objective comparison, it's very similar. Microsoft has the advantage in terms of growth, where, as AWS is the largest and many companies do choose a multi cloud strategy. One thing that I didn't really dig deep into is this concept of lock in where if you go into an environment to say, Go into full board into the azure world and you start developing for azure. It's very difficult to migrate from azure aws if you're not careful. All right. If you don't intentionally design your stuff for portability soon as you start using azure functions and you know, service fabric, APS and some of these really cool features a eyes ap eyes, etcetera. How are you gonna move? So lock in is a real thing that continues in the cloud world back from the desktop geese. 7. What are Cloud Services?: Now that we've looked at the cloud providers, let's look at some of the services that the cloud providers provide. So what do cloud providers offer? I pulled out this list of categories, so when you take a look at the services that they provide, you should be able to mark them into one of these categories, and there's quite a number of them. So there are 13 categories on the screen now. I'm not gonna be able to get into each of them because literally there are hundreds of them , right? So each of these categories has, like 20. Here's the compute category from Microsoft Azure, and you can see that there are something like 13 14 compute services that Microsoft puts under the compute name. And so for each of those categories, there are 10 15 20. We won't be able to get into all of them, but let's let's stop at this point and talk about a couple of jargon items. I don't want to get too far into it. You may have heard of this term I A s infrastructure as a service, So this is the concept that caught provider gives you access to a virtual machine, right? So it's either a winnicks Lennox machine or a Windows machine, and you can log into that machine and you could do whatever you wish with it. They just provide you the infrastructure. They provide you a network, and they provide your computer and you are responsible for everything else. It's a It's a freshly installed version of Windows AWS Pioneer. This idea of being able to rent a server with their easy to instance, but now of both Google and Microsoft also provide I A s services to you. The alternate to this is called P A s, which is platform as a service. You'll notice a lot of these jargon terms and in as a service. It's a very cloudy thing these days. Concept of a platform as a service or pass is that you give your code to the cloud provider . You package it up in a ZIP file, you include some instructions on how to run it, and they take care of running it. Okay, so Google app engine. Actually, if I think back was one of those first places where you just upload your cook your code and it'll run within Google's environment. Microsoft took that to a new level with their Web APS or azure app services. It's called where you can upload your code and do some really cool things with it. Okay, so you don't control the server. You don't even know what type of servers running on. You couldn't tell what? How many CP use have had etcetera. But this basically platform as a service. Finally, you hopefully have heard of this one, SAS s A s, which is software as a service, Probably the most common concept. But basically a company will provide you their application over the Internet. They don't give you a CD or a DVD. You don't download a file and install it locally. Whatever you need to do, you can do it online. Okay, So instead of having photo shop as a local program, you use can va as a software as a service. Other examples are like dropbox, where you can put your files into the cloud and Dropbox gives you a nap. So there is a downloadable component. But the APP itself is not doing most of the work. Slack is another one. There is an app component to it, but the slacks service runs over the Internet and that suffers a service in the cloud of provider space. What we've been talking about there are database services called Azure Sequel Database. So Microsoft's providing you databases a service. You never need to upgrade it. If there's if there's a patch, you'll never know about it. Because Microsoft maintains the application on their servers, AWS has RDS, which is a similar feature, a database as a service. So wrapping up this section on Cloud services, there are literally 1000 cloud services that are provided. I was talking to someone from Microsoft just a week ago, and I said, Yeah, there's hundreds of services. He goes. No, they think bigger. There's 1000 services of Microsoft Azure and these services go everything from these computing services, database services, their security type services, networking, many different categories. And there's dozens of these services inside each of those Each year, when they go to their annual conferences, they come away with 10 or 15 new announcements with a bunch of names that you'll never remember. Okay, so if you hear about something, then it's probably just another one of 1000 services offered by these cloud providers 8. Tell Me About Cost Savings: let's dive more into the features and benefits of the cloud. So one of the primary benefits of running your applications in the cloud are the cost savings. This is really is the big advantage when you're first thinking about going. The first thing that the the Finance Department wants to know is, how much are we going to save by moving from IBM hosted servers into the cloud? So Big Dollar sign. Let's give you an example, right? So if I was to go, I could get a Windows server that I could start up, do whatever I wish with it. Infrastructure as a service at two cents us per hour. Okay, so that's about 50 cents a day, or 15 cents a month. I can get Olynyk server even cheaper because of the Windows license, so I could get a window Olynyk server. Very basic extra small server for 1.5, you know, pennies per hour. Now there's air not necessarily production level servers, thes air, very slow and resource constrained. But even just to get a production reasonable server, it's about 25 cents an hour. So, Ganis, about $12 a day, right about $300 a month for $400 a month. So that's that's a reasonable, reasonable expectation for pricing. There's not just servers, though, right? Remember we said in the this leg a factory that every little thing had a little tiny price on it. So you can't just get a server. You also need storage for those things on the server, and so storage costs two cents per gigabyte per month. Something like that, that's a example of a price. So the reason why it's so cheap is that Microsoft and Amazon and Google they are much, much better at saving money on servers than we are. They can get the servers at the best possible price. They can locate them in the building. In the best geographic graphic regions, they can acquire power at the cheapest levels. They know how to get the most computing efficiency out of every jule of power that comes through the power cable. So they are obsessive about getting prices out of their system, us getting costs out of their system and so calm providers can provide this so cheap because they do such a job and reducing costs. The other thing that makes a cheap for you is that's typically rental, model and pay for consumption model. And so you're only paying for what you use in a traditional hosting environment. You go out, you get a server. That server might cost you $1000 a month, and if you run nothing on it all month that you're still paying 1000 if you're running it up to the maximum, you're still paying 1000. There's no difference in cost, depending on how much you use that server. But with the cloud environment, you have the flexibility to grow and shrink your computing usage based on your needs. They also have, like, per second billing. In a lot of cases, right AWS will charge you to the second. Microsoft will not only charged with second, they'll round it down to the nearest minute downward. So if you use the server for a minute and 1/2 they only charge you for one minute. So there's this really real competition for thing, but it's really efficient. Assumes just don't need something. You turn it off and you save money. That's that's one more. The other model is, you know, say like you give them your code and they just charge you every time it runs. And so you might get ah, Penny every 1000 times that your code runs. And so if you've got an application that may only run ah, 100 times a month, it's a extremely cheap to run this application on consumption model. It may even be free. There are free levels, at least within Microsoft azure, below the number of executions where you don't get charged at all. So if you go back to this cost advantage instead of having to come up with a $1,000,000 theoretically in Kabul expenditure for a new data center or for some upgrades to the existing hardware to re up your contract with Microsoft, whatever IBM, you go to a rental model for your computing services. You also implement things that allow you to remove the excess computing power. So maybe in the old model you had four servers and set of three because you figured that within 12 months your application will grow and you're really going to start to need that fourth server. And so you set things up in advance, anticipating growth with the cloud, then you basically grow in a second within minutes of needing to grow instead of months. And there's also other services that Microsoft and AWS offer that you can use, like thes database or their stated based services that save you tons of money instead of having to rely on a database server using the traditional relational database model. So there's just lots of ways to save money. If you take advantage of it. I have seen cos I work to companies where they had in expected savings of 50% of their I t spend moving from a hosted model into the cloud, right? That's the order of magnitude that we're looking at. I'm not promising it to you. I'm just saying initial. When you sit down and you do the math, how many servers do you need? You know how much networking to need, etcetera, etcetera, though cost savings are at that magnitude. And then, of course, it's not magic, right? You don't you don't just turn off your hosted solution yesterday and be up and running on the cloud today, you do need to invest some money in a project to migrate to the cloud will talk about migration later in this course. So the tlg Our summary of this is that you can get computing services for literally pennies per hour, prices on storage and data bases and networking and all the summer, all similarly cheap. The cloud providers can run servers much, much cheaper than you can possibly hope to run them on. If you implement techniques to scale your services manually, our auto scaling you can actually minimize waste. So there's a concept of waste where you have seep use that are not processing any work for you, and it's just sitting there being wasted. I can't get rid of all the least. There will be some waste people trying to measure. How much waste is there? Actually, let's talk about the waste coming. 9. Costs: Where Are the Hidden Traps?: so last video. Maybe. I'm convinced you to go and move to the cloud. You think, Oh, my God. We're gonna save so much money, let's call the cloud provider and move it. Tomorrow, in this video, we're gonna talk more about reality about where those costs are and where they may not be what you should avoid and where they basically pitfalls and traps in terms of costs. And so or, as I call the cost savings, the big advantage. And here I'm gonna tell you about the disadvantages. So if I was to put up the slide again that showed you the costs of servers and typically two cents an hour, one cent an hour, 25 cents an hour for a production load, you might think that is just amazing. You are really toe, you know, pull a dollar bill out of your pocket and get some servers. Um, we look at storage. Storage is only two cents per gigabyte per month. And so all of that money that you're spending storing files on hard drives or backups in your environment, you might be immediately trying to think How do I move that stuff to the cloud But everything that you do has a little cost associated with it, right? So even to install the default as your backup software into Microsoft Azure v EMS, there's a $10 a month cost to run this backup facility. Want daily backups or hourly backups? Whatever. You put that into a storage account, that's you get charged for the storing of those files. And so now you're taking that $10 you're adding two cents or four since or get a bite to it , Everything that you need to do pretty much cost money. Very few of it is free. Okay, you need an I. P address that's going to cost you money. If you need to see the end services in front need cashing services, it's just money, money, money. That makes it very hard to actually calculate what your cost is gonna be in advance. So you might think, you know well, I need four servers and I need a load balancer earning and database those air sort of the big ticket items, But there is costs for data coming into the data center. I believe data going out is free, and data coming in has a cost. There is cost for storage. There's cost for pay for consumption services, the activities around those. So you can try to estimate the cost for a month. But I would find it very difficult to get it down to the penny in advance. Okay, Um, it's also what tends to happen, or what can happen is that you know, you spent up a server or you upgrade a server, you do something inadvertently and you don't realize it, and it takes you you You know, you log in several days later, and then you see that that number, the dollar sign, is bigger than you're expecting. Then you have to sort of panic a little bit, go backwards and say, What did I do? Why am I am I paying an extra several $100 a month more than I expected and try to find that server that shouldn't be running? Okay, It's also easy to make an expensive mistake. I'll tell you a story where I was recording a video, someone to this I had the reserved instances screen open on Microsoft Azure. I had the video recording I was practicing with. The calculator is calculating the cost of a server, and I thought I was hitting the calculate button and it actually changed into the buy button just before I hit Click and immediately it says, submitting requests. And there was no cancel. Immediately. I was there going, My goodness, I just submitted a request for a reserved instance and had no way to cancel it. At the moment that it happened, it basically was a $1500 server that I had purchased and then, of course, getting trying to get them to cancel it. I was a bit of an ordeal as well. But $1500 hit my credit card bill the end of that month, even though I caught the mistake a millisecond after making it. So I had to get the money back eventually. But it's easy to do stuff like this, and, you know, there might be things where you do it. You don't realize it, and there's really no recourse, right? They're not gonna give you your money back for you making a mistake when you don't catch it yourself. Also, one of the other traps with this is when you see the amount on that's being charged, try to figure out what services are costing you the most and what clients were using those I had a charge on in my Amazon AWS account and I was not expecting it. And so I log in, I try to find it. I kind of seed from the name of it, what it is, but I c zero servers running. I look into this to the instances tab and I see nothing. But I see a charge and so very, very complicated sometimes to go and track down where the money is being being taken. And perhaps this is sort of the most insidious trap. It's one that nobody really tells you about. I'm going to call it Scots Law. This is a little egotistical, I know. But over time, these mouse stories that you use will just increase, and every month never goes down. Every month, the amount of storage that you use goes up by whatever 10%. And so over the course of a year, you've doubled the amount of storage that you use. The course of two years. You've gone up four times. It becomes a project to try to figure out what's eating up all this storage. What can we delete toe? What can we you know? Do we even want to keep this stuff? Maybe there's backups that we don't need. You know, there's duplicate files, what applications? Air spitting out log files. So the thing that gets that gets people after years, I believe, is the way that storage grows and grows. And there's really no way of managing that easily. So in that respect, when you working in this perfect, this wonderful world of the cloud where everything is possible, it's a big factory of Lego, and you can do whatever you want that that's a freedom sometimes that allows you to cost yourself. Sometimes when you're provided with constraints, sometimes that brings out the creativity and you Sometimes you are forced to reduce your reduce your dreams in order to fit within certain constraints. And so that's a pretty it's pretty sad thing to say, I guess. But when it comes to something like this, everything you do is gonna cost you money and so giving. You don't want to give, like every person in your company, the ability to spend up servers any time that they want right, you need to put constraints on people. And so there is. There is also cost savings when it comes to the people, right? So it does require less people to manage more servers in a cloud environment than it does the same number people to manage servers, on premises or even within a hosted environment. So there's that that sort of benefit. So the T L d r. For this section, the things to watch out for when it comes to costs are you are going to get a large cost savings. Or you can potentially get a large cost savings if you move from self hosted or on premises to the cloud. But you do need to keep on top of it. It is not something that you close your eyes to. Just be happy for the cost savings and think it will never go up. You can use alerts and monitoring, set up thes things to allow you to be notified when costs are exceeding a particular expected amount. It is more difficult than it should be to find those resources that are costing you the most money. I think they are getting better at this over time, but it's still a bit of a game to try to find out where the money is being spent. They do need to provide more tools, and I think if there's one thing that I would keep an eye on, is the house storage tends to grow month after month, even if the application never changes, so keep an eye out for storage. 10. Tell Me About Time Savings: way talked about cost savings. But the other big advantage of the cloud is how you save time in so many different ways. So in this video, we're going to talk about time savings. Like if you need a server here, Here you go. Within five minutes, you can have a server running and you can get to work. So I'm gonna lay out this this dream or this. It's a real scenario to you. You have a developer, and that developer needs to test something real quick. He did. He has an idea. He can implement it in code. And he needs a server to deploy it to in a traditionally hosted environment. You know, there might be a couple of development servers or a couple of testing servers, but he needs to go to those people who are using those servers and say, Listen, I need to deploy something real quick. I want to do a little test. Do you mind not using that server for a couple hours? Let me have it. There's some coordination that goes on, and who knows what he's who's way he's getting into. Maybe they're about to do a big deployment and so no deployments allowed, etcetera. In the cloud environment, though, he can spend up a brand new server that contains the application in just a few minutes. It does not interfere with anyone else's work because it's a brand new server for him. He uploads his coat. He runs your testing sweet. He checks the results. He's able to prove or disprove that his code is more efficient than the old code. And the total cost in servers to you for that entire endeavor could be as low as 50 cents. Right? So you definitely spend 50 cents if that if a developer could make your coat a little bit more efficient. So the time savings. I'm gonna break this down into three different ways of saving time. Number one is when you decide you need a server. How long does it take you to get a server? This. It's a true true story. Okay, I worked at a company. They were in the summertime. We knew in July or June that we wanted to add a couple of servers to our Web farm before the holiday season because we knew our service will be under attack during the busy holiday period. We go to our vendor, the vendor comes back with a rather large estimate. We need to go to people to get that number signed off on. It wasn't something they necessarily budgeted for, but they have to go find the money, right? The head of finance falls out of his chair and actually injured his back. And basically, there's a lot of arguments, A lot of discussions. You really have to justify why the servers needed why There's money to be spent. Um, memories of last year's disaster around the servers going down and you finally get the approval. You go back to the vendor to say yes, signed off on Here's the signature and they still need 4 to 6 weeks to acquire the servers , go to Dell and then to install the software and get it up and running and add it to our farm. So it is a long, painful process. This is a true story, except for the injuring back part, but rest of it is absolutely true. Another example. A riel example working for the government Governments are always a little bit different, but they hired me to do migration. They had an application running on one server. They wanted me to move the application to another server, and they should barely being almost no work involved, other than moving the code, getting up and running, improving that it still working. And I'm not joking when it said it took them four months to get the approvals to get the servers. And finally we get to go ahead and I was there for four months without a server to work on , and they come up with a development server, and they say they need two more weeks to get Q. And then they need two more weeks to get production. So provisioning services a real problem across many organizations the other way that you get time savings. Besides, getting that server online is the productivity of staff. Imagine all the people from developers and two ways and I t stuff who work with your technology. You can empower them, right? You can basically say Here's a very limited set of circumstances, but you could go and creep provision server without asking for permission from anyone We have a Azure has a calling called Dev test laps, so we have a bank of 10 VMS that anyone can go and create when they need, and so they could go and do their jobs without asking any permission without filling out any forms. You can't. You can't even measure the fact that people can do their jobs without having to make requests, because how many requests don't get made Because the process of making the request renders the process renters the idea mute Basically the ideas Time savings Number three is in the project. Hillary. So you say you have servers and you want to get applications launched. So when you are designing these applications, when the cloud services have more than 1000 services to offer, and so it's not just a Windows machine or limits machine and you write the code, there are so many different, innovative new ways of AP, I said You can use database services, storage services, etcetera. It is quicker to create an application with less code. When you're relying on all of the AP eyes and pieces that the cloud provides, you get for any particular need that you have. Let's say you have a storage, a data storage need how maney data storage options, each of those cloud providers provide there. Are, you know, 68 10 different options for storing dated and not just that one option like here's a Here's an example from Microsoft Azure. So look at all of the sequel. Not even just sequel. The data storage options within Microsoft Azure. And so you can get a solution developed quicker because you can choose the right tool for the job. Don't have to choose a big database server when you only need a little bit of data to be stored. These cloud providers. We're gonna talk about this in a little bit, but there are new paradigms that are being developed, called cloud native etcetera, that basically allow you to do design software for the cloud differently than the traditional approach. So there are platform as a service. There are serverless options. You may have heard of Lambda. You may have heard of azure functions, etcetera. So there are new platforms on paradise being being introduced. That changed the way you designed suffer. So let's do the T L D R. Four time savings within within cloud applications. It is quicker A can be quicker to create a new instance of development so that developers can do development. There is also que a benefits. You can scale up to a bigger machine almost instantly scaled down to a smaller machine to save money almost instantly. Because of the number of options that provide, you can find the right tool for the job instead of being stuck with the tool. That may not be right for the job, and there are new app development paradigms that are now possible because of the club. 11. Time: Tips and Tricks for Saving Time: So in this lesson, we're gonna talk about the downsides to moving to the cloud when it comes to the time savings. So, first of all, it does take time to move to the cloud. If you're going the simplest way in the cheapest way that is called lift and shift, that is basically taking your existing database backing it up and restoring it in place into the cloud, taking your application, zipping them up, installing them to the cloud and changing the configuration, then that's a project that takes time. You're gonna want to do that. You're gonna want to test it. Make sure nothing breaks. All the configurations are updated. So there's the time investment in terms of just moving stuff to the cloud. But often times you may not want to just move to the cloud your existing application. In the same design, you may want to take advantage of some of the great benefits of the club, So money of these cloud platforms have a platform as a service model where things can be done as Web APS. They also have these server lis and micro services model. In terms of functions, Lambda Functions, Service, fabric etcetera. The more deeper you get into this, the more time it takes. And that's how you and lock a lot of the cost savings. When you want to move to a Cosmos Devi database or no sequel database from a single server database, there's an investment of time in that. Okay, so that's another thing of time. And as you go down this road, you have to watch out for lock in. Now this is that certain? Not necessarily a time savings trap, except if you're going to invest time in my grades, the cloud you do not want to then have to stop and change your mind. You know, do not want to be six months later and say, You know what? We chose the wrong vendor. This this vendor is not right for us. Let's go with the other one and you've invested all that time, and you're gonna have to lose a lot of that time investment. So as you're creating these projects, you may want to do it in a way that is more platform agnostic, or at least do the bits first that are getting your applications cleaned up and getting them designed properly. that can then translate into any other cloud platform. Finally, the last point I want to make about time is you know, we're all used to a having I t departments that are extremely responsive. So if the application goes down, you get it from your desk and you walk down the hall and you go talk to you go talk to Bob . And Bob is sitting there at his desk and you say something happened and, um, Bob, sit together and diagnose the problem. He brings up the servers and you've got the application knowledge until you look in the log files and together you solve it. Well, if you no longer have a bob or at least a person that functions in Bob's role, that you can then go to whose cocked that lower level access to the to the servers and you can just work together, then things are gonna be a bit different. And even if it's a Microsoft problem, let's see, you know, the applications are not as fast and as responsive as you'd expect. You open a support ticket and you, you know, wait the 24 hours from Microsoft to respond to you and then you have to get that escalated , etcetera. So just keep in mind that you do lose something when it comes to support, and I don't mean to dissuade you from doing that. It's just a different model, okay? And then you have to basically a lot of them. They give you a lot of tools to be self sufficient, and it might be in your best interest to have somebody who is an expert on the azure tools , the logging and the real time Stream Analytics and log in Alex so that you can investigate problems on your own. The tools that Microsoft provides our Amazon provides without having to rely on a support person. But in actual fact, that's that's kind of a role of a support person. So those are the times things that I wanted to talk about today. 12. Other Benefits Such as Availability and Scaling: So let's talk about other benefits to cloud computing besides cost and time. So, first of all, you've got security benefits. Now there is. This is sort of a double edged sword, to be honest, right when you put your stuff into the cloud, people have this conception that more available for hackers, that you're in the Internet and is more accessible. But that's a bit of a myth. You can set up your security in such a way that you're actually, uh, you know, protected from these hackers. Cloud providers, first of all, take their own security pretty seriously. So you're not going to hear a story about how Amazon aws got hacked because they are super serious about protecting the security of their own environments. They do give you a lot of tools to add and monitor security in your own application and services. Now you can't hurt. You know they can't stop you from hurting yourself. And so developers can still open security holes in their code accidentally, But there are actually threat detection models, and you can have security software that monitors your servers and your applications, scans for malicious activity and the security assessments, etcetera so they're actually making security tools much more common. Much more available then then has been in the past and part of their product. Part of their dashboards, etcetera are things like security advisers and things like that. There is also the incredible flexibility you get. So we talked about costs and time. But But what if you guys develop her or a business can have an idea for something you know , go through it extremely fast, create the code. You want to get it into clients as quickly as possible? Um, within 24 hours, you've got a brand new server with your brand new code running, and you can share with people you do not need to find a place for it. Do not need to beg. Borrow in steel computing resources from other projects or not harming your website by launching this contest, for example, at the same time, etcetera. So this flexibility to have an idea and being able to execute it within 24 hours is one of those benefits. There's this concept called availability. If you're not aware of it, it is basically what we used to call up time. It is the what percentage of the time is a computing service available for use 99% availability. Sounds pretty good, but is actually not that great. It is eight hours per month of downtime. He had 99.9%. Availability is a little bit better. Ah, lot of Cloud Services offer 99.9% availability. That is, 40 minutes a month of downtime, whether it's scheduled or accidental. Even better would be four nines, 99.99% availability. That is only four minutes a month of downtime. So the big benefit here is the cloud. Providers provide service level agreements for the virtual machines and for all of the services that they offer. And so you know what the availability is. Plus, you can also manage your own availability by taking advantage of load balancing by taking advantage of multi region deployments, etcetera, etcetera. So they give you the tools to increase availability of availability, something that you care about scalability. So it is basically the concept of being able to add and reduce computing power based on consumer demand, and so you can have an application running. And if there's a let's see your girl gets featured on the morning show. Then if people started going to your website automatically, additional servers will be added. Tomb fit demand. Okay, you can either use the built in tools that the cloud providers provide you or, if you are in, you know, when you want endeavor into that, you can create your own scripts, so its programmatic access you can have both the detection of increasing resources. Or you can know that the holiday season is approaching and we want to spin up from four servers to eight so you can have it scheduled in advance that this is when we start adding servers. Another concept that cloud providers do well at is business continuity and disaster recovery. These air often combined into B c D E R anagram, but that's recovery. Basically, it's just unavoidable part of life that sometimes entire data centers go down. So I think I can think back to year ago when in a W s data center went down in two years ago when Azure Data Center went down. So basically every two years, one of the big cloud providers will lose a single data center on. It's gonna happen to your data. Even if your self hosted, sometimes your data center will go down. And sometimes you know you can think back 10 years ago to big power outage in northeastern United States, and so entire sections of the country lose power for a night. So does happen every decade or two that there's big power outages in this world. And so if you design your app correctly, then you could detect when this happens and have a replica of your application in your databases running elsewhere in the world in under an hour. Right? So very is not very difficult to imagine that this could be detected within 10 or 15 minutes, and then the servers get spun up in the COA gets deployed within an hour, you're back up and running. That might seem like a long time to some people, but when you're talking about a once in a decade or once every couple of years event, it might be reasonable, and everyone might understand that this'll this happened. So these cloud providers do give you the ability to minimize the effects of these things which are really outside of our control. Finally, we should talk about all the cool technologies that these these companies air coming out with every year, every fall, the original release, new features and the one that catches a lot of people's eyes are around machine learning and artificial intelligence. So there are things such as chatbots, where it actually understands human language. You can enter into the chap part a question. What time does your store open tomorrow and it can pull out that you are asking for the hours of your retail store. There's translation AP I so you can do on the fly translation from one language to another transcriptions that audio can get turned into text, which can be used for other services. There are a eyes that recognize faces in pictures, so you upload a face and it can tell you that that is, You know this particular celebrity or not. It also recognize objects so it can tell which our cars and which are trees in which have benches in images. These are all services that you can incorporate into your programs that there are benefits of the cloud. Also, traditional machine learning is basically going through big corpus of data and detecting trends that humans are not able to detect, and then we'll predict you, basically with a model that is able to predict future behavior. So companies like Amazon that recommend products to you on the amazon dot com Web store or Netflix. These companies use machine learning to basically figure out what things you will like and increased sales on their storefront and that technology is available to you. So let's healed. Er, is that cost in time are not the only two benefits over traditionally hosted providers. You've got security availability, scalability, flexibility back up, you know, disaster recovery and machine learning and all these great features that are coming to the cloud and are there available now. So lots of great things coming that air not just constantly. 13. Designing for The Cloud: So let's talk about how working in a cloud computing environment can change the way you organize your project teams and, in fact, the way you organize your projects themselves. So when you're talking about moving from one way of doing something to another with these new tools, you always come new designs If we go back into the history of buildings when they moved from buildings being made out of concrete to having a steel frame that unlocked the skyscraper, the modern skyscraper where there's a lighter shell and then the windows and the outer frame of the building is just hanging from the steel frames, etcetera. So getting these new tools in their hands actually changes the way that we can design software. So when you got the cloud, you now have new options for designing software that you didn't have when you're running within your own data center. One key thing that comes out of this is that your project teams do not necessarily have to be Aziz Bigas. They are now. I don't know how you organize projects within your company, but if you have larger teams, you 10 or 12 or 15 people working on a team, you don't necessarily need to be organized that way anymore, right? The cloud architecture allows you to deploy programs in certain ways that allow you to them . Break your teams up. So instead of having one large team working on and you know that single bundle of code, then you can actually break it up into 45 teams working on smaller bundles of coat. Now, because the code is smaller, it actually is easier to run. Tasks into debug code becomes more stable, the smaller that it is, and it's also easier to deploy smaller packages of code. So if you have Onley application, that's only a few 100 lines of code. Then you've tested it pretty soundly, and then you run the deployment and there's very little disruption to end users. If you have applications that are in the millions of lines of code, then that's a multi hour process to compile a multi hour process to test and then you basically have to bring the website down to the application down while you're doing deployments. So smaller code leads to easier deployments, less downtime for users. That's always a great thing, and even with this deployment model. We now have the opportunity toe automate deployment so continuous integration, continuous deployments or, you know, software, automated deployments, where you've got scripts that are doing your deployments for you that, you know that's somewhat possible in the old stop. But it's even more possible of the cloud. Leave really given us the opportunity toe automate things when you're breaking projects up . If you got a big monolithic project and you decide to break it up into 25 smaller teams, you can actually free them to make technical decisions that are right for them, independent of the other teams. So it is, you know, emerging standard, if you will, for these what they called micro services for the team to choose. Software technology that really makes sense for what they're dealing with them. So if they're working on a small piece of code that has Onley a very tiny data requirement to it, they can do that in a no sequel database in a very lightweight, cheap way. And then another project can go and choose that full on sequel server database. Or how's your sequel database or rto Amazon RDS. So different project can have different solutions different languages. One can be a HTML JavaScript function. The other could be written in something else. So you can basically free up the teams to make decisions to choose the right tools for the job. That's great, because these these cloud environments have, like I said, hundreds of options, and you can mix and match things together. And so not tying your your developers and your teams down to these, you know, from high from above decisions can actually free up some creativity. So the tailed er for this is that when you're starting on a new project, then you may want to consider different options for designing for the cloud. So you may want to sit back and see. Do we want to do it this big, monolithic way, or do we want to split it up into smaller teams? Smaller code? The other thing that we want to do is give these teams some autonomy where they can decide to find the right tools for the job. There are gonna be new ways of storing data that we may not be using up till now, in new ways of running hope, 14. Cloud Jargon Buster: Cloud-Native Apps: So let's take a moment to talk war about cloud jargon. First jargon that I want to talk about is called a Cloud native. You may have heard you may even heard me mention this, but you may heard this elsewhere. Basically, cloud native deployment is this concept that instead of developing app, it's the way that you used to when servers were at your feet or servers were in the room behind you that you develop applications to take advantage of the new features provided by the cloud. So the cloud native way of development works in the platform as a service model of the software. As a service model, you let the cloud provider manager maintain the servers, and you take advantage of some of these smart ways when they're deprive dividing databases of service authentication as a service. Security is a service. All of these things were provided by services, and if you can get them to do it and you are not the one controlling that, that's a less coating for you and that that code is presumably more tested. And it's cheap too, Ron etcetera. So take advantage of those new options the old way you know, if you're using IBM hosting or things like that is, you would use a virtual machine in the cloud and provisional Virtual Machine building test on a local server package of the code and a zip file, and maybe you ftp it up for you. Get it there some way and you're basically treating our cloud server just like you would treat ah hosted server. So that's the old way of doing deployments on the Cloud native Way is you use containers, for instance, you can use as Azure sequel database or azure database for my sequel instead of installed sequel server or installed. My sequel use continuous integration continues delivery you have you design the application from scratch to be able to scale, so you know that there may be two or three or four or five of these things running at the same time. And so it uses. You know, it reads on the database intelligently, and it locks resources it needs, and things work in a scalable fashion by default. Okay, everything is redundant. You know that any time a virtual machine can get rebooted, Microsoft or Amazon could be rolling out updates to the platform. And so these designed to be to be able to recover from these crashes. Um, the next jargon we want talk about is called a server lis or serverless architecture. So this is a primitively new model of application development. It is based on a pay for consumption model, primarily. So you're gonna use, like, azure functions logic APS or AWS Lambda functions. If the APP doesn't run, then you don't get charged, and in fact, there could be some level of free. So I know with Microsoft, you get a 1,000,000 executions per month for free, so you can have a piece of code, and if it runs less than a 1,000,000 times a month, then you don't even get charged for it. So this is sort of a new model of serverless applications. They have consumption model databases, consumption, model queues, etcetera. So you can pay for things, not by the month, but by the execution. Then you don't worry about scaling. The vendor is responsible. So if you're function requires more servers than the vendor will spin up more servers. If your if your database requires more servers, it will actually charted intelligently and get your that your database running so that you get that level of performance? Um, the downside. Of course, being you don't get control of as many things as you did before. If you want to have instances, extra instances running of your function, well, you don't have that option, right? You unless you move to the outside of the service of model and go into the APP environment model. But in the service model, you don't get that control. The next jargon will talk about his micro services. So noses another cloud native way of developing applications. Micro Services model. Take it. It's sort of the opposite of developing large, monolithic applications. I was talking about this in the last video you, instead of developing a large massive application, millions of lines of code. You break up the application into smaller services, So instead of being one large application, you have like 10 or 15 or 20 connected services. If you think about the applications that your that you use on a daily basis, yeah, you know, it's hard to kind of tell sometimes when things have broken up. But if I look at something like Twitter or Facebook or one of these more modern, hugely scalable applications. That's not just one big bundle of coat right. Facebook is designed to be modular, and they can work on certain parts. Deploy certain parts without affecting the main facebook dot com application and so you can create your applications as large as you want them to be based on smaller salt, smaller services that were highly focused on one function. This way you can break up your team as well. So instead of having 20 or 50 people working on a single piece of code, you can have five or 10 teams instead. You know, in that situation, working on five or 10 pieces of, you know, blocks of code, and each of them only has one or two services that they're responsible for. They can make decisions independently. So the summer here is that cloud native is utilizing the benefits provided by the cloud. You're designing it from scratch with the knowledge of what the benefits of the cloud have and taking Evangelos benefits. So it's not just the way that you develop your code, but it's basically your entire the way you set up your projects in the way that you run your Dev ops, you do deployments how you store secrets. So, for instance, the old way would have you putting the secrets in the APP config file that gets deployed alongside the application. Or there's now services that will blend your application with with secret so that your developer doesn't need to know your secrets. But as you get into the new model, you can put your secrets into a secret vault and basically have your application called to the secret vault in order to get the secret. That way, your developers or anyone not off the rice has access to any receipt. So there's many of these features in the cloud, and you do Cloud Native, in order to take advantage of them from scratch, is trying to patch that on after the fact. 15. Security: Shared Responsibility Model: So let's talk about security in the cloud. This is sometimes referred to as the shared responsibility model. So basically, when you're thinking about your applications running in the cloud, who is responsible for security? Some people, when you ask them about securities, think that the cloud is just extremely secure. Those companies Microsoft, Google, Amazon are experts at this, and so it is inherently more secure to run your applications to the cloud, then to run your applications in your own company or in your own data center. Other people would say the opposite view that the cloud is just extremely insecure when you hear about security breaches that these companies are putting their stuff out there and it's like, Why are you even doing that? The truth is that cloud security is a shared responsibility between the cloud platform and your company. So depending on which service is used, there's going to be different security that comes with it and some, and you're going to be seeking taking on more or less responsibility when it comes to security. For instance, if you're to get a virtual machine, a company to provide you a Windows machine that looks and acts like a server, then anything you install on there is your responsibility. The operating system making sure the security patches are applied. You're basically taking on the traditional security role of somebody who owns a server, except for the securing of the network and the hardware and things like that. But of course, if you're using platform as a service Web apse, if you're using server listen and lambda functions and functions, then you don't have the responsibility operative system and you can't install software. But you have different responsibilities that are keys. There are access. You know there are ways that people can get access to your storage, etcetera. Amazon put out a Web page doing talking about the share responsibility model, and I grabbed this diagram from it. You can see that Amazon is taking the saying that they're responsible for the security of the cloud, and so they have hardware, security and there and of course, their data centers and the actual physical stuff that's that's running in the cloud There they're hyper visor, right? The AWS software. All that stuff is AWS is responsibility in the blue area. It says the customer is responsible in the cloud. So a debit responsible of the cloud and the customers responsible in the cloud that includes all your code, all your data, all your applications, your identity, any access management that you have, the way that you can generate keys and connection strengths and things like that. All of that stuff that runs in the cloud is your responsibility. I don't have to tell you that security is the issue of application developers and enterprises Thes days. I read a statistic recently that said that this spending within the security is far outpacing any other spending within i t. So if I t is an expense that's growing year after year, security is proportionally taking up a higher percentage of spending year after year. Que the growth in our to spending on security of paces all other I t. Growth And because of the things have happened last three or four years, companies are looking at security of their I T infrastructure as a really risk factor. Okay, this the importance of this is just growing. So let's talk about Amazon's responsibility and Microsoft responsibility. Google's responsibility, security of the cloud so the cloud vendor is responsible for their own security. They have their own data centers. They secure the physical servers, they secure the networks and the cabling, the all that stuff, the the operating system, images that exist in the marketplace, marketplace itself, the fabric itself. You know, they're hyper visor exceptions. So they're they're providing inherently secure platform. And to be totally honest, I have not heard of a security incident in my memory of Amazon or Microsoft or Google having their own systems. Ah, hacked when it comes to their cloud platforms, so they provide you a platform, and whatever they provide to you is their responsibility to secure. But that doesn't end where security ends. Okay, so security in the cloud that means you are responsible for the things that round talk applications data. When you're creating users and giving those users permissions, configuration, anything that you can control, you basically unlock or lock security and you're responsible for their So what you provide the platform is your responsibility. My recommendation is to establish policies or to review your existing policies when you're moving to the cloud is very easy. When you're working within a data center environment or your own premises environment by default, you're gonna have firewalls and a lot of things. They're gonna be blocked off to the world. You do not have the secretary ation that your sequel server is running on a open Internet, in fact, is probably behind two or three layers of firewalls. But when you're moving to the cloud, things become a bit more accessible. Suddenly, azure sequel databases are accessible by your oral virtual machines or sometimes accessible . Other things there are accessible. So you go in there and basically because of the nature, the cloud things become more accessible so you can establish policies you can basically see . Now we can get much more granular with employees access. We do not need to have everyone in the company with administrator access. What, what processes and procedures in place when employees leaves. Perhaps you need a script or something automated way that when an employee has this last day, a script kicks off a the end of that day and removes that's their access to their certain applications within the cloud. When you have applications running in the cloud, what user do you assign to them? Are they running with an administrative user? Hopefully not. Are they running with under a really user account? Hopefully not. What you want to do is create a specific user and allow the application to run as a service worker. How do you protect secrets? How do you have if you have access keys to outside systems and third party systems, Do the developers? No, this is in the code. Or do you put that into a secret spot? How do you protect data? Are you encrypting? Data at rest? Are you creating data inside the data tables? Are you backing up? And how do you restore And what do you do with the keys? How do you test for security? Are you running your own security audits? Do you have professionals involved in that? And finally, how do you ensure the environment doesn't change over time? So let's see. On January 1, you set yourself up your you got your applications all running on the cloud. Everyone's happy. Security signed off. What if you go back by July 1? Has anything changed? Have people gone in and switched off a security sitting. Have the added additional resources. Making sure your environment doesn't change is part of having policies. If we think back to the recent time periods, you've got some data breaches that involve and involved the cloud. I mean, there was a fairly famous one where or some companies had There s three bucket, which is the storage account for Amazon AWS accidentally turned to public. And so, even though these things have hidden names and you have to kind of guess what their name, there are scripts that go through checking force open buckets, and you can download the files in the open bucket and get some pretty private information if the buckets left open by default. So but what the's cloud providers have done is they've responded to these incidents with new tools and alerts within their applications. So AWS now warns you that you have open buckets, and when you go to create a bucket, if you go to set of public, it gives you a very hard warning to say, you know what this is? Implication is, when you're creating this bucket is public. And then when you are having public buckets, it actually warns you in the dashboard that some buckets in your account are open to the world, so warning messages alerts. When you're creating services, there are firewalls, things air, things, air closed by default. You can't just create a database anymore. Have open to the world. You actually have to manually go and open the fire. All parts to allow people from outside to access it. There are advisers. There's tool tips. When you go into the azure adviser, there's a security section, and they'll basically analyze what you have and what you do and basically give you some tips around that for the So the teal D r is that it's true that in any complex system there is going to be opportunity for sometime security hole or some type of bug. That's just the reality that we have to know that complex systems have these multiple vectors for attack. One of the cases security courses minimizing defectors for attack, putting the most stuff you can behind a firewall, basically shutting down anything that is not necessarily required to be open to the public . But the platforms themselves are actually getting better. There are mourning messages. They've got advisors. They're proactively checking your account regularly and telling you that you should take some steps because you have a security situation about security is a shared responsibility . The vendors are responsible to security of the platform, and you are responsible of security in the platform on Finally, it's worthwhile and you're doing your first club project to review your policies and take advantage of some of the automation. Make sure that your policies air our modern and that you're basically doing everything you can to ensure that you're not introducing security problems into your own applications. 16. Thanks for Watching!: Well, that's it. You watch the entire course, you made it to the end. Congratulations. And thank you so much for signing up for this course on cloud computing for business people . Now, now, we've reached the end of the course. Hopefully, you've gone through this entire course of me. Thought we talked about cloud computing. What it is the various jargon terms such as Private Cloud, Public Cloud. We talked about the benefits of cloud computing, the major cloud providers, these services that these cloud providers offer the differences between them. We talked about cost estimation. We talked about time, benefits, pitfalls and traps around that talked about security and migration. I hopefully recovered most of the major questions that you had about cloud computing. So once again, for the final time on to say thank you so much for signing for this course, and I look forward to talking to you again