Are you looking to build an amazing cloud computing career? Do you want to learn how
to design an architecture for the cloud? Well, if so, this video's for you.
Hi, my name is Michael Gibbs, and I'm the founder and CEO of Go Cloud Architects, and
we're an organization dedicated towards building high performance cloud computing careers.
I've been working in technology for well over 25 years, and I've been coaching and mentoring
others for two decades now.
Today we're going to talk about how to design a cloud architecture. And you may wonder why
I'm making this video. I have interviewed hundreds of amazing, incredibly smart people
in the last two months. These are highly intelligent, wonderful people, super motivated, that all
have multiple, multiple AWS, Azure, and GCP certifications.
But when I actually ask them to design a cloud architecture, most are lost. So the reason
we're creating this video is to help you get your first cloud architect job. See, there
is a massive difference between a cloud architect and a cloud engineer. And there is a huge
difference between AWS training and what you will actually do as a cloud architect. And
that's fine. You need AWS training to show that you know how to implement these things
on a cloud. And you need architecture training to learn how to build a cloud architecture.
So today, we're going to talk about cloud architecture training. Now, when you're bringing
your technology to the cloud, you really have two options, and they both have their advantages
and disadvantages. You basically have, lift and shift, and you have cloud native. Now,
lift and shift is by far the most common cloud migration in today's world. And it makes sense.
So in a lift and shift environment, you basically take what you have, and you just pick it up
and copy it to the appropriate service on the cloud. Works great, super easy to do,
it's fast, for the most part it doesn't require any reconfiguration of your applications,
and you have complete control. If you pop your services in AWS and AWS doesn't work
out for you, no big deal. You can bring them back to your data center or you can send it
to Azure or GCP.
That's why people love the lift and shift. It's super flexible, doesn't require any refactoring
of your applications. Now, having said that, there are optimizations that can be done on
the cloud if you were to go to cloud native in, say, serverless environments. Now, the
downside of doing cloud native is, once you refactor your applications, and they all have
to be recoded and refactored, and that can get very expensive to move them to cloud.
And once they're on the cloud, now you're stuck with that cloud provider, which means
you may gain some benefits, but if it's not working out for you, you are stuck. And that's
the trepidation around the serverless and the cloud native applications.
But it's worse than that. We've all dealt with a phone company, a cable company, where
they give us promotional pricing and then some day they choose to raise our rates. And
once you go cloud native and you put everything in a cloud provider and they choose to raise
their rates, there's nothing you can do about it. And the reason there's nothing you can
do about it, is it might cost millions of dollars just to refactor your applications
and reconfigure them, and it might take you month, after month, after month to do it.
So you've got your two options, cloud native, which offers some advantages, but also disadvantages,
and lift and shift which is the most common. Since lift and shift is by far the most common
type of migration to the cloud today, that's what we're going to discuss.
Now, it's common for people like me to work for a a migration that will have 10,000 remote
locations, thousands upon thousands of servers, containers everywhere, petabytes of storage,
and all of this is going to take some really deep data center and network knowledge. Remember,
the cloud is nothing more than a network or data center, regardless of how complicated
anybody makes it, or how complicated or fancy the terms they use. It's just a network and
a data center.
So, let's say, for example, and this is a super, super, super basic architecture, but
let's just work with it for right now. Let's say you have an organization that basically
needs a high security, three tier web app. And basically they're looking for 10 web servers,
10 app servers, and a MySQL database. And the database needs to be optimized with read
replicas and caching.
So, how would you do this? Well, I told you you have 10 web servers, 10 app servers, and
a MySQL database. And in order to be using more than one web server, we've got to be
using a load balancer. So, we need to think about load balancers that we're going to use
for the web tier and the app tier. But we also, I told you that there are 10 servers
for the web tier and 10 servers for the app tier. But I didn't tell you anything about
those servers. So the next thing you need to figure out is, what are these servers?
So if I were to tell you, for example, that the web servers have 16 cores and 128 gigs
of RAM, and the app servers have 32 cores and 256 gigs of RAM, now you know what to
do. So, for your web servers, basically you know you need a load balancer, so you're going
to pick a load balancer. And you know you need servers that are going to match 16 cores
and 128 gigs of RAM.
So what are you going to do? You're going to go to the AWS page, you're going to find
an EC2 instance, it's going to be your web servers. 16 cores and 128 gigs of RAM. You're
going to map that as close as possible. What are you going to do for your app servers?
You're going to do the same thing. You're going to look for something that has 32 cores
and 256 gigs of RAM. Find that, and those are the EC2 instances that you would use for
your app carrier.
Well, what if you were on Google? So you'd use Google Compute Engine instead of the AWS
EC2. It's really no different, it's all the same technology with all the providers. You're
just picking a virtual machine. Now, if the database is running on a server that's got
128 cores and four terabytes RAM, and it's running on a system that's got 10 million
IOPS, which is very common for bare metal server that needs to do high performance environment,
how are you going to do that on the cloud?
Well, first thing you're going to do is, you're going to look for a compute instance that
comes as close as possible to 128 cores and four terabytes of RAM. No big deal, you found
it. Now, the next challenge is going to be, how are you going to get 10 million IOPS on
the cloud? Well, first, do you need 10 million IOPS? The answer is probably not. But if you
do, no big deal. You take the provision IOPS [inaudible 00:05:57], or the fastest [inaudible
00:05:58] you can get, you maximize whatever the best IOPS that you can get, and then you
can configure these drives in a rate array until you get to the speed that you need.
That's how you build a cloud computing architecture. Basically, for lift and shift you map the
web servers, you map the app servers, you map the database servers. Now, I had mentioned,
when we were dealing with MySQL we had a read replica. So what are you doing to do? You're
going to look at the capacity of the read replicas, and you're going to take those same
capacity and they're going to be your read replica instances, identical to what you used
in the data center. And if you had a cache fire to the data sets, you're going to use
a cache in the AWS or the GCP environment. For AWS, just pick the same ElastiCache type
that you were using in your data center. And now you had to migrate them.
Now, I did say that that is the lift and shift for the servers. But we also talked about
the need for a high security environment. So let's talk about what that high security
of [inaudible 00:06:49]. I said we have a simple web application that needs high security.
So how do you build high security? First you look at the layers necessary of security to
give you what you need. At the edge or the perimeter of your network you use a firewall.
A firewall protects the edge of your network.
So, in AWS, for example, you can use an industrial grade firewall if you need something significant,
like something from Cisco, Palo Alto, Fortinet, Check Point. You can get that from the marketplace
and run it straight on an EC2 instance. Or you could use WEF. It's your choice as the
architect. You pick the kind of firewall you need.
If you've got a web app that really matters, you probably want to use some type of intrusion
detection, intrusion prevention. Again, you can get that from the marketplace, place that
in your VPC and use that to protect your servers. Now, how about DDoS protection? Of course,
there's options out there, or you could just use AWS Shield.
So we've pretty much locked down the perimeter of the network, we've put a police officer,
solider, effectively, in terms of the network-based IDS IPS is going to stop attacks when they
occur. We've added some shield for DDoS protection, but that's not enough. We really want it to
secure. So we're going to keep the traffic out of the subnet with an ACL. But in AWS
we'll call it a network ACL. And then we're going to further protect the host with what's
called the host-based firewall with an AWS term is actually a security group.
Then we'll set up IAM, which, if it's active directory previously, we'll just use the same
active directory and federate it. And there you go. We matched our virtual machines in
the data center to the virtual machines in the cloud. Poof, we've got it up and running.
We took a high security environment from the data center, we matched it to the same high
security environment and the cloud. Poof, we've got that running.
So, a lift and shift is basically taking your systems that are in your data center and virtualizing
them and just put them to the cloud. That's it. It's not that complicated. So when it
really comes to building the perfect cloud architect career, focus on what matters most.
Focus on architecture, because that's what cloud architects do. They meet with customers,
they find business, legal, and technical requirements, and they design a solution.
So know how everything works, know how to take your original components and them translate
them to the cloud, and it doesn't matter which cloud computing environment you'll work with,
it'll work anywhere. Swap out DynamoDB for Google Cloud Bigtable. It doesn't matter.
You could use Apache Cassandra in your data center and DynamoDB. We're all talking NoSQL
databases. It's all the same. Don't make it complicated. Take what you have, map it to
your goal, and there you go. You have it. That's how you design a cloud architecture.
Let me tell you about some free services we provide for the cloud architect community.
On Monday and Thursday every week we have a free "how to get your first cloud architect
job" webinar. And we teach you what to do to get hired, because we know what it's like
when you don't know what to do for your first cloud architect job. So we have these free
webinars twice. We tell you what should be on your resume, what type of certifications
you have, what hiring managers desire, how to do a perfect interview. And we do this
free, and we do it twice per week. Highly recommend you join the "how to get your first
cloud architect job" webinar on Mondays and Thursdays.
Now on every Tuesday we have a technology webinar, and we talk about how to get real
life, real world cloud architect experience, so you can get hired. We do that every Tuesday.
Most Wednesdays, but not every Wednesday, we have a YouTube Live where you basically
bring us any cloud architect career questions and we will answer them real time. We are
also introducing the Ask Cloud Mike, I will leave my email address in the description
below. If you've got any cloud computing career questions, send me an email and I will do
my best to make a YouTube video for you within the next week.
We can't, obviously, service all, and many of the questions are going to be similar,
but we'll do everything we can to really help you meet your cloud architect career goals.
We also have a free AWS certified solution architect ebook. I'll leave the link in the
description below, and we have a free online AWS certified solution architect training
program. Again, I'll leave the link in the description below.
Our team is authoring and will be releasing an AWS advanced security and an AWS advanced
networking book for the certification exams. We will be releasing them completely free,
I will leave the links for the preregistration below. We'll be releasing them in approximately
eight weeks.
It's been an honor and a privilege to be able to talk about cloud architecture with you
all. I'm so honored and thankful to be part of this community. If there's any way that
I can help any of you in your careers, please let us know in the comments section below.
Thank you so much, and I can't wait to see you on the next video.