Tag Archive for AWS

AWS Certified Developer Associate (CDA) Exam Study Guide and Materials

Following on from my previous AWS exam experience post for the AWS Certified Developer Associate (CDA) exam from Amazon, the following describes the study materials I used towards the exam.

As a reminder, this is my second AWS exam, having completed the AWS Certified Solution Architect Associate exam earlier this year. As such the materials I used to study towards the AWS Certified Developer Associate exam are more sparse, due to the level of knowledge I already have.

For a really full picture of all of the materials I’ve used over the last 12 months, I highly recommend you check out the Certified Solution Architect Associate exam experience and the Certified Solution Architect Associate study guides, along with a number of tips, tricks and gotchas I have posted over the past few months. I also did a podcast recently with Scott Lowe on the subject of learning AWS. If you are new to AWS, I highly recommend you check it out!

AWS Certified Developer Associate CDA Full Stack Journey

Study Materials

Whilst studying for the exam, I used the following study materials:

  • Exam Blueprint
    • This is always the go-to document for almost any current industry certification, and should be used as your primary guide for resources and areas to study. In the case of the AWS Exam Blueprint, they actually direct you to specific white papers to review as well as the content areas to study.
    • AWS CDA Exam Blueprint
  • ACloud.Guru AWS Certified Developer Associate training course.
    • As with the CSA course, the quality of the production (especially as Ryan and co are a small startup) is excellent. Remember that as Ryan says, they are focussed on teaching you the knowledge to pass the exam, not teaching you everything in AWS. There is no substitute for labbing and working with AWS day to day to become an expert, but you can certainly pass the exam based on this course! This might then help you get your first AWS job and gain the experience you need to be a real Cloud Guru! 🙂
    • The course has around about 10-12 hours or so of content, but I would say it took me 15-20 hours in total between all of the lab work, coming up with my own scenarios to practice configuring different elements, completing the quizzes, and researching any areas where I got a quiz answer incorrect or wasn’t sure of the reasons for a specific answer. Ryan also speaks quite slowly and very clearly, so I find that watching it at 1.5x speed or above can help get through the videos on the areas you know well already. Remember to slow it back down for new content areas of course!
  • QA Architecting on AWS & Advanced Architecting on AWS compressed training course
    • Myself and a number of colleagues completed both of the 3 day architecting courses (standard and advanced) in a rather intense, but very informative 5 day week! This was an awesome course, and really helped my gain breadth and depth of knowledge, but I would not say it was critical to passing the Developer exam itself.
  • White Papers
  • AWS CSA Official Practice Exam and Sample Exam Questions
    • I would say this is a good indicator of the level of difficulty of the actual exam.
    • Sample AWS CDA Exam
  • FAQs
  • Other Articles and Resources – The AWS documentation site is an absolute goldmine of information, and most of the articles are well written and easy to consume. Significantly more so than some of the best known “kb” and documentation sites in the industry IMHO. The following is a list of some of the articles I dipped in and out of while researching for the exam as well as my AWS Tips and Gotchas blog series:
  • And finally…
    • I say this about every single exam I have ever taken – lab it, lab it lab it! It is a million times easier to answer a question based on something you have actually done yourself! Don’t try to just learn the theory, spend a bit of time doing it in practice and you will reap the benefits in both the exam and real life!pass
Want to Learn More?

Don’t forget to check out my other AWS articles tips here:

Index of Tekhead.it Blog Posts on Amazon AWS

Scale-Out. Distributed. Whatever the Name, it’s the Future of Computing

Scale Out

We are currently living in the fastest period of innovation in the technology space which there has probably ever been. New companies spring up every week with new ideas, some good, some bad, some just plain awesome and unexpected!

One of the most common trends I have seen in this however was described in a book I read recently, “The Second Machine Age” by Erik Brynjolfsson & Andrew McAfee. This trend is that the majority of new ideas are (more often than not) unique recombinations of old ones.

Take for example the iPhone. It was not the first smart phone. It was not the first mobile phone, the first touch screen, or the first device to run installable apps. However, Apple recombined an existing set of technologies into a very compelling product.

We also reached a point a while back where clock speeds of CPUs are no longer increasing, and even CPUs are scaling horizontally. Workloads are therefore typically being designed to scale horizontally instead of vertically, taking advantage of the increased compute resources available whilst avoid being locked to vertically scaling clock speeds.

Finally, another trend we have seen in the industry of late is inexpensive and low power CPUs from ARM, being used in all sorts of weird and wonderful places; often providing solutions to problems we didn’t even know we had. Up until now, their place has generally been confined outside of the data centre. I am, however, aware of a number of companies now working on bringing them to the enterprise in a big way!

