While many enterprises have overcome migration fears, plenty of hurdles still exist to put an effective cloud infrastructure in place. Businesses need to determine compliance needs, which workflows will move to the cloud and which cloud providers they'll choose -- and that's all before learning the technology offered by the cloud provider they select.
Andreas and Michael Wittig are software developers and cloud architects at Lichtenwald, Germany-based Widdix, which implements front-end and back-end systems for businesses. The Wittigs, both certified Amazon Web Services (AWS) solutions architects, wrote Amazon Web Services in Action, a book that helps IT professionals who are getting started with AWS, including computing, storing data and networking in Amazon's cloud.
Here, Andreas Wittig answers questions about common mistakes enterprises make with AWS, and offers some tips to ensure a highly available cloud environment.
What elements of the public cloud are the most difficult for traditional IT professionals to understand when getting started with AWS?
Andreas Wittig: The important part to understand is that AWS is a very fluid infrastructure. So that means if you're using AWS, the way you manage infrastructure has to become more agile. You will replace resources like virtual machines or storage back ends very often. That's something people have to understand when they start working with public clouds.
For example, a static IP address or server is nothing you would work [with] if you're using a public cloud provider. Things are becoming very agile; to be able to manage these environments, you have to automate your infrastructure. That's something we focus on very heavily in our book: Automate your infrastructure, so you can handle the cloud and its agile environment.
You attempt to visualize much of what AWS explains in its documentation for its products. Do you find the AWS documentation to be cumbersome or limited?
Wittig: I've never seen better documentation for services or products like AWS offers. The documentation is very good. Also, if you find a mistake in the documentation and report it to AWS, they will fix it in minutes. They really care about their documentation, and the documentation is a really useful resource for developers. The problem with the documentation for us is that it gets difficult if you want to start, because you don't know where to read first and what the important parts are.
There are four chapters on storing data in AWS. When getting started with AWS, what data migration issues do enterprises encounter?
Wittig: First of all, using storage services from AWS is very powerful, because you can achieve a stateless server -- that means you can outsource the data of your infrastructure to AWS, and it makes it really easy to build scalable and highly available infrastructure.
There are different AWS services. For example, RDS [Amazon Relational Database Service] offers multiple SQL databases, and it's very easy to migrate databases from on-premises setups and environments to AWS -- if you just have to migrate a SQL database like Oracle, MySQL, [or] Postgre database. EBS [Elastic Block Store], which is very similar if you're using NAS [network-attached storage] or some system to store data on block storage with a file system, is also easy to migrate.
The other two, S3 [Simple Storage Service] and DynamoDB, are a little bit trickier. To use them, customers have to rewrite their software, because often there is no support for these services out of the box. This means you have to put a lot of work into getting these two services to work.
In your consulting business, do clients typically come to you after trying to set up an AWS environment and failing in some way?
Wittig: There are clients that are a little bit scared about the cloud and AWS, so they come before they start projects. Of course, we try to explain what's happening there and how things work; [we] try to get them over their fears so they can start using AWS. For projects where a team already started to use AWS, we come in and try to explain which parts of AWS can be used more efficiently. A lot of questions are about how to secure their setups.
You build fault-tolerant, scalable cloud infrastructures for your clients. What are the most common mistakes enterprises make in those areas?
Wittig: It's very important that you decouple different parts of your system, so that you're able to fail over if one of your services fails when everything is bundled into a monolithic application. What we're trying to achieve is to build microservices, where there are different services talking to each other. [The applications] can handle the failure of one service and maybe not answer requests with every detail, but still answer them to serve the customer's needs. Decoupling your software and sliding it into smaller bits to be able to build a fault-tolerant and highly available system is one of the most important things.
SearchAWS readers interested in purchasing Amazon Web Services in Action will receive a 40% discount by entering the code "wittig4iq" at checkout.
Start up your cloud with an AWS account
Adopt Amazon in your private cloud
Q&A with Brian Matsubara of AWS