So, in this context of recombination, imagine then if you could provide a scale-out storage architecture where every single spindle had its own compute directly attached. Then combine many of these “nano-servers” together in a scale-out JBOD form factor on subscription pricing, all managed from a Meraki-style cloud portal… well that’s exactly what Igneous Systems have designed!

Igneous Systems Nano-Servers

One of the coolest things about scaling out like this, is that instead of a small number of large fault domains based around controllers, you actually end up with many tiny fault domains instead. The loss of any one controller or drive is basically negligible within the system and replacements can be sorted at the convenience of the administrators, rather than panicking about replacement of components asap. Igneous claim that you can also scale fairly linearly, avoiding the traditional bottlenecks of a dual controller (or similar) system. It will be interesting to see some performance benchmarks as they become available!

It’s still early days, so they are doing code deployments at some pretty high rates, around every 2 weeks, and to be honest I think there is a bit of work to be done around clarity of their SLAs, but in general it looks like a very interesting platform, particularly when pricing is claimed to be as low as half the price of Amazon S3.

Now as you might expect from a massively distributed solution, the entry point is not small, typically procured in 212TiB chunks, so don’t expect to use it for your SMB home drives! If however you have petabyte-scale data volumes and are looking for an on-prem(ises!) S3 compatible datastore, then its certainly worth looking at Igneous.

The future in the scale-out space is certainly bright, now if only I could get people to refactor their single-threaded applications!… 🙂

Further Info

You can catch the full Igneous session at the link below – it certainly was unexpected and interesting, for sure!

Igneous Systems Presents at Tech Field Day 12

Further Reading

Some of the other TFD delegates had their own takes on the presentation we saw. Check them out here:

Disclaimer: My flights, accommodation, meals, etc at Tech Field Day 12 were provided by Tech Field Day, but there was no expectation or request for me to write about any of the vendors products or services.

AWS Certified Developer Associate (CDA) Exam Experience & Tips

The information bellow covers my experience for the AWS Certified Developer Associate (CDA) exam from Amazon. Following this I will post a list of my study materials, so keep checking back for updates or check out my Index of AWS Posts.

Before you continue reading, I would first just say that this is my second AWS exam, having completed the AWS Certified Solution Architect Associate exam earlier this year. As such the materials I used to study towards the exam are more sparse, due to the level of knowledge I already have.

For a really full picture of all of the materials I’ve used over the last 12 months, I highly recommend you check out the Certified Solution Architect Associate exam experience and the Certified Solution Architect Associate study guides, along with a number of tips, tricks and gotchas I have posted over the past few months. I also did a podcast recently with Scott Lowe on the subject of learning AWS. If you are new to AWS, I highly recommend you check it out!

AWS Certified Developer Associate CDA Full Stack Journey

Certified Developer Associate Exam Experience

My personal experience of the AWS Certified Developer Associate exam was that it was quite a bit easier than the Solution Architect Associate exam. Now, I don’t know whether this is more because I have been doing quite a bit of AWS work, as well as writing about it quite a bit in the months since I passed the CSA, or if this was down to the exam being genuinely easier. Most likely a combination of the two, as many people seem to rate the three exams as Developer, Solutions Architect, then SysOps Associate in increasing difficulty.

Either way the exam itself was actually very reasonable if you have any experience working with AWS. The way that AWS seem to structure their exams, is with some general questions across their portfolio, then specific technologies taking precedence in each. The developer exam was no different; there is definitely a distinct bias towards DynamoDB, S3, SQS and authentication. All the things which AWS Developers are likely to use when building distributed and highly scalable applications of course!

It is worth noting that AWS do not expect you to be a developer to pass the exam. You don’t need to know how to code in any language or similar. It would be useful for you to understand the basic format of JSON, but again this isn’t critical to pass the exam. If you want to work hands on with any of the AWS tooling in real life however, this is pretty critical!

The exam itself is 80 minutes and 55 questions. Again AWS (as is their way) do some odd things like not giving you a passing grade requirement, but it’s generally safe to assume that if you get 70% or more, in the Certified Developer Associate exam then you will pass. The Kryterion exam environment is frankly a little poor / dated, but I already wrote about that in the CSA guide here, so I won’t repeat myself again! Suffice to say, read the other article for a detailed overview.

There’s not a huge amount of advice I can give regarding the exam itself, other than if you are stuck, go with your gut. Believe it or not, the most obvious answer is often the actual answer! Don’t second guess yourself and say “No way it couldn’t be that simple!”.AWS Certified Developer Associate CDA Gut Feeling

Things like the specific API syntax used by AWS is generally quite logical, however there are a few weird things! For example, the read commands GetItem and BatchGetItem match syntax with eachother and are logical, but the write equivalents, PutItem and BatchWriteItem, do not! Knowing these types of little weird things can potentially help you come exam time so make sure you memorise some of the more common API calls.

It is also very worthwhile practicing your DynamoDB maths, as AWS expect you to be able to do this in your head. Memorising and practicing Ryan’s simple method really helped me to get my head around it.

Finally, if there is one thing I recommend you read, it’s the DynamoDB FAQ. This is a goldmine of information that will stand you in good stead for both the exam, and developing solutions on AWS!

Best of luck, and if you found this article useful, please leave a comment below! 🙂

Want to Learn More?

For part 2 of this article, the AWS Certified Developer Associate exam study guide and materials, see here:

AWS Certified Developer Associate (CDA) Exam Study Guide and Materials

Amazon AWS Tips and Gotchas – Part 10 – EFS (Elastic File System)

Continuing in this series of blog posts taking a bit of a “warts and all” view of a few Amazon AWS features, below are a handful more tips and gotchas when designing and implementing solutions on Amazon AWS. This week, we talk about the latest feature of AWS, EFS (aka Elastic File System).

For the first post in this series with a bit of background on where it all originated from, see here:
Amazon #AWS Tips and Gotchas – Part 1

For more posts in this series, see here:
Index of AWS Tips and Gotchas

20. Amazon AWS Tips and Gotchas – Part 10 – EFS (Elastic File System)

A big challenge when designing highly available web infrastructures is historically how to provide a centralised content store for static content without wasting resources.

A classic model for this is a pair of web / file servers with either rsync or Gluster to replicate the content between them. In Windows world, this would be something like either a WSFC (failover cluster) or perhaps something evil like a DFS replicated share. This means that not only are you wasting money on multiple virtual machines / instances just to serve file content, but you also add significant risk and complexity in the replication and failover between these machines.

Enter, AWS EFS!AWS EFSAt a simple level, EFS is basically an NFS (v4.1) share within the AWS cloud, which is replicated across all AZs in any one region. No need for managing and replicating between instances, or indeed paying for EC2 instances just to create file shares! Great!

As this is still a relatively immature product, there are still a few “features” to be aware of:

  1. There is no native EFS backup solution (yet!). I’m sure this will come very soon. As we have Re:invent coming up, it wouldn’t surprise me if something came out then. In the meantime, your main methods would be either to use Data Pipeline to backup to another EFS store or potentially mount EFS and backup through an EC2 instance using your own tools or scripts. I would be concerned about backing up EFS to EFS (if in the same region), as this is putting all your eggs in one basket. Hopefully, AWS will provide other target options in the future.
  2. There is no native encryption of EFS data as yet. If you need this right now, you could achieve it by simply pre-encrypting the data in your application first, before it is written to EFS. Alternatively, just hold your breath as AWS have already stated that:
    “Amazon EFS does not currently provide the option to encrypt data at rest, but we will offer this option soon”.AWS EFS Meme
  3. If you have less than about 100GB, then due to the way the performance burst credits work you may not get the performance you need. The more you buy, the more performance you get, so don’t short change your app for the sake of a few dollars!

    “Amazon EFS uses a credit system to determine when file systems can burst. Each file system earns credits over time at a baseline rate that is determined by the size of the file system, and uses credits whenever it reads or writes data”
    .

    In early testing, it has been seen that very small filesystems can lead to IO starvation and performance issues. I would recommend you start with 100GB as a minimum (subject to your workload requirements of course!). This is still pretty cheap at only about $30-33 a month; a lot less than even a pair of EC2 instances, never mind the complexity reduction benefits. KISS!

    Of course, the more caching you can do on that content, e.g. using CloudFront as a CDN, the lower the IO requirements on your EFS store.

    For more info on performance see here:
    Amazon EFS Performance

    kiss - Keep it simple stupid EFS

  4. And finally… being NFS based, this is obviously primarily aimed at Linux solutions. It would be nice to think that AWS will release an SMB version in the future… we can but hope!

Thanks to my learned colleague Tom Ellis for the tip! As he says, “The size needs to be determined by the throughput needs, and not the storage capacity needs. “

Find more posts in this series here:
Index of AWS Tips and Gotchas

%d bloggers like this